# REL-002: paper broker 튜닝 env 노출 (e2e 시나리오 재현) - Status: confirmed - 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: - <배포 시작 시각> - Completed At: - <배포 완료 시각> - Environment: - <배포 대상 환경> - Operator: - <배포 수행자> - Revision or Artifact: - <커밋 SHA 또는 배포 artifact 식별자 (bat-009 병합 커밋)> - Commands or Procedure: - <실행 명령 또는 배포 절차 요약> ### Profile-Specific Checks - tooling: - Install or Upgrade Smoke: - <설치/업데이트 후 `DaemonConfig.from_env()` 정상 로드 결과 또는 none> - CLI or Script Execution: - <`TREX_PAPER_*` env 로 데몬 기동 + 시나리오 1개 재현 결과 또는 none> - Compatibility Note: - <미설정 시 기존 동작 동일(회귀 없음) / broker=kis 무영향 확인 또는 none> ### Rollback Outcome - Rollback Required: - - Rollback Trigger: - <발생 시 원인, 없으면 none> - Rollback Action: - <수행한 조치, 없으면 none> ### Release Decision Evidence - Released Decision: - - Rationale: - - Recorded By: - <기록자> - Recorded At: - <기록 시각> ## Feedback Handoff - Observation Summary: - <운영 관찰 사실 요약 또는 없음> - Discovery Input: - <후속 discovery 후보> - REQ Input: - <후속 req 후보> - Change Request Input: - paper 모드 마지막 execution_id Redis 영속(재기동 PAPER seq 리셋 → correlation_id 충돌 회피, GitHub #4) — paper 전용 테스트 견고성.