generated from coulomb/repo-seed
87 lines
3.1 KiB
Markdown
87 lines
3.1 KiB
Markdown
---
|
|
id: CORE-WP-0005
|
|
type: workplan
|
|
title: "Migrate Inter-Hub data and cut over production"
|
|
domain: infotech
|
|
repo: core-hub
|
|
status: active
|
|
owner: codex
|
|
topic_slug: custodian
|
|
created: "2026-06-27"
|
|
updated: "2026-06-27"
|
|
state_hub_workstream_id: "a36efc08-5906-40c7-b1de-f3a553ffea02"
|
|
---
|
|
|
|
# Migrate Inter-Hub data and cut over production
|
|
|
|
Move production framework responsibility from Haskell Inter-Hub to Core Hub only after compatibility evidence exists.
|
|
|
|
## Design Migration Path
|
|
|
|
```task
|
|
id: CORE-WP-0005-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "01909b75-2229-41e2-a61a-c4c9ef84c232"
|
|
```
|
|
|
|
Result 2026-06-27: Defined and implemented the `core-hub.migration.v1` bundle path with validation, dry-run/import CLI, idempotent framework-record import, row-count reports, relationship diagnostics, non-secret API key handling, persisted `migration_runs`, fixture/schema coverage, and rollback procedure.
|
|
|
|
## Run Staging Import
|
|
|
|
```task
|
|
id: CORE-WP-0005-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "e0ea0928-a3ea-4ece-bbb7-ee08f8a3279b"
|
|
```
|
|
|
|
Import production-safe or full approved Inter-Hub data into Core Hub staging. The importer is ready; this now waits on an approved Inter-Hub export bundle and target staging database. Record counts and discrepancies from the generated migration report.
|
|
|
|
2026-06-27 continuation: `CORE-WP-0008-T04` added the Core Hub staging
|
|
deployment profile and migration job/runbook. This task still waits for an
|
|
approved Inter-Hub export bundle and provisioned staging database before an
|
|
actual import can run.
|
|
|
|
## Dual-Run Smokes
|
|
|
|
```task
|
|
id: CORE-WP-0005-T03
|
|
status: wait
|
|
priority: high
|
|
state_hub_task_id: "9166afe8-27ef-4345-a7b1-c33f15c90673"
|
|
```
|
|
|
|
Run public and protected smokes against both Inter-Hub and Core Hub. Record compatibility deltas.
|
|
|
|
2026-06-27 continuation: `CORE-WP-0008` provides the API-first deployed smoke and staging profile that should feed this dual-run gate.
|
|
|
|
## Production Cutover
|
|
|
|
```task
|
|
id: CORE-WP-0005-T04
|
|
status: wait
|
|
priority: high
|
|
state_hub_task_id: "fa68858a-b18e-4f09-a477-6b11e54099d4"
|
|
```
|
|
|
|
With operator approval, switch production traffic such as `hub.coulomb.social` to Core Hub. Keep rollback available until stabilization passes.
|
|
|
|
|
|
## Progress 2026-07-02 — staging import completed
|
|
|
|
Built the Inter-Hub exporter (`scripts/migration/inter_hub_export.sql`, read-only
|
|
against the `interhub` DB on net-kingdom-pg) emitting a validated
|
|
`core-hub.migration.v1` bundle (sha256 `e1b53b7f2d67ef7a…`): 1 hub (`ops-hub`),
|
|
1 manifest, 2 api consumers, 8 api keys (prefix+hash only), 15 widgets, 1
|
|
interaction event. `migration validate` passed with zero errors/warnings and no
|
|
secret material.
|
|
|
|
Imported into Core Hub staging via an in-cluster Job (staging DB URL from
|
|
`core-hub-staging-env` secretKeyRef, bundle via ConfigMap): dry-run `ok=true`
|
|
(28 would-create), real import created all 28 records with zero errors, and a
|
|
second run proved idempotency (created=0, updated=28, no duplicates).
|
|
Server-side confirmed: the imported `ops-hub` hub and its 15 widgets are visible
|
|
via `/api/v2/*`. T02 done; the staging DB now holds real Inter-Hub data for the
|
|
T03 dual-run smokes.
|