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>
2.3 KiB
2.3 KiB
BAT-009: paper broker 튜닝 env 노출 (minor-change)
- Status: released
- 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 에 정리한다.