Files
trex-core/docs/batches/bat-021_20260608_watchdog-ownership-visibility/index.md
T
genichinandClaude Opus 4.8 0f56f26eb5 docs(release): REL-004 capture-release-feedback (feedback-captured)
운영자 배포 증거 기반 운영 환류 기록: Feedback Handoff(관찰 사실 +
Discovery/REQ/Change Request Input 분리), REL-004 confirmed→feedback-captured,
포함 BAT-014~023 release-candidate→released(register + 개별 index).

후속 입력: issue #16(preallocation 누락, Discovery), dcy-019(REQ 대기),
BAT-024(차기 release 편입), daily_symbol_entries 제거(REQ-002 change-req).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 13:53:24 +09:00

2.6 KiB

BAT-021: 워치독 소유권 가시화 — 스냅샷 워치독 상태 + safety-sell 발동 로깅 (dcy-017)

  • Status: released
  • Profile: standard
  • Source Discovery: dcy-017
  • Included REQ: REQ-034 (CHG-20260608-02), REQ-021 (CHG-20260608-03), REQ-037 (CHG-20260608-01), REQ-038 (CHG-20260608-01), REQ-039 (CHG-20260608-01), REQ-032 (CHG-20260608-02), REQ-042 (CHG-20260608-01)

Summary

  • dcy-017(전략 이탈로 슬롯이 내부 청산 루틴(워치독) 소유로 넘어간 상태를 가시화, issue #12)을 단일 standard batch 로 delivery 한다. 거버넌스는 dcy-017 OQ-3 결정대로 전부 change-req, 신규 REQ 없음.
  • 핵심: snapshot RPC 응답에 holding 슬롯 워치독 상태(expired/last_seen)를 read-only 동봉(REQ-034/021)하고 trex-core slots 가 WATCHDOG-OWNED(전략 이탈)를 표시(REQ-032). safety-sell 의 워치독 소유 진입(WARN)/이탈(INFO)·발동(forced_close·stop_loss=WARN, take_profit·market_close=INFO)을 카운터+구조화 로그로 가시화(REQ-037/038/039). 모든 가시화는 best-effort(청산을 막지 않음). Redis projection·push 알림 미채택(OQ-1 (a)).

Scope

  • In Scope:
    • snapshot RPC 응답 워치독 상태 필드(best-effort) + WatchdogStore.last_seen (REQ-034/021)
    • trex-core slots 워치독 소유 표시 (REQ-032)
    • safety-sell 워치독 소유 진입/이탈 + 발동(phase 차등 WARN/INFO) 로그 + in-process 카운터 (REQ-037/038/039)
    • runtime-flows/interface-contract 정합 (REQ-042)
  • Out of Scope:
    • 워치독 판정 로직·timeout 기준 변경(가시화만)
    • WatchdogStore in-memory → 영속 store 승격(정본 변경)
    • Redis projection·pub/sub push 알림(OQ-1 (a) 미채택) — push 하드 요구 시 후속 분리

Documents

Notes

  • Source discovery 단일(dcy-017). OQ-1((a) CLI/RPC 노출, Redis 미채택)·OQ-2(차등 매트릭스)·OQ-3(전부 change-req) Answered.
  • dcy-016 으로 관측 함정(조회가 워치독 리셋) 이미 해소 → 비침습 on-demand 관측으로 issue #12 충족(A-1).
  • best-effort 격리(NFR-1): _attach_watchdog·_update_ownership·_log_fire 모두 예외 격리, source of truth(in-memory 워치독)·청산 동작 불변.
  • 메트릭은 in-process 카운터(SafetySellService.counters) — 기존 REQ 범위(신규 인프라 없음).
  • WatchdogStore in-memory → 소유 상태 는 재시작 시 소실(폴링 재개 시 재구성), 발동 로그 는 이력 유지(R-3).