From 7b6ed5591c911f06e6505275077c084b551eafe1 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Sat, 6 Jun 2026 18:36:25 +0900 Subject: [PATCH] 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 --- docs/releases/index.md | 1 + ...el-002_20260606_paper-broker-env-tuning.md | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 docs/releases/rel-002_20260606_paper-broker-env-tuning.md diff --git a/docs/releases/index.md b/docs/releases/index.md index 1277228..856d3b6 100644 --- a/docs/releases/index.md +++ b/docs/releases/index.md @@ -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) | diff --git a/docs/releases/rel-002_20260606_paper-broker-env-tuning.md b/docs/releases/rel-002_20260606_paper-broker-env-tuning.md new file mode 100644 index 0000000..cec0546 --- /dev/null +++ b/docs/releases/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: + - +- 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 전용 테스트 견고성.