docs(release): confirm REL-012 production rollout
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# REL-012 운영 실행 증적 및 `confirm-release` 기록
|
||||
|
||||
- Release: `REL-012`
|
||||
- Batch: `BAT-058` / `REQ-123`
|
||||
- Service: `trex-core` — 기존 `trex-core` daemon 1개
|
||||
- Evidence received: 2026-07-17 13:42:37 KST, `trex-op`의 M5 common evidence 보정본
|
||||
- Canonical source payload: [`81a853a314391da7a8bc9df5517013c7fd296d61`](https://github.com/fourblocks2020/trex-core/commit/81a853a314391da7a8bc9df5517013c7fd296d61)
|
||||
- Canonical release manifest: [`869e07fb34bd8a65d330da58a28cbcb1505b9625`](https://github.com/fourblocks2020/trex-core/commit/869e07fb34bd8a65d330da58a28cbcb1505b9625)
|
||||
- Evidence status: **complete for REL-012 release scope**
|
||||
|
||||
> 이 문서는 운영팀이 반환한 secret-free 실행 증적을 REL-012 전용 canonical release record로 전사한 것이다. M5 공통 handoff는 supporting evidence이며, 이 문서가 REL-012의 release-specific primary record다. credential, token, account number, DSN, raw broker/portfolio response는 기록하지 않는다.
|
||||
|
||||
## 1. 승인 및 preflight
|
||||
|
||||
| Gate | Result | Recorded evidence |
|
||||
| --- | --- | --- |
|
||||
| Production execution approval | PASS | 사용자 명시 지시: `지금 실행` |
|
||||
| Execution window | PASS | 승인 시각부터 완료 시까지의 off-market window |
|
||||
| Initial checkout | PASS | detached `6d90f895...` |
|
||||
| Release refresh | PASS | `deploy-trex-core.sh --update-only`; refreshed main `869e07f` |
|
||||
| Pre-deploy / rollback revision | PASS | `ROLLBACK_REVISION = 869e07fb34bd8a65d330da58a28cbcb1505b9625` |
|
||||
| Checkout cleanliness | PASS | clean |
|
||||
| Payload publication | PASS | `81a853a` verified on origin feature ref before execution |
|
||||
| Dependency / migration delta | PASS | none |
|
||||
| Configuration / credential / break-glass change | PASS | none |
|
||||
| Approved activation method | PASS | approved supervisor; program `trex-core:trex-admin-daily-trading` |
|
||||
|
||||
## 2. Daemon activation
|
||||
|
||||
| Check | Result | Recorded evidence |
|
||||
| --- | --- | --- |
|
||||
| Pinned payload checkout | PASS | `81a853a314391da7a8bc9df5517013c7fd296d61` |
|
||||
| Existing daemon stop | PASS | old daemon stopped through approved supervisor |
|
||||
| New daemon start | PASS | same approved configuration |
|
||||
| Supervisor state | PASS | `RUNNING` |
|
||||
| Startup log interval | PASS | error / critical / traceback count `0` |
|
||||
| RabbitMQ / application connectivity | PASS | startup connection accepted |
|
||||
| Rollback | Not required | no stop condition observed |
|
||||
|
||||
## 3. Read-only / dry-run acceptance
|
||||
|
||||
| Command / check | Result | Sanitized evidence |
|
||||
| --- | --- | --- |
|
||||
| `sync --all --dry-run --config trex-admin-daily-trading --json` | PASS | exit `0`; results `145`; skipped `145`; write indications `0`; classification `broker_qty_zero` |
|
||||
| `verify --config trex-admin-daily-trading --json` | PASS | exit `0`; result count `0`; `no C-warned slots found` |
|
||||
| Prohibited rollout actions | PASS | no `sync --live`, no `--yes` live write, no order action during REL-012 deployment scope |
|
||||
|
||||
The deployment evidence satisfies the REL-012 runbook's restart and read/dry-run-only acceptance contract. No DB migration, DB edit, dependency/configuration/credential change, AMQP topology change, or strategy daemon deployment was recorded.
|
||||
|
||||
## 4. Separate post-release operational action
|
||||
|
||||
After the REL-012 daemon rollout, a **separately user-approved** single-target remediation was performed for `genichin-longterm` / symbol `005930`. It is not deployment smoke and does not enlarge REL-012's deployment scope.
|
||||
|
||||
- Prior dry-run: projected `holding`, broker qty `5`, projected avg price `124580.0`, `seeded_avg_price=true`, no write.
|
||||
- Separately authorized action: `sync --live --yes` for that single target; exit `0`.
|
||||
- Readback: `holding`, qty `5.0`, avg price `124580.0`, no warning / reconcile warning; `verify` PASS.
|
||||
- Rollback: not required.
|
||||
|
||||
## 5. `confirm-release` decision
|
||||
|
||||
- **Decision:** `Released`
|
||||
- **Lead rationale:** immutable deployed payload and manifest are identified; approval, preflight, activation, startup observation, rollback disposition, and permitted read-only/dry-run smoke are complete and PASS. No release-scope stop condition was observed.
|
||||
- **Released scope:** existing `trex-core` daemon only.
|
||||
- **Excluded services / changes:** `portfolio-hub`, `kis-data-hub`, `trex-orb-v1`, `trex-tsl-v1`, strategy daemons, DB schema, credentials/configuration, and AMQP topology.
|
||||
- **Remaining boundary:** any future `sync --live` remains independently authorized per target and is not a daemon rollout shortcut.
|
||||
|
||||
## 6. Feedback and train boundary
|
||||
|
||||
- The no-write dry-run and `verify` acceptance checks passed after restart; no new release blocker was observed.
|
||||
- This record confirms **REL-012 only**. It does not reclassify the M5 release train as `Train Released`.
|
||||
- `trex-core REL-011` still lacks its own release-specific execution evidence in the received M5 handoff and remains `draft`; therefore the M5 train remains **not fully released** pending a separate REL-011 evidence decision.
|
||||
|
||||
## 7. Evidence sources
|
||||
|
||||
- [REL-012 release draft](../rel-012_20260717_cost-basis-safe-sync-seed-hotfix.md)
|
||||
- [REL-012 deployment runbook](../../runbooks/rel-012-cost-basis-safe-sync-seed-deployment.md)
|
||||
- [REL-012 operations handoff](../../runbooks/rel-012-cost-basis-safe-sync-seed-ops-handoff.md)
|
||||
- [BAT-058 verification](../../batches/bat-058_20260716_cost-basis-safe-sync-seed/verification.md)
|
||||
- Operations supporting handoff: `M5-common-evidence-handoff-revised-20260717-134237-ozxbxkeaybgzpgzmgt3aqshcba.md` (received by lead, 2026-07-17)
|
||||
Reference in New Issue
Block a user