docs(CUST-WP-0054): record Phase 2 data migration evidence
coulombcore frozen; pg_restore to railiance01 with exact-count gate pass. Phase 3 access rewire still pending.
This commit is contained in:
62
docs/state-hub-railiance01-cutover-phase2-2026-07-06.md
Normal file
62
docs/state-hub-railiance01-cutover-phase2-2026-07-06.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# T05 Phase 2 Evidence — Data Migration to railiance01 (2026-07-06)
|
||||
|
||||
Workplan: `CUST-WP-0054-T05`
|
||||
Parent runbook: `docs/state-hub-railiance01-cutover-plan.md`
|
||||
`no_secret_material_recorded: true`
|
||||
|
||||
## Checklist
|
||||
|
||||
| Step | Action | Result | Evidence |
|
||||
| --- | --- | --- | --- |
|
||||
| 2.1 | Pre-freeze `pg_dump` (coulombcore) | **pass** | `/tmp/state-hub-prefreeze-20260706T165001Z.dump` (3.0 MiB) |
|
||||
| 2.2 | Freeze coulombcore writer | **pass** | `deployment/state-hub` scaled to 0 |
|
||||
| 2.3 | Final `pg_dump` after freeze | **pass** | `/tmp/state-hub-final-20260706T165019Z.dump` (3.0 MiB) |
|
||||
| 2.4 | Restore into railiance01 `state-hub-db` | **pass** | DROP/CREATE `state_hub` + `pg_restore --role=state_hub` |
|
||||
| 2.5 | Exact-count comparison | **pass** | All 7 baseline tables match ±0 |
|
||||
| 2.6 | Scale railiance01 API + verify | **pass** | Forgejo `main-d1a4fcf`; `/state/health` ok |
|
||||
|
||||
**Phase 2 status: complete.** Phase 3 (rewire access paths) not started.
|
||||
|
||||
## Baseline counts (pre-freeze gate)
|
||||
|
||||
Captured from coulombcore `state-hub-db-1` @ 2026-07-06T16:50Z:
|
||||
|
||||
| Table | Count |
|
||||
| --- | ---: |
|
||||
| `workplans` | 640 |
|
||||
| `tasks` | 4002 |
|
||||
| `topics` | 14 |
|
||||
| `progress_events` | 8723 |
|
||||
| `token_events` | 1936 |
|
||||
| `managed_repos` | 74 |
|
||||
| `decisions` | 79 |
|
||||
|
||||
Post-restore counts on railiance01 matched exactly.
|
||||
|
||||
## Production state after Phase 2
|
||||
|
||||
| Cluster | API | DB writer |
|
||||
| --- | --- | --- |
|
||||
| **railiance01** | Running 1/1 (`forgejo…:main-d1a4fcf`) | **primary** (restored data) |
|
||||
| **coulombcore** | Scaled to **0** (frozen, rollback-capable) | Unchanged CNPG (source dump retained) |
|
||||
|
||||
Workstation `http://127.0.0.1:8000` still tunnels to coulombcore — **unreachable until Phase 3**.
|
||||
|
||||
## API verification (port-forward `18081:8000`)
|
||||
|
||||
```json
|
||||
{"status":"ok","db":"connected"}
|
||||
```
|
||||
|
||||
`GET /state/summary` totals: topics=14, workstreams=640, tasks=4002, decisions=79.
|
||||
|
||||
## Rollback
|
||||
|
||||
- coulombcore dump files retained under `/tmp/state-hub-*-20260706T*.dump` on workstation
|
||||
- Scale coulombcore `state-hub` back to 1; do **not** delete railiance01 data until Phase 5 stabilizes
|
||||
|
||||
## Next: Phase 3
|
||||
|
||||
- Repoint `state-hub-primary` tunnel → railiance01 ClusterIP `10.43.68.154:8000`
|
||||
- activity-core in-cluster URL; retire `fleet-state-hub-coulombcore`
|
||||
- Smoke `POST /progress/` through production path
|
||||
@@ -218,12 +218,12 @@ so file writebacks no longer touch workstation paths.
|
||||
`fleet-state-hub-coulombcore` → `:18000`. Target hostname for sweep paths:
|
||||
`239.62.205.92.host.secureserver.net`. **Phase 0 preflight done** (2026-07-06):
|
||||
baseline counts recorded — `docs/state-hub-railiance01-cutover-preflight-2026-07-06.md`.
|
||||
**Phase 1 complete** (2026-07-06): empty stack on railiance01 — CNPG `state-hub-db`
|
||||
healthy, Alembic at head, `/state/health` ok, baseline tables 0 rows; Service
|
||||
ClusterIP `10.43.68.154:8000`. Deploy uses `gitea…:f2e042a` workaround (Forgejo
|
||||
`main-f9f0091` empty venv); rebuild before Phase 2 —
|
||||
`docs/state-hub-railiance01-cutover-phase1-2026-07-06.md`. **Blocked on operator
|
||||
approval** before Phase 2 freeze/restore.
|
||||
**Phase 1 complete** (2026-07-06): `docs/state-hub-railiance01-cutover-phase1-2026-07-06.md`.
|
||||
**Phase 2 complete** (2026-07-06): coulombcore writer frozen (Deployment 0);
|
||||
`pg_dump` restored to railiance01 with exact-count match (640 wp / 4002 tasks /
|
||||
8723 progress); railiance01 API on `forgejo…:main-d1a4fcf`, ClusterIP
|
||||
`10.43.68.154:8000` — `docs/state-hub-railiance01-cutover-phase2-2026-07-06.md`.
|
||||
Workstation `:8000` still points at frozen coulombcore until **Phase 3 rewire**.
|
||||
|
||||
## Task: Working-memory and sink path decoupling
|
||||
|
||||
|
||||
Reference in New Issue
Block a user