# State Hub Migration Strategy Status Updated: 2026-06-27 ## Decision Use `CUST-WP-0011` as the active State Hub stabilization path. Keep `CUST-WP-0038` and `RAIL-BS-WP-0007` as deferred HA/ThreePhoenix follow-up lanes. Rationale: the pragmatic railiance01 deployment has already completed image publish, cluster manifests, empty deploy, migrations, WSL2 data restore, row-count comparison, and cluster API health checks. The remaining work is cutover and stabilization, not initial buildout. ## Current State | Path | State | Next action | | --- | --- | --- | | `CUST-WP-0011` pragmatic railiance01 | T01-T06 done. Cluster State Hub has verified restored WSL2 data and healthy API. | T07: get explicit approval to freeze WSL2 writes, restore final dump, compare again, and redirect private access/MCP to the cluster endpoint. | | `CUST-WP-0038` full HA State Hub | Entry criteria depend on completing or superseding CUST-WP-0011 and passing stabilization. All implementation tasks are still todo. | Defer until cluster-hosted State Hub proves stable and ThreePhoenix storage/database strategy is current. | | `RAIL-BS-WP-0007` ThreePhoenix HA cluster | All phases are todo. | Treat as substrate work for future critical workloads and HA State Hub, not as a blocker for pragmatic cutover. | ## Human Gates - `CUST-WP-0011-T07`: explicit approval required before freezing WSL2 writes and making the cluster State Hub primary. - `CUST-WP-0038-T08`: explicit approval required before retiring WSL2 fallback after HA failover and restore drills. ## Stable Pickup Path 1. Reconfirm current WSL2 backup and take final pre-cutover dump. 2. Restore final dump into railiance01 State Hub and compare counts again. 3. Redirect the active private access path: either keep local `127.0.0.1:8000` and move it to an ops-bridge/SSH tunnel, or set MCP `API_BASE` to the private cluster endpoint. 4. Run stabilization with WSL2 retained as fallback. 5. Document the operating model and leave final retirement to a later explicit decision or HA workplan.