# REL-002: paper broker 튜닝 env 노출 (e2e 시나리오 재현) - Status: released - Profile: tooling - Included Batch: BAT-009 ## Scope - Included: - BAT-009 (REQ-010 CHG-20260606-01 / AC-5): paper broker 튜닝 knob(REQ-011 AC-2 지연/부분/거부 시나리오)을 데몬 env(`TREX_PAPER_FILL_AFTER_POLLS`/`TREX_PAPER_QTY_PER_POLL`/`TREX_PAPER_REJECT_SYMBOLS`)로 노출. `PaperBrokerConfig` + `DaemonConfig.from_env` 파싱 + `_build_broker` 주입 + `.env.example` 문서화. - Excluded: - PaperBroker 내부 체결 로직(REQ-011 에서 구현·검증, 본 release 변경 아님). - kis broker 경로(`broker=kis` 시 paper config 무시). - REL-001(BAT-001~008) baseline — 별도 release. ## Rollout Plan 1. 사전 점검: 본 변경은 `broker=paper` 일 때만 동작하며 미설정 env == 기존 `PaperBroker()` 동작(byte-for-byte). 운영(`broker=kis`) 데몬에는 런타임 영향 없음. 2. 대상 commit SHA(`bat-009` 브랜치)를 main 에 병합 후 배포 대상에 설치. 3. 별도 데몬 재기동/마이그레이션 불필요(코드/설정 표면 추가뿐, DB 스키마 변경 없음). e2e 환경에서 필요 시 `TREX_PAPER_*` env 로 시나리오 구성. ## Rollback Plan - 되돌릴 이전 동작 = paper 기본 동작이며, `TREX_PAPER_*` 를 미설정으로 두면 본 변경 이전과 동일. 코드 롤백 필요 시 BAT-009 커밋만 revert(타 batch 비의존). - 트리거 조건: env 파싱 회귀, 미설정 시 기본 동작 변화 징후(있을 경우). 운영 broker=kis 경로는 본 변경 미참조라 트리거 대상 아님. ## Verification Checklist - 배포 전: - 단위: `pytest tests/runtime/test_config_dotenv.py` 6 passed(기존 4 + paper 기본/파싱 2). 전체 `pytest --deselect ...::test_sandbox_token_and_submit` 167 passed / 23 skipped. - `ruff check trex_core tests` All checks passed. - BAT-009 verification.md(Ready for Release: true, blocker 없음) 확인. - 배포 후: - `broker=paper` 데몬에서 `TREX_PAPER_*` 미설정 → 즉시 전량 체결·거부 없음(기존 동작) 확인. - 필요 시 e2e: 거부 롤백(`TREX_PAPER_REJECT_SYMBOLS`)·지연(`TREX_PAPER_FILL_AFTER_POLLS`)·부분(`TREX_PAPER_QTY_PER_POLL`) 재현(BAT-009 evidence 동일). - `broker=kis` 데몬 동작 무변화(paper config 무시) 확인. ## Release Execution Evidence - Release Status Transition Target: released ### Deployment Facts - Executed At: - 2026-06-06 (KST) — `bat-009` → main 병합 시작 - Completed At: - 2026-06-06 (KST) — origin/main push 완료 - Environment: - main @ origin (GitHub fourblocks2020/trex-core). 코드/패키지 변경 — 별도 서비스 배포 대상 없음(tooling). - Operator: - Justin Ko (Claude Code 세션) - Revision or Artifact: - 7b6ed55 (REL-002 docs) / 2f57aad (BAT-009 코드). push: `ca75700..7b6ed55 main -> main` - Commands or Procedure: - `git merge --ff-only bat-009-paper-broker-env-tuning` → `git push origin main`. DB 마이그레이션·데몬 재기동 없음. ### Profile-Specific Checks - tooling: - Install or Upgrade Smoke: - `DaemonConfig.from_env()` 정상 로드(단위 test_config_dotenv 6 passed). paper 기본값 미설정 시 정상. - CLI or Script Execution: - 데몬 `TREX_PAPER_*` env 재기동으로 거부 롤백 / 지연(+3.7s) / 부분(+2.5s) 시나리오 재현 확인(BAT-009 verification evidence). - Compatibility Note: - 미설정 시 기존 `PaperBroker()` 동작 byte-for-byte(회귀 없음, 전체 167 passed). `broker=kis` 경로 paper config 미참조 → 운영 데몬 무영향. ### Rollback Outcome - Rollback Required: - no - Rollback Trigger: - none - Rollback Action: - none (필요 시 2f57aad revert; 타 batch 비의존) ### Release Decision Evidence - Released Decision: - yes (confirmed → released) - Rationale: - 배포 전/후 검증 충족, blocker 없음, additive·하위호환·운영 런타임 무영향 tooling 변경. main 병합 + origin push 로 변경 게시 완료. - Recorded By: - Justin Ko (Claude Code 세션) - Recorded At: - 2026-06-06 (KST) ## Feedback Handoff - Observation Summary: - <운영 관찰 사실 요약 또는 없음> - Discovery Input: - <후속 discovery 후보> - REQ Input: - <후속 req 후보> - Change Request Input: - paper 모드 마지막 execution_id Redis 영속(재기동 PAPER seq 리셋 → correlation_id 충돌 회피, GitHub #4) — paper 전용 테스트 견고성.