Files
trex-core/docs/runbooks/rel-012-cost-basis-safe-sync-seed-ops-handoff.md
T

51 lines
3.9 KiB
Markdown

# TREX REL-012 운영팀 배포 요청 근거
- 대상: 운영팀 (`trex-op`)
- 작성일: 2026-07-17
- 상태: **긴급 배포 사전 근거 완료 — explicit production execution approval / window / host preflight 대기**
> 이 문서는 운영팀용 요약이다. 실제 실행은 immutable remote source에 존재하는 REL-012 및 deployment runbook만 따른다. 이 문서는 deployment approval 또는 execution completion이 아니다.
## 1. 결론
BAT-058은 independent QC-7 `PASS-WITH-NOTES`를 수용해 batch verification을 완료했고, REL-012 긴급 릴리즈 초안을 준비했다. 배포 후보 [`81a853a`](https://github.com/fourblocks2020/trex-core/commit/81a853a314391da7a8bc9df5517013c7fd296d61)는 `origin/feat/dcy-038-cost-basis-safe-sync-seed`에 게시·원격 ref 검증됐다. 운영팀은 explicit production execution approval이 확인되기 전에는 배포를 시작하지 말고, 승인된 window에서 host preflight를 완료한 뒤에만 실행한다.
## 2. 배포 전 근거와 원본
| 순서 | Release | 배포 대상 source/artifact | 비운영 근거 | 실행 전 남은 gate | immutable 원본 링크 |
| --- | --- | --- | --- | --- | --- |
| 1 | REL-012 / BAT-058 | [`81a853a`](https://github.com/fourblocks2020/trex-core/commit/81a853a314391da7a8bc9df5517013c7fd296d61) | QC-7: focused `113 passed`, full `833 passed, 47 skipped`; release-prep full regression `833 passed, 47 skipped`; focused Ruff/compileall PASS | production execution approval·window·host preflight (운영팀은 target SHA를 독립 재확인) | [commit 81a853a](https://github.com/fourblocks2020/trex-core/commit/81a853a314391da7a8bc9df5517013c7fd296d61) |
원본 문서(현재 release candidate worktree):
- REL draft: [`REL-012`](../releases/rel-012_20260717_cost-basis-safe-sync-seed-hotfix.md)
- 운영 runbook: [`REL-012 deployment runbook`](rel-012-cost-basis-safe-sync-seed-deployment.md)
- batch verification: [`BAT-058 verification`](../batches/bat-058_20260716_cost-basis-safe-sync-seed/verification.md)
## 3. 승인 후 실행 순서
1. **Git-ops / lead** — reviewed source와 REL/runbook을 commit·push하고 exact remote SHA 및 immutable commit URLs를 검증·전달한다.
2. **운영팀** — 승인된 장외 window에 `ROLLBACK_REVISION`, clean checkout, unchanged config/credential mode, dependency/migration delta를 preflight에 기록한다.
3. **운영팀** — approved supervisor로 동일 config의 trex-core daemon을 target SHA로 재기동한다.
4. **운영팀** — startup acceptance 후 `sync --all --dry-run --json` 및 `verify --json`만 수행하고 runbook evidence template을 반환한다.
5. **팀장** — evidence를 검토해 `confirm-release` 여부를 판정한다.
어느 단계에서든 stop condition이면 즉시 rollout을 멈추고 captured `ROLLBACK_REVISION`으로 되돌린다. `sync --live`는 이 배포 요청의 범위가 아니다.
## 4. 핵심 주의사항 / 중단 조건
- 허용 범위: daemon restart, startup/log inspection, `sync --dry-run`, `verify`.
- 금지 범위: `sync --live`, `--yes` live write, 자동 remediation, 주문 명령, DB/스키마 변경, config/credential/break-glass 변경, AMQP topology 변경.
- target SHA가 정확하지 않거나 dirty checkout, dependency/migration delta, startup error/traceback, unexpected write indication, fail-closed 위반, unsafe empty-balance 해석이 있으면 **중단 및 rollback**.
- token, secret, account number, DSN, raw broker/portfolio payload를 전달서 또는 증적에 기록하지 않는다.
## 5. 운영팀 반환 증적
runbook의 evidence template을 작성해 아래만 전달한다.
- approver/window/operator 및 redacted host/instance identifier
- target SHA와 `ROLLBACK_REVISION`
- clean-checkout·dependency/migration preflight 결과
- daemon restart/startup·dry-run·verify의 secret-free 결과
- no-write/fail-closed 관찰 결과, rollback 여부와 사유/복구 SHA