feat(config): expose paper broker tuning via env (REQ-010 AC-5, BAT-009)

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>
This commit is contained in:
2026-06-06 16:49:51 +09:00
co-authored by Claude Opus 4.8
parent f8c5661147
commit 2f57aad7b2
13 changed files with 280 additions and 8 deletions
+5 -1
View File
@@ -78,7 +78,11 @@ def _build_broker(config: DaemonConfig) -> BrokerPort:
base_url=k.base_url, timeout=k.timeout, allow_live=k.allow_live,
token_cache=token_cache,
)
return PaperBroker()
return PaperBroker(
fill_after_polls=config.paper.fill_after_polls,
qty_per_poll=config.paper.qty_per_poll,
reject_symbols=set(config.paper.reject_symbols),
)
def _build_ledger(config: DaemonConfig) -> LedgerPort: