Wire the existing PaperBroker scenario knobs (fill_after_polls / qty_per_poll / reject_symbols) to daemon env so REQ-011 AC-2 e2e scenarios (delayed / partial / reject) can be reproduced by a daemon restart. Unset == prior PaperBroker() behaviour, byte-for-byte (no regression). - config.py: PaperBrokerConfig + from_env parsing (TREX_PAPER_*) - daemon.py: _build_broker injects config.paper into PaperBroker - .env.example: document the 3 paper tuning keys (paper-only, e2e) - tests: paper broker defaults + env tuning parsing SDLC: REQ-010 CHG-20260606-01 (AC-5 added) / -02 (Implemented); BAT-009 batch-lite release-candidate; REL-001 feedback handoff records pre-deployment e2e observations incl. event-publisher idle-drop and paper correlation_id collision (GitHub #4, #5). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
BAT-009: paper broker 튜닝 env 노출 (minor-change)
- Status: release-candidate
- Profile: batch-lite
- Source Discovery: dcy-002 (REQ-010 데몬 설정 편의) — 동기는 dcy-003/REQ-011 e2e 시나리오 재현(Notes 참조)
- Included REQ: REQ-010 (CHG-20260606-01, AC-5)
- Excluded REQ: 없음
Summary
- REQ-010 CHG-20260606-01 로 추가된 AC-5(paper broker 튜닝 env 노출)를 delivery 하는 minor-change batch-lite. REQ-011 AC-2 가 이미 요구하는 paper 더블의 결정적 시나리오(지연/부분/거부)를 데몬 재기동만으로 재현할 수 있도록, 기존
PaperBroker생성자 knob 을.env/OS env(TREX_PAPER_FILL_AFTER_POLLS/TREX_PAPER_QTY_PER_POLL/TREX_PAPER_REJECT_SYMBOLS)로 노출한다. 미설정이면 기존PaperBroker()동작과 byte-for-byte 동일(회귀 없음).
Scope
- In Scope:
runtime/config.py:PaperBrokerConfigfrozen dataclass +DaemonConfig.from_env()파싱(빈 문자열 → None/frozenset 정규화).runtime/daemon.py:_build_brokerpaper 분기에서config.paper주입..env.example: paper 튜닝 키 3개 문서화(미설정=production-like 기본).tests/runtime/test_config_dotenv.py: 기본값(test_paper_broker_defaults) + env 파싱(test_paper_broker_env_tuning).
- Out of Scope:
- PaperBroker 내부 체결 로직 변경(REQ-011 에서 이미 구현·검증).
- kis broker 경로(
broker=kis시 paper config 무시). - 부분 매도(수량 일부) 등 신규 능력(별도 Discovery/REQ).
Documents
- Planning: planning.md
- Design: none (batch-lite with no architecture impact)
- Implementation: implementation.md
- Verification: verification.md
Notes
- minor-change: 기존 PaperBroker 생성자 인자를 config 표면으로 노출하는 additive 변경. BrokerPort 계약·슬롯 런타임 흐름 불변, design 불요.
- 동기 출처: REQ-011(dcy-003) e2e 시나리오 재현 필요. REQ-010(dcy-002) 의 설정 로딩 메커니즘 위에 키를 얹는 형태라 REQ-010 change-req 로 귀속.
- 구현 코드는 본 batch 생성 시점에 이미 working tree 에 존재(미커밋). verification stage 에서 단위테스트(166 pass) + e2e evidence(거부 롤백/지연/부분)를 verification.md 에 정리한다.