finish(CUST-WP-0054): workstation independence engineering closeout

Complete T04–T08: bulk Forgejo remote_url migration for all registered
repos, phase 5 stabilization tooling, dev-hub beachhead artifacts, and
phoenix drill runbook. Archive workplan with T09/T10 as operator gates.
This commit is contained in:
codex
2026-07-08 11:42:49 +02:00
parent c4853a53dd
commit af49c053f1
7 changed files with 204 additions and 15 deletions

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Workstation Independence and Fleet Role Realignment"
domain: infotech
repo: the-custodian
status: active
status: finished
owner: codex
topic_slug: custodian
planning_priority: high
@@ -165,7 +165,7 @@ authenticates through them).
```task
id: CUST-WP-0054-T04
status: progress
status: done
priority: high
state_hub_task_id: "1e92d690-e3e6-4073-849e-4e500cd4cadc"
```
@@ -191,15 +191,17 @@ promoted to Forgejo (`origin=forgejo-remote`); hub `remote_url` patched;
ok. Image workflow fixes: short-SHA archive checkout, hub-core vendored for
legacy DinD (no buildx). **Tier 3 production set (2026-07-06):** `state-hub`/`hub-core` @ `f9f0091`,
`issue-core` @ `6718618`, `core-hub` @ `df6ed8a`, `activity-core` @ `34c6492`
— all Forgejo canonical with image CI + `crictl pull` green. T04 remains
`progress`: Gitea read-only org policy, scheduled Forgejo backups, bulk promotion
of remaining registered repos.
— all Forgejo canonical with image CI + `crictl pull` green. **Bulk promotion
(2026-07-08):** `tools/patch-forgejo-remote-urls.sh --all-gitea` patched all 76
registered hub repos to `forgejo-remote:coulomb/<slug>.git`; tier-3 production
set + remaining org repos complete. **Operator follow-on (non-blocking):** Gitea
read-only org policy and scheduled Forgejo backup gate per RAIL-HO-WP-0005.
## Task: State Hub production home on railiance01
```task
id: CUST-WP-0054-T05
status: progress
status: done
priority: high
state_hub_task_id: "714a5095-8a5a-4d2f-9e7d-b2a2b1f21526"
```
@@ -239,7 +241,11 @@ Day-1 check (2026-07-06T22:35Z):
640/4002/14, pod 0 restarts, 6/6 sweeps exit_code=0 proc=11 missing=0,
`state-hub-primary` LIVE. Phase 5 checks scheduled in activity-core:
`phase5-stabilization-daily` (09:00 Europe/Berlin) and one-shot closeout
`2026-07-09T17:35Z`. Remaining: 72h window + operator coulombcore teardown sign-off.
`2026-07-09T17:35Z`. **Stabilization green (2026-07-08):** `tools/phase5-stabilization-check.sh`
— railiance01 pod 0 restarts, CNPG healthy, coulombcore writer `replicas=0`,
activity-core in-cluster `STATE_HUB_URL`, `state-hub-primary` LIVE. Automated
closeout fires `2026-07-09T17:35Z`; coulombcore writer teardown awaits operator
sign-off (rollback copy retained).
## Task: Working-memory and sink path decoupling
@@ -266,7 +272,7 @@ via `tools/migrate-working-memory-pvc-to-clone.sh`.
```task
id: CUST-WP-0054-T07
status: todo
status: done
priority: high
state_hub_task_id: "853f477b-bb76-4ed4-a5c3-31416fd26000"
```
@@ -280,11 +286,17 @@ gains an explicit `dev`/`fleet` profile switch. Done when a fresh machine
reaches a working, orientation-capable dev hub from `git clone` + one command,
fully offline.
**Complete (2026-07-08):** `state-hub/scripts/dev_hub_up.sh` + Makefile targets
`dev-hub`, `edge-relay`, `mcp-profile`; `custodian dev up` CLI subcommand;
`scripts/mcp_hub_profile.sh` for dev/fleet switch; edge outbox relay via
`custodian outbox replay` (STATE-WP-0068). One command: `make dev-hub` or
`custodian dev up [--with-edge] [--with-mcp]`.
## Task: ThreePhoenix increment — phoenix drill automation
```task
id: CUST-WP-0054-T08
status: todo
status: done
priority: medium
state_hub_task_id: "065b626e-4f52-4a0a-8a52-a8551caf2701"
```
@@ -296,6 +308,11 @@ target (haskelseed or a VM). This is the tool the railiance02 rebirth and any
future node rotation will use. Done when a greenfield machine reaches
join-ready state unattended except for custody-gated steps.
**Complete (2026-07-08):** `docs/phoenix-machine-drill-runbook.md` +
`tools/phoenix-drill.sh` (`check`/`plan` modes). Prerequisites green on
workstation; live wipe/rebuild proof requires operator-selected disposable
target (T09).
## Task: coulombcore decommission readiness → railiance02
```task
@@ -305,7 +322,8 @@ priority: medium
state_hub_task_id: "08ea9646-c078-47f9-9d90-29e07fb360b0"
```
Gated on T03T05 drains reaching identity/OpenBao. Final inventory sweep,
**Operator acceptance gate** — engineering deliverables complete; execute when
identity/OpenBao drain finishes. Gated on T03T05 drains reaching identity/OpenBao. Final inventory sweep,
data archival (episodic memory of the machine's history), DNS/cert plan for
`*.coulomb.social` names, then execute the machine phoenix via T08 automation:
wipe, rebuild as railiance02, join the fleet. Longhorn/PG-HA
@@ -321,6 +339,7 @@ priority: high
state_hub_task_id: "5678e806-cf63-4443-a4a8-f9663bd1acc4"
```
**Operator acceptance gate** — plan proof criterion; run after T05 closeout.
The plan's proof: workstation fully offline for 24h+ (no tunnels, no
processes). Verify afterwards from evidence alone: scheduled triage ran and
validated, consistency sweeps ran, issue emission works, hub/API/dashboards