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>
3.8 KiB
3.8 KiB
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문서화.
- BAT-009 (REQ-010 CHG-20260606-01 / AC-5): paper broker 튜닝 knob(REQ-011 AC-2 지연/부분/거부 시나리오)을 데몬 env(
- Excluded:
- PaperBroker 내부 체결 로직(REQ-011 에서 구현·검증, 본 release 변경 아님).
- kis broker 경로(
broker=kis시 paper config 무시). - REL-001(BAT-001~008) baseline — 별도 release.
Rollout Plan
- 사전 점검: 본 변경은
broker=paper일 때만 동작하며 미설정 env == 기존PaperBroker()동작(byte-for-byte). 운영(broker=kis) 데몬에는 런타임 영향 없음. - 대상 commit SHA(
bat-009브랜치)를 main 에 병합 후 배포 대상에 설치. - 별도 데몬 재기동/마이그레이션 불필요(코드/설정 표면 추가뿐, 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.py6 passed(기존 4 + paper 기본/파싱 2). 전체pytest --deselect ...::test_sandbox_token_and_submit167 passed / 23 skipped. ruff check trex_core testsAll 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>
- Install or Upgrade Smoke:
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 전용 테스트 견고성.