docs(release): draft + confirm REL-002 (tooling) for BAT-009

REL-002 bundles BAT-009 (paper broker env tuning, REQ-010 AC-5) as a
tooling-profile release. Rollout/rollback/verification ready; status
confirmed. No DB migration or daemon restart; broker=kis runtime
unaffected (paper config only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 18:36:25 +09:00
co-authored by Claude Opus 4.8
parent 2f57aad7b2
commit 7b6ed5591c
2 changed files with 87 additions and 0 deletions
+1
View File
@@ -9,3 +9,4 @@
| REL ID | Profile | Status | Included Batch | Discovery/REQ Input | Link |
| --- | --- | --- | --- | --- | --- |
| REL-001 | app-service | confirmed | BAT-001~008 | Discovery: orb-v1 전략 모듈, 부분 매도(#5) / Change-req: REQ-030 옵션 D, 전략 필드 실데이터, 이벤트 publisher idle 견고성, paper execution_id Redis(#4) | [rel-001](rel-001_20260606_trex-core-slot-core-baseline.md) |
| REL-002 | tooling | confirmed | BAT-009 | Change-req: paper execution_id Redis(#4) | [rel-002](rel-002_20260606_paper-broker-env-tuning.md) |
@@ -0,0 +1,86 @@
# 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:
- <yes 또는 no>
- Rollback Trigger:
- <발생 시 원인, 없으면 none>
- Rollback Action:
- <수행한 조치, 없으면 none>
### Release Decision Evidence
- Released Decision:
- <released 전환 여부>
- Rationale:
- <released 전환 판단 근거>
- 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 전용 테스트 견고성.