Files
trex-core/docs/batches/bat-010_20260607_safety-sell-foundation/index.md
T
genichinandClaude Opus 4.8 941d324899 docs(release): REL-002/003 feedback-captured + 포함 batch released 정합
REL-002(BAT-009)·REL-003(BAT-010~013) 을 released→feedback-captured 로 전환해
REL-001/004 와 동일한 완료(종착) 상태로 정합. REL-002 Feedback Handoff 빈
플레이스홀더 정리(tooling 릴리즈, Discovery/REQ Input=없음). 포함 batch
BAT-009~013 release-candidate→released(register + 개별 index) — 누락 정정.

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

2.5 KiB

BAT-010: safety-sell 기반 인프라 (watchdog + 가격 임계값 필드 + SlotService.sell)

  • Status: released
  • Profile: standard
  • Source Discovery: dcy-007
  • Included REQ: REQ-034, REQ-035, REQ-036, REQ-041
  • Excluded REQ: REQ-037, REQ-038, REQ-039, REQ-040, REQ-042 (safety-sell 트리거 레이어 — BAT-011 예정)

Summary

  • dcy-007(core 자율 안전 매도) 기반 인프라 레이어를 delivery한다. per-slot 워치독 store(REQ-034), 슬롯 가격 임계값 도메인 필드 + DB 마이그레이션(REQ-035), 자율 매도 내부 경로 SlotService.sell()(REQ-036), safety-sell 환경 변수 전체 파싱(REQ-041)을 포함한다. 트리거 루프(forced_close/KIS polling/장 마감)와 update_thresholds RPC는 BAT-011에서 처리한다.

Scope

  • In Scope:
    • WatchdogStore 신규 모듈(application/watchdog.py) + make_snapshot_rpc_handler 확장 (REQ-034)
    • stop_loss_price, take_profit_price Optional[Decimal] 도메인 필드 + PostgreSQL additive 마이그레이션 (REQ-035)
    • SlotService.sell(slot_id, actor, reason) + idempotency (REQ-036)
    • DaemonConfig env vars 5종 파싱: TREX_WATCHDOG_TIMEOUT, TREX_WATCHDOG_GRACE_PERIOD, TREX_FORCED_CLOSE_CHECK_INTERVAL, TREX_STOP_LOSS_POLL_INTERVAL, TREX_MARKET_CLOSE_LIQUIDATION_TIME (REQ-041)
  • Out of Scope:
    • forced_close_at 루프 — BAT-011 (REQ-037)
    • KIS 현재가 polling — BAT-011 (REQ-038)
    • 장 마감 청산 루프 — BAT-011 (REQ-039)
    • update_thresholds intent RPC — BAT-011 (REQ-040)
    • baseline 문서 정렬 — BAT-011 (REQ-042)
    • 가격 임계값 논리 유효성 검증(take_profit > stop_loss 등) — REQ-035 Notes 명시

Documents

Notes

  • BAT-010은 외부 API(KIS) 호출이 없고 신규 daemon thread를 추가하지 않는다. 단위 테스트와 persistence 통합 테스트만으로 모든 AC를 검증 가능한 레이어다.
  • REQ-041의 env vars 5종 중 BAT-010에서 실제 사용되는 것은 TREX_WATCHDOG_TIMEOUT + TREX_WATCHDOG_GRACE_PERIOD 2개다. 나머지 3종(TREX_FORCED_CLOSE_CHECK_INTERVAL, TREX_STOP_LOSS_POLL_INTERVAL, TREX_MARKET_CLOSE_LIQUIDATION_TIME)은 파싱만 완성하고 BAT-011에서 참조한다. REQ-041을 두 batch에 분리하지 않기 위한 결정(design.md Key Decision 2 참조).
  • WatchdogStore 구현 위치: trex_core/application/watchdog.py 신규 모듈(design.md Key Decision 1 참조).