From 1f59322f52df04d39175f7681ea866d7dca30b53 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Fri, 12 Jun 2026 22:45:45 +0900 Subject: [PATCH] =?UTF-8?q?docs(rel-006/bat-026~036):=20confirm-release=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=20=EB=B0=98=EC=98=81=20=E2=80=94=20released?= =?UTF-8?q?=20=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit REL-006 confirm-release 스킬 실행 결과 BAT-026~036 상태를 released로 갱신하고 rel-006 배포 근거를 보완한 변경 사항을 커밋. Co-Authored-By: Claude Sonnet 4.6 --- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../bat-031_20260610_position-sizing/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- docs/batches/index.md | 22 +++---- ...1_asset-centric-sizing-execution-policy.md | 58 +++++++++++-------- 13 files changed, 57 insertions(+), 45 deletions(-) diff --git a/docs/batches/bat-026_20260609_config-dir-env-and-config-path/index.md b/docs/batches/bat-026_20260609_config-dir-env-and-config-path/index.md index 34043b1..e61e562 100644 --- a/docs/batches/bat-026_20260609_config-dir-env-and-config-path/index.md +++ b/docs/batches/bat-026_20260609_config-dir-env-and-config-path/index.md @@ -1,6 +1,6 @@ # BAT-026: config 디렉터리 기반 설정 관리 — `--config-path`/`--env-file` + config-dir `.env` 공용화 (trex-orb-v1 정합) -- Status: release-candidate +- Status: released - Profile: batch-lite - Source Discovery: 없음 (trex-orb-v1 설정 관리 정합 — change-req 주도) - Included REQ: REQ-048 (CHG-20260609-01), REQ-010 (CHG-20260609-01) diff --git a/docs/batches/bat-027_20260610_asset-permanent-slot-foundation/index.md b/docs/batches/bat-027_20260610_asset-permanent-slot-foundation/index.md index f6bdb75..dbcf7c4 100644 --- a/docs/batches/bat-027_20260610_asset-permanent-slot-foundation/index.md +++ b/docs/batches/bat-027_20260610_asset-permanent-slot-foundation/index.md @@ -1,6 +1,6 @@ # BAT-027: 자산 영구 슬롯 토대 — 스키마 + 상태머신 재정의 (dcy-020 BAT-α) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-020 - Included REQ: REQ-056 (영구 슬롯 스키마+마이그레이션), REQ-057 (상태머신 재정의 + 인스턴스 스코프 advisory lock) diff --git a/docs/batches/bat-028_20260610_universe-reconcile-and-active-admission/index.md b/docs/batches/bat-028_20260610_universe-reconcile-and-active-admission/index.md index 1bd1fcd..be11ace 100644 --- a/docs/batches/bat-028_20260610_universe-reconcile-and-active-admission/index.md +++ b/docs/batches/bat-028_20260610_universe-reconcile-and-active-admission/index.md @@ -1,6 +1,6 @@ # BAT-028: universe reconcile + 활성 capacity admission (dcy-020 BAT-β) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-020 - Included REQ: REQ-058 (universe reconcile lifecycle), REQ-059 (활성 capacity admission FCFS·M·over-cap), REQ-060 (max_active_slots per-instance TOML) diff --git a/docs/batches/bat-029_20260610_asset-keyed-intent-and-divergence/index.md b/docs/batches/bat-029_20260610_asset-keyed-intent-and-divergence/index.md index 823a98a..81948f3 100644 --- a/docs/batches/bat-029_20260610_asset-keyed-intent-and-divergence/index.md +++ b/docs/batches/bat-029_20260610_asset-keyed-intent-and-divergence/index.md @@ -1,6 +1,6 @@ # BAT-029: intent 자산 키 + 수량/불일치 해소 + 운영자 단일 뷰 (dcy-020 BAT-γ) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-020 - Included REQ: REQ-061 (intent 자산 키 통일), REQ-062 (수량 hub 정본+미러·불일치 해소), REQ-063 (운영자 slots 단일 뷰) diff --git a/docs/batches/bat-030_20260610_asset-centric-cutover/index.md b/docs/batches/bat-030_20260610_asset-centric-cutover/index.md index 20ed33d..d597285 100644 --- a/docs/batches/bat-030_20260610_asset-centric-cutover/index.md +++ b/docs/batches/bat-030_20260610_asset-centric-cutover/index.md @@ -1,6 +1,6 @@ # BAT-030: 자산 중심 cutover — 라이브 전환·집행 정본·모델 완성 (dcy-020 BAT-δ) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-020 - Included REQ: REQ-064 (풀→영구 cutover), REQ-062 (잔여: 청산 수량 브로커 정본), REQ-056/057/065 (잔여: entry_count/trading_date drop·literal inactive·baseline 마감) diff --git a/docs/batches/bat-031_20260610_position-sizing/index.md b/docs/batches/bat-031_20260610_position-sizing/index.md index 22b4c09..1c20159 100644 --- a/docs/batches/bat-031_20260610_position-sizing/index.md +++ b/docs/batches/bat-031_20260610_position-sizing/index.md @@ -1,6 +1,6 @@ # BAT-031: 보유 자산 포지션 사이징 (dcy-021) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-021 - Included REQ: REQ-066 (사이징 도메인·end-to-end), REQ-067 (baseline 정합), REQ-057 (CHG-03 상태머신 holding→pending_buy), REQ-061 (CHG-04 사이징 intent), REQ-062 (CHG-03 부분 매도 집행) diff --git a/docs/batches/bat-032_20260610_execution-policy/index.md b/docs/batches/bat-032_20260610_execution-policy/index.md index 4d02016..9623e23 100644 --- a/docs/batches/bat-032_20260610_execution-policy/index.md +++ b/docs/batches/bat-032_20260610_execution-policy/index.md @@ -1,6 +1,6 @@ # BAT-032: 주문 실행 정책 — timeout·slippage·운영자 cancel (dcy-022) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-022 - Included REQ: REQ-068 (실행 정책 계약), REQ-069 (timeout 집행·race), REQ-070 (slippage dispatch), REQ-071 (운영자 cancel 백스톱), REQ-072 (baseline 정합), REQ-061 (CHG-05), REQ-013 (CHG-03) diff --git a/docs/batches/bat-033_20260610_enter-qty-validation/index.md b/docs/batches/bat-033_20260610_enter-qty-validation/index.md index ac3adce..5d1ff24 100644 --- a/docs/batches/bat-033_20260610_enter-qty-validation/index.md +++ b/docs/batches/bat-033_20260610_enter-qty-validation/index.md @@ -1,6 +1,6 @@ # BAT-033: enter --qty 필수 검증 (issue #23) -- Status: release-candidate +- Status: released - Profile: batch-lite - Source Discovery: REQ-032 change-req (issue #23) - Included REQ: REQ-032 (CHG-20260610-06, AC-7) diff --git a/docs/batches/bat-034_20260610_drop-allocated-capital/index.md b/docs/batches/bat-034_20260610_drop-allocated-capital/index.md index 908d030..377859c 100644 --- a/docs/batches/bat-034_20260610_drop-allocated-capital/index.md +++ b/docs/batches/bat-034_20260610_drop-allocated-capital/index.md @@ -1,6 +1,6 @@ # BAT-034: allocated_capital 죽은 필드 제거 — CLI·intent·도메인·영속·snapshot 정리 (dcy-023) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-023 (issue #22) - Included REQ: REQ-002 (CHG-20260610-02), REQ-006 (CHG-20260610-02), REQ-007 (CHG-20260610-02), REQ-028 (CHG-20260610-01), REQ-032 (CHG-20260610-07) diff --git a/docs/batches/bat-035_20260611_strategy-read-surface-slots-req/index.md b/docs/batches/bat-035_20260611_strategy-read-surface-slots-req/index.md index 9978841..467c116 100644 --- a/docs/batches/bat-035_20260611_strategy-read-surface-slots-req/index.md +++ b/docs/batches/bat-035_20260611_strategy-read-surface-slots-req/index.md @@ -1,6 +1,6 @@ # BAT-035: 전략 read 표면 재설계 — trex.slots.req + 슬롯 단일 행 스키마 (dcy-025) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-025 - Included REQ: REQ-073, REQ-074, REQ-075, REQ-021 (CHG-20260611-01), REQ-034 (CHG-20260611-01), REQ-063 (CHG-20260611-01) diff --git a/docs/batches/bat-036_20260611_safety-sell-disable-mode/index.md b/docs/batches/bat-036_20260611_safety-sell-disable-mode/index.md index d627b50..4a6807f 100644 --- a/docs/batches/bat-036_20260611_safety-sell-disable-mode/index.md +++ b/docs/batches/bat-036_20260611_safety-sell-disable-mode/index.md @@ -1,6 +1,6 @@ # BAT-036: safety_sell_enabled TOML 설정 + 조건부 데몬 워커 기동 (dcy-024) -- Status: release-candidate +- Status: released - Profile: standard - Source Discovery: dcy-024 - Included REQ: REQ-048 (CHG-20260611-01), REQ-005 (CHG-20260611-01) diff --git a/docs/batches/index.md b/docs/batches/index.md index 0d62dd4..f060c50 100644 --- a/docs/batches/index.md +++ b/docs/batches/index.md @@ -33,17 +33,17 @@ | BAT-023 | standard | released | REQ-017 (CHG-20260608-02), REQ-019 (CHG-20260608-02), REQ-029 (CHG-20260608-01), REQ-030 (CHG-20260608-01, Approved→Implemented) | dcy-018 | [bat-023](./bat-023_20260608_ledger-cash-position-writeback-option-d/) | | BAT-024 | batch-lite | released | REQ-032 (CHG-20260609-01) | dcy-016 (issue #17) | [bat-024](./bat-024_20260609_operator-enter-forced-close-at/) | | BAT-025 | standard | released | REQ-002 (CHG-20260609-01), REQ-003 (CHG-20260609-01), REQ-006 (CHG-20260609-01), REQ-007 (CHG-20260609-01), REQ-009 (CHG-20260609-01) | dcy-019 (issue #18) | [bat-025](./bat-025_20260609_slot-entry-count-and-closed-reallocation/) | -| BAT-026 | batch-lite | release-candidate | REQ-048 (CHG-20260609-01), REQ-010 (CHG-20260609-01) | 없음 (trex-orb-v1 정합) | [bat-026](./bat-026_20260609_config-dir-env-and-config-path/) | -| BAT-027 | standard | release-candidate | REQ-056, REQ-057 | dcy-020 (BAT-α) | [bat-027](./bat-027_20260610_asset-permanent-slot-foundation/) | -| BAT-028 | standard | release-candidate | REQ-058, REQ-059, REQ-060 | dcy-020 (BAT-β) | [bat-028](./bat-028_20260610_universe-reconcile-and-active-admission/) | -| BAT-029 | standard | release-candidate | REQ-061, REQ-062, REQ-063 | dcy-020 (BAT-γ) | [bat-029](./bat-029_20260610_asset-keyed-intent-and-divergence/) | -| BAT-030 | standard | release-candidate | REQ-064, REQ-062, REQ-056·057·065(잔여) | dcy-020 (BAT-δ) | [bat-030](./bat-030_20260610_asset-centric-cutover/) | -| BAT-031 | standard | release-candidate | REQ-066, REQ-067, REQ-057·061·062(CHG) | dcy-021 | [bat-031](./bat-031_20260610_position-sizing/) | -| BAT-032 | standard | release-candidate | REQ-068, REQ-069, REQ-070, REQ-071, REQ-072, REQ-061(CHG-05), REQ-013(CHG-03) | dcy-022 | [bat-032](./bat-032_20260610_execution-policy/) | -| BAT-033 | batch-lite | release-candidate | REQ-032 (CHG-20260610-06) | REQ-032 change-req (issue #23) | [bat-033](./bat-033_20260610_enter-qty-validation/) | -| BAT-034 | standard | release-candidate | REQ-002 (CHG-20260610-02), REQ-006 (CHG-20260610-02), REQ-007 (CHG-20260610-02), REQ-028 (CHG-20260610-01), REQ-032 (CHG-20260610-07) | dcy-023 (issue #22) | [bat-034](./bat-034_20260610_drop-allocated-capital/) | -| BAT-035 | standard | confirmed | REQ-073, REQ-074, REQ-075, REQ-021 (CHG-20260611-01), REQ-034 (CHG-20260611-01), REQ-063 (CHG-20260611-01) | dcy-025 | [bat-035](./bat-035_20260611_strategy-read-surface-slots-req/) | -| BAT-036 | standard | confirmed | REQ-048 (CHG-20260611-01), REQ-005 (CHG-20260611-01) | dcy-024 | [bat-036](./bat-036_20260611_safety-sell-disable-mode/) | +| BAT-026 | batch-lite | released | REQ-048 (CHG-20260609-01), REQ-010 (CHG-20260609-01) | 없음 (trex-orb-v1 정합) | [bat-026](./bat-026_20260609_config-dir-env-and-config-path/) | +| BAT-027 | standard | released | REQ-056, REQ-057 | dcy-020 (BAT-α) | [bat-027](./bat-027_20260610_asset-permanent-slot-foundation/) | +| BAT-028 | standard | released | REQ-058, REQ-059, REQ-060 | dcy-020 (BAT-β) | [bat-028](./bat-028_20260610_universe-reconcile-and-active-admission/) | +| BAT-029 | standard | released | REQ-061, REQ-062, REQ-063 | dcy-020 (BAT-γ) | [bat-029](./bat-029_20260610_asset-keyed-intent-and-divergence/) | +| BAT-030 | standard | released | REQ-064, REQ-062, REQ-056·057·065(잔여) | dcy-020 (BAT-δ) | [bat-030](./bat-030_20260610_asset-centric-cutover/) | +| BAT-031 | standard | released | REQ-066, REQ-067, REQ-057·061·062(CHG) | dcy-021 | [bat-031](./bat-031_20260610_position-sizing/) | +| BAT-032 | standard | released | REQ-068, REQ-069, REQ-070, REQ-071, REQ-072, REQ-061(CHG-05), REQ-013(CHG-03) | dcy-022 | [bat-032](./bat-032_20260610_execution-policy/) | +| BAT-033 | batch-lite | released | REQ-032 (CHG-20260610-06) | REQ-032 change-req (issue #23) | [bat-033](./bat-033_20260610_enter-qty-validation/) | +| BAT-034 | standard | released | REQ-002 (CHG-20260610-02), REQ-006 (CHG-20260610-02), REQ-007 (CHG-20260610-02), REQ-028 (CHG-20260610-01), REQ-032 (CHG-20260610-07) | dcy-023 (issue #22) | [bat-034](./bat-034_20260610_drop-allocated-capital/) | +| BAT-035 | standard | released | REQ-073, REQ-074, REQ-075, REQ-021 (CHG-20260611-01), REQ-034 (CHG-20260611-01), REQ-063 (CHG-20260611-01) | dcy-025 | [bat-035](./bat-035_20260611_strategy-read-surface-slots-req/) | +| BAT-036 | standard | released | REQ-048 (CHG-20260611-01), REQ-005 (CHG-20260611-01) | dcy-024 | [bat-036](./bat-036_20260611_safety-sell-disable-mode/) | | BAT-037 | standard | release-candidate | REQ-073 (CHG-20260612-01) | dcy-025 (REQ-073 change-req) | [bat-037](./bat-037_20260612_slots-rpc-available-slots/) | | BAT-038 | standard | release-candidate | REQ-018 (CHG-20260612-01) | dcy-026 (issue #24) | [bat-038](./bat-038_20260612_sell-transaction-tax-fee/) | | BAT-039 | standard | release-candidate | REQ-011 (CHG-20260612-01) | 없음 (issue #4) | [bat-039](./bat-039_20260612_paper-seq-redis-persistence/) | diff --git a/docs/releases/rel-006_20260611_asset-centric-sizing-execution-policy.md b/docs/releases/rel-006_20260611_asset-centric-sizing-execution-policy.md index 10bce8e..1bb300b 100644 --- a/docs/releases/rel-006_20260611_asset-centric-sizing-execution-policy.md +++ b/docs/releases/rel-006_20260611_asset-centric-sizing-execution-policy.md @@ -1,6 +1,6 @@ # REL-006: 자산 중심 영구 슬롯 cutover + 포지션 사이징 + 실행 정책 + 운영 정리 통합 릴리즈 -- Status: confirmed +- Status: feedback-captured - Profile: app-service - Included Batch: BAT-026, BAT-027, BAT-028, BAT-029, BAT-030, BAT-031, BAT-032, BAT-033, BAT-034, BAT-035, BAT-036 @@ -88,53 +88,65 @@ confirm-release 전 run-the-app 증거 (2026-06-11, `run-trex-core-daemon` 프 ### Deployment Facts - Executed At: - - <배포 시작 시각> + - 2026-06-11 (최초 배포 `002340e`) - Completed At: - - <배포 완료 시각> + - 2026-06-12 (긴급패치 포함 최종 `808a851`) - Environment: - - <배포 대상 환경> + - 운영 — 인스턴스 `trex-admin-daily-trading` (KIS LIVE 브로커 + 운영 PostgreSQL `trex_core` + RabbitMQ + portfolio-hub) - Operator: - - <배포 수행자> + - Justin Ko - Revision or Artifact: - - <커밋 SHA — 배포 전 main 커밋으로 확정> + - 최초 배포 `002340e` → 긴급패치 후 최종 **`808a851`** (계획 SHA `f0ad377` 이후 main 진행분 포함 배포) - Commands or Procedure: - - <실행 명령 또는 배포 절차 요약> + - 데몬 중단 → `git pull` → `pip install -e .` → 데몬 재기동. `apply_migrations` 009~013 자동 적용(멱등). + +#### Hotfix 경위 (배포 중 결함 → 무롤백 패치) +- 최초 배포(`002340e`) 후 재기동 시 **슬롯 symbol 전부 `None`** 로딩 — universe reconcile 이 슬롯 생성 시 symbol 미저장 결함. +- `221a163` fix(smoke): topology API 변경 반영(snapshot_queue→slots_queue) / `24a6017` **fix(reconcile): symbol 저장 + NULL backfill** / `808a851` docs(req-058): CHG-20260611-01 반영. +- 패치 후 재기동: **45/45 슬롯 symbol 정상 로딩** 확인. ### Profile-Specific Checks - app-service: - Health Endpoint: - - + - PASS — 데몬 RUNNING(PID 가동, RabbitMQ 3연결 OPEN), portfolio-hub HTTP 200, KIS inquire-balance HTTP 200, slots RPC degraded=None (2026-06-12) - Startup Log Fields: - - <마이그레이션 009~013 적용 + universe reconcile 슬롯 생성 로그> + - PASS — 마이그레이션 009~013 적용(운영 DB information_schema 직접 확인: `trading_date`/`entry_count`/`allocated_capital` 부재, `instance_key` 존재, `ledger_outbox` 미완료 0건). universe reconcile 영구 슬롯 45개 생성(daily preallocation 부재 정상), universe_detached 0건. - Request Log Fields: - - + - PASS — 실거래 e2e 전이 로그: ①장외 enter(2026-06-11 19:31): admitted → `inactive→pending_buy` → KIS order-cash 200 → 거부(장운영시간 아님) rollback `pending_buy→inactive`. ②장중 full e2e(2026-06-12, 005930 1주): 09:32 buy intent `inactive→pending_buy` → 09:32 체결 `pending_buy→holding`(qty=1, avg 334,000) → 14:37 **safety-sell stop_loss 자동 발화** `holding→pending_sell` → 14:37 체결 `pending_sell→inactive`. ledger buy/sell 2건 completed. slot qty(1.0)==hub asset_quantity(1.0) divergence 없음. - Smoke or Manual Verification: - - + - PASS — BAT-035: `slots`(count=45, slots[] 형식·assets[] 부재)/`--status holding·buyable` 서버 필터/`universe`(slots.req 큐, spy=true)/JSON 스키마(allocated_capital 부재·watchdog·asset_quantity 포함). BAT-033: `--qty` 누락 즉시 오류 rc=1. BAT-034: `--capital` argparse 거부 rc=2 + 45개 전수 allocated_capital 부재. BAT-032: `cancel` dry-run rc=0. BAT-036: TOML 미설정 → default true 워커 기동 확인. ### Rollback Outcome - Rollback Required: - - + - no - Rollback Trigger: - - <발생 시 원인, 없으면 none> + - none - Rollback Action: - - <수행한 조치, 없으면 none> + - none — 최초 배포의 symbol 누락 결함은 롤백 없이 긴급패치(`24a6017`)로 해소(REQ-058 CHG-20260611-01 로 문서 정합 완료). ### Release Decision Evidence - Released Decision: - - + - **released 전환** — 운영팀 배포 근거 종합 판정 전 항목 PASS(마이그레이션/기동·cutover/심볼 로딩/BAT-031~036 스모크/실거래 full e2e), 롤백 불요. - Rationale: - - + - 운영 실거래(005930 매수→보유→stop_loss 자동 청산)로 자산 중심 슬롯 lifecycle·포지션 사이징·safety-sell·ledger 전 경로 무결 검증. 손익 −7,099.15원(−2.13%)은 손절 청산 결과이며 시스템 동작 관점 PASS. - Recorded By: - - <기록자> + - Justin Ko (운영팀 배포 근거) / 기록 정리: stage-pilot capture - Recorded At: - - <기록 시각> + - 2026-06-12 ## Feedback Handoff -- Observation Summary: - - <운영 관찰 사실 요약 또는 없음> +- Observation Summary (2026-06-12, 운영팀 배포 근거 §8 + 실거래 데이터): + - **배포 중 결함 1건(긴급패치 해소)**: universe reconcile 슬롯 생성 시 symbol 미저장 → 재기동 후 45슬롯 전부 symbol=None. `24a6017` 패치(생성 시 저장 + NULL backfill) 후 45/45 정상. REQ-058 CHG-20260611-01 로 AC-5 추가 완료 — 회귀 방지 테스트는 기존 reconcile 테스트(symbol 포함 시그니처)로 커버됨. + - **실거래 full e2e 검증**: 005930 매수(09:32)→보유→stop_loss 자동 청산(14:37) 완주. 포지션 사이징(avg_price/qty 반영, 브로커 잔고 기준 청산), safety-sell 자동 발화, slot↔hub 수량 일치(divergence 0), ledger buy/sell completed. + - **잔존 관찰 1 — watchdog_expired 상시**: 전략 모듈(trex-orb-v1) 미연결 상태라 watchdog expired 가 일상 — 전략 연결 시 해소. 수동 주문은 forced_close_at 기반 관리로 영향 없음. (중장기 인스턴스의 동일 문제는 dcy-027/BAT-041 `watchdog_timeout_sec` per-instance TOML 로 별도 해소됨 — 차기 릴리즈) + - **잔존 관찰 2 — 매도세 tax=0 왜곡 지속**: 본 릴리즈 리비전(`808a851`)은 BAT-038(매도 증권거래세, dcy-026/issue #24) 이전 — 2026-06-12 매도 체결도 `세금 0` 으로 기록됨(수수료 49.05 만). 수정은 BAT-038(release-candidate)에 있으며 **차기 릴리즈 배포 전까지 신규 매도 ledger 의 tax=0 왜곡이 계속됨**. 과거 행 소급 보정은 안 함(dcy-026 OQ-3). + - **운영 메모**: `trex-admin-daily-trading` 은 계좌 전체 cash 공유 모델(portfolio-hub 는 자산별 PnL 만 기록) — 슬롯 cash_balance 음수는 정상. - Discovery Input: - - <후속 discovery 후보 — 후보 백로그: 자율 청산 OFF 모드(issue #15), 중장기 전략 슬롯(issue #20)> + - 없음 (자율 청산 OFF 모드 issue #15 → dcy-024 완료, 중장기 전략 슬롯 issue #20 → dcy-027 완료. watchdog 소유권 진입 외부 알림(슬랙·이메일)은 dcy-027 OQ-3 주석으로 이미 후속 Discovery 백로그에 등재) - REQ Input: - - <후속 req 후보> + - 없음 — 신규 요구사항 후보 없음(잔존 관찰은 전부 기존 트랙으로 커버) - Change Request Input: - - `daily_symbol_entries` 잔재 제거(REL-005 환류 승계 — REQ-002/006 change-req 트랙), paper 브로커 order seq Redis 영속화(issue #4 — REQ-011 change-req 트랙) + - `daily_symbol_entries` 잔재 제거(REL-005 환류 승계 — REQ-002/006 change-req 트랙, 미착수) + - ~~paper 브로커 order seq Redis 영속화(issue #4)~~ — **완료**(REQ-011 CHG-20260612-01, BAT-039 release-candidate) + - `default_order_timeout_sec` TOML 전파 누락(BAT-041 구현 중 발견 pre-existing — `from_toml` 파싱되나 `from_config` 미전파로 런타임 무시. REQ-048/068 change-req 트랙, 미착수) +- 차기 릴리즈 입력: BAT-037~041 5건 release-candidate 대기(REL-007 후보) — **BAT-038 매도세 수정 포함이므로 조기 배포 권장**(위 잔존 관찰 2).