Files
trex-core/docs/discovery/index.md
T
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

4.6 KiB

Discovery 전체 인덱스

Discovery 목록

ID 날짜 이슈명 문서 상태
dcy-001_20260603_slot-pure-domain-migration 20260603 trex-core 베이스 수립 및 slot 순수 도메인 이식 Discovery confirmed
dcy-002_20260603_slot-core-daemon-http-api 20260603 trex-core 슬롯 코어 데몬화 + HTTP intent API Discovery confirmed
dcy-003_20260604_broker-execution-and-outbox 20260604 브로커 단일 세션 + 주문 집행 + durable outbox (불변식 B) Discovery confirmed
dcy-004_20260604_portfolio-hub-ledger-integration 20260604 portfolio-hub ledger 연동 — 체결을 외부 원장에 기록 Discovery confirmed
dcy-005_20260604_portfolio-hub-asset-snapshot-api 20260604 portfolio-hub 종목 스냅샷 read API — 전략 모듈에 전략 실행 대상 자산 리스트 제공 Discovery confirmed
dcy-006_20260605_strategy-module-rabbitmq-transport 20260605 trex-core ↔ 전략 모듈 통신 transport — RabbitMQ 도입 (스냅샷 read + intent 제출 + 이벤트) Discovery confirmed
dcy-007_20260606_core-autonomous-safety-sell 20260606 core 자율 안전 매도 — stop-loss·시간 만기 자동 트리거 Discovery confirmed
dcy-008_20260607_emergency-stop-kill-switch 20260607 비상 정지/강제 청산(kill-switch) — portfolio/전역 슬롯 청산 + 당일 전략 제외 Discovery confirmed
dcy-009_20260607_multi-instance-rabbitmq-topology 20260607 인스턴스별 독립 RabbitMQ 채널 토폴로지 — trex-core 다중 인스턴스 운영을 위한 Topic Exchange + Fanout Exchange per-instance 큐 분리 Discovery confirmed
dcy-010_20260607_safety-sell-persistent-rejection-backoff 20260607 safety-sell 영속 거부 재시도 백오프 — 장 휴장·잔고 부족·규제 등 지속 거부 상황에서 KIS 주문 spam 방지를 위한 슬롯별 재시도 backoff/cooldown 정책 Discovery confirmed
dcy-011_20260608_buy-intent-portfolio-id-required-symbol-resolve 20260608 buy intent — portfolio_id를 필수 키로, symbol은 universe(SnapshotStore)에서 resolve (+ issue #11 portfolio_id 누락 체결 ledger silent skip 가시화 흡수) Discovery confirmed
dcy-012_20260608_sell-order-pricing-entry-price-bug 20260608 매도 주문이 현재가가 아닌 entry_price(매수가) 지정가로 나가는 버그 — sell dispatch 가격 정책 부재 (issue #10) Discovery confirmed
dcy-013_20260608_kis-external-cancel-pending-sell-stuck 20260608 KIS 외부 주문 취소 시 슬롯이 pending_sell 에 영구히 갇힘 — cncl_yn 미파싱 (issue #9) Discovery confirmed
dcy-014_20260608_trading-date-configurable-timezone-kst 20260608 당일 슬롯 생성 기준 시간을 KST(설정 가능)로 분리 — trading_date 타임존 분리 + 일자 경계 preallocation (issue #14) Discovery confirmed
dcy-015_20260608_ledger-outbox-permanent-error-backoff-cap 20260608 portfolio-hub 404(미등록 포트폴리오)가 retryable 로 분류되어 백오프·상한 없이 영구 재시도됨 (issue #13) Discovery confirmed
dcy-016_20260608_operator-cli-rpc-commands 20260608 운영자 CLI 명령 확장 — universe/슬롯 확인 + enter/exit + pause/resume (데몬 RPC 통일) Discovery confirmed
dcy-017_20260608_watchdog-ownership-visibility 20260608 전략 이탈로 슬롯이 내부 청산 루틴(워치독) 소유로 넘어간 상태를 가시화 — CLI/RPC vs Redis projection (issue #12) Discovery confirmed