 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 |
|
 genichinandClaude Opus 4.8
|
6d7bca1460
|
feat(safety-sell): dcy-017 워치독 소유권 가시화 — snapshot 상태 + 발동 로깅 (BAT-021)
전략 이탈로 슬롯이 내부 청산 루틴(워치독) 소유로 넘어간 상태가 무성이라
운영자가 인지할 수 없던 문제(issue #12)를 가시화한다.
거버넌스: 전부 change-req (신규 REQ 없음, dcy-017 OQ-3; Redis 미채택).
- REQ-034/021: WatchdogStore.last_seen + snapshot RPC 응답에 holding 슬롯
워치독 상태(expired/last_seen) read-only 동봉(best-effort)
- REQ-032: trex-core slots 가 expired 슬롯을 WATCHDOG-OWNED(전략 이탈) 표시
- REQ-037/038/039: safety-sell 워치독 소유 진입(WARN)/이탈(INFO) + 발동
(forced_close·stop_loss=WARN, take_profit·market_close=INFO) 로그 +
in-process 카운터(SafetySellService.counters), 구조화 필드(slot_id/
portfolio_id/reason/phase/instance_key). per-tick 스킵은 카운터만
- REQ-042: runtime-flows/interface-contract 정합
best-effort 격리(NFR-1): 모든 가시화는 예외 격리 — 워치독 판정·청산 불변.
dcy-016 억제 읽기로 관측이 워치독을 리셋하지 않음(비침습).
검증: 단위 335 passed/34 skipped, 인프라 게이트(PG+RabbitMQ) 369 passed, ruff clean.
신규 test_safety_sell_visibility(6) + snapshot watchdog(1) + CLI(1). BAT-021 rc.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-08 17:10:26 +09:00 |
|