Update RAIL-HO-WP-0005 with Forgejo cutover progress and mark T08 done
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

Sync the workplan file with State Hub (fix-consistency backing link), record
2026-07-06 state-hub tier-3 cutover evidence, refresh the Forgejo org
inventory snapshot, and close T08 now that Actions criteria are met.
This commit is contained in:
tegwick 2026-07-07 01:50:57 +02:00
parent 5fbf583843
commit 48610117c7
2 changed files with 73 additions and 28 deletions

View file

@ -205,6 +205,35 @@ This first pass satisfies the public and infrastructure metadata part of T01.
T01 should remain open until the authenticated admin inventory and missing repo T01 should remain open until the authenticated admin inventory and missing repo
classification are complete. classification are complete.
## Addendum (2026-07-07) — Forgejo org snapshot
Public API `GET /api/v1/orgs/coulomb/repos` on `forgejo.coulomb.social` reports
**13 repositories** (up from 8 on 2026-07-04):
| Repo | Tier | Notes |
| --- | ---: | --- |
| `forgejo-actions-probe` | 0 | Disposable runner/OCI probe |
| `glas-harness` | 1 | Git+SSH+CI pilot |
| `key-cape` | 2 | Image CI + `crictl pull` on railiance01 |
| `railiance-enablement` | 2.5 | S4 workflow templates |
| `railiance-infra` | 2.5 | Stack promotion |
| `railiance-apps` | 2.5 | Stack promotion |
| `railiance-platform` | 2.5 | Stack promotion |
| `railiance-cluster` | 2.5 | Stack promotion |
| `state-hub` | 3 | Primary hub cutover 2026-07-06 (`CUST-WP-0054-T05`) |
| `issue-core` | 3 | Production service repo on Forgejo |
| `activity-core` | 3 | Production coordination repo on Forgejo |
| `hub-core` | 3 | On Forgejo; hub `remote_url` may still reference Gitea |
| `core-hub` | 3 | On Forgejo; hub `remote_url` may still reference Gitea |
State Hub remote_url cross-check (2026-07-07): 5 repos registered with Forgejo
remotes, 57 with Gitea remotes, 10 without remote URL. Sweep host_paths on
railiance01 cover 74 clone paths after phase 4 migration.
Remaining T01 gaps: authenticated Gitea admin inventory (users, teams, deploy
keys, tokens, webhooks, LFS, attachments) and classification of the ~36 Gitea
repos not yet mirrored to Forgejo.
## Addendum (2026-07-04) — migration ladder and new repos ## Addendum (2026-07-04) — migration ladder and new repos
`RAIL-HO-WP-0005` now uses a **staged per-repo ladder** instead of an isolated `RAIL-HO-WP-0005` now uses a **staged per-repo ladder** instead of an isolated

View file

@ -8,7 +8,7 @@ status: active
owner: railiance owner: railiance
topic_slug: railiance topic_slug: railiance
created: "2026-05-03" created: "2026-05-03"
updated: "2026-07-04" updated: "2026-07-07"
state_hub_workstream_id: "84e17675-0d15-4268-a8bd-540124d37018" state_hub_workstream_id: "84e17675-0d15-4268-a8bd-540124d37018"
--- ---
@ -24,12 +24,14 @@ Forgejo will become the heart of Railiance infrastructure. The work must be
fully automated, backup-backed, recovery-drilled, and suitable for long-lived fully automated, backup-backed, recovery-drilled, and suitable for long-lived
operation on railiance01 before any production cutover happens. operation on railiance01 before any production cutover happens.
**Sequencing update (2026-07-04):** Production Forgejo is live on railiance01 **Sequencing update (2026-07-07):** Production Forgejo is live on railiance01.
with Gitea still canonical per the safety contract. Repo cutover proceeds Repo cutover proceeds **staged per-repo** using a migration ladder (disposable
**staged per-repo** using a migration ladder (disposable probes → non-production probes → non-production pilots → image-capable pilots → production repos).
pilots → image-capable pilots → production repos). `state-hub` is last. See `state-hub` tier-3 cutover to railiance01 **completed 2026-07-06** under
`CUST-WP-0054-T04` and `CUST-WP-0054-T05` (phases 15 in progress; stabilization window through
`the-custodian/docs/forgejo-repo-migration-pilot-glas-harness.md`. 2026-07-09). Gitea remains read-only fallback for unmigrated repos. See
`CUST-WP-0054-T04`, `the-custodian/docs/forgejo-repo-migration-pilot-glas-harness.md`,
and `the-custodian/docs/state-hub-railiance01-cutover-plan.md`.
## Placement in the Railiance Tooling Set ## Placement in the Railiance Tooling Set
@ -102,7 +104,7 @@ Integration evidence now comes from **in-production probes and repo pilots**:
| 1 | `coulomb/glas-harness` | Non-production git+SSH+CI routing drill | **done** | | 1 | `coulomb/glas-harness` | Non-production git+SSH+CI routing drill | **done** |
| 2 | `coulomb/key-cape` | Image-build workflow + registry pull on railiance01 | **done** | | 2 | `coulomb/key-cape` | Image-build workflow + registry pull on railiance01 | **done** |
| 2.5 | `railiance-enablement`, `railiance-infra`, `railiance-apps`, `railiance-platform`, `railiance-cluster` | Stack repos on Forgejo + S4 templates | **done** | | 2.5 | `railiance-enablement`, `railiance-infra`, `railiance-apps`, `railiance-platform`, `railiance-cluster` | Stack repos on Forgejo + S4 templates | **done** |
| 3 | Production set (`state-hub`, `issue-core`, …) | Canonical remotes, sweep paths, deploy loops | **gated** | | 3 | Production set (`state-hub`, `issue-core`, …) | Canonical remotes, sweep paths, deploy loops | **in progress** (`state-hub` cutover 2026-07-06) |
Each tier must pass before the next. T03 (isolated probe namespace) is cancelled; Each tier must pass before the next. T03 (isolated probe namespace) is cancelled;
acceptance criteria below are tracked across T05, T07, T08, and T10 instead. acceptance criteria below are tracked across T05, T07, T08, and T10 instead.
@ -158,9 +160,10 @@ Minimum inventory:
Forgejo before cutover and classifies each migration item as automatic, Forgejo before cutover and classifies each migration item as automatic,
manual, unsupported, or explicitly out of scope. manual, unsupported, or explicitly out of scope.
**Gap (2026-07-04):** first-pass inventory predates repos created after **Gap (2026-07-07):** Forgejo org snapshot and tier column added in inventory
2026-06-04 (e.g. `glas-harness`, `forgejo-actions-probe`). Refresh org repo addendum (13 repos on Forgejo; 49 on Gitea per 2026-06 pass). Authenticated
list and add a **migration tier** column (03) per repo before T11. Gitea admin inventory (users, teams, deploy keys, tokens, webhooks, LFS) still
pending before T11 wave for remaining production repos.
--- ---
@ -327,14 +330,16 @@ Acceptance:
- Retention and cleanup expectations are documented. - Retention and cleanup expectations are documented.
- Package data is included in backup and restore drills. - Package data is included in backup and restore drills.
**Partial (2026-07-04):** OCI registry live (`/v2/` auth challenge). Tier-0/2 **Partial (2026-07-07):** OCI registry live (`/v2/` auth challenge). Tier-0/2
images built and pulled on railiance01: `forgejo-actions-probe`, `key-cape` images built and pulled on railiance01: `forgejo-actions-probe`, `key-cape`
(`crictl pull forgejo.coulomb.social/coulomb/key-cape:latest` succeeded). (`crictl pull forgejo.coulomb.social/coulomb/key-cape:latest` succeeded).
Remaining: `state-hub` image after tier-3 approval; document retention; include Tier-3 `state-hub` images built and deployed (`main-f9f0091`, `latest` on
packages in backup drill (T09). railiance01, 2026-07-06). Remaining: document retention; include packages in
scheduled backup automation (T09).
**Done when:** tier-2 gate is fully satisfied (✓) and tier-3 production images **Done when:** tier-2 gate is fully satisfied (✓) and tier-3 production images
follow the same pattern after explicit approval. follow the same pattern after explicit approval. **Tier-2 gate met; tier-3
pattern proven by `state-hub`.**
--- ---
@ -342,7 +347,7 @@ follow the same pattern after explicit approval.
```task ```task
id: RAIL-HO-WP-0005-T08 id: RAIL-HO-WP-0005-T08
status: progress status: done
priority: high priority: high
state_hub_task_id: "f45f98c9-2f02-4224-bbfd-c2e1ec38581e" state_hub_task_id: "f45f98c9-2f02-4224-bbfd-c2e1ec38581e"
``` ```
@ -370,10 +375,12 @@ non-root (static docker-cli, no `apk add`); `actions/checkout@v4` fails — use
archive checkout, static docker-cli). **Templates (2026-07-04):** S4 archive checkout, static docker-cli). **Templates (2026-07-04):** S4
`railiance-enablement/workflows/` (`ci-smoke`, `container-build-push`, `railiance-enablement/workflows/` (`ci-smoke`, `container-build-push`,
`container-build-push-multirepo` for `hub-core` contexts) + `container-build-push-multirepo` for `hub-core` contexts) +
`docs/forgejo-actions-workflow-templates.md`. Remaining: resource limits review. `docs/forgejo-actions-workflow-templates.md`. Tier-3 `state-hub` image build
and deploy proven 2026-07-06 (`main-f9f0091` on railiance01).
**Done when:** tier-2 pilot repo runs Forgejo Actions end-to-end and publishes **Done when:** tier-2 pilot repo runs Forgejo Actions end-to-end and publishes
a pullable image without privileged cluster-wide credentials. **Tier 2: done.** a pullable image without privileged cluster-wide credentials. **Met 2026-07-04.**
Resource limits review deferred to ongoing ops (non-blocking).
--- ---
@ -456,13 +463,20 @@ Evidence in `the-custodian/docs/forgejo-repo-migration-pilot-glas-harness.md`
`tegwick` SSH on Forgejo; enablement templates published. Evidence: pilot doc `tegwick` SSH on Forgejo; enablement templates published. Evidence: pilot doc
tier 2.5 section. tier 2.5 section.
**Not ready:** `state-hub` (tier 3) until playbook is **executed** for **Tier 3 in progress (2026-07-06):** `state-hub` cutover executed under
`state-hub` (playbook drafted 2026-07-04: `CUST-WP-0054-T05` — phases 14 complete (empty stack, data restore, access
`the-custodian/docs/forgejo-tier3-remote-url-sweep-playbook.md`) and scheduled rewire, sweep checkout migration on railiance01); phase 5 stabilization window
backups gate is closed (disaster-control). open through 2026-07-09. Evidence:
`the-custodian/docs/state-hub-railiance01-cutover-phase{1,2,4,5}-2026-07-06.md`.
Forgejo also hosts `issue-core`, `activity-core`, `hub-core`, `core-hub` (13
org repos total as of 2026-07-07).
**Remaining:** tier-3 promotion for remaining production repos; scheduled
backups gate still open (disaster-control); stabilization closeout + operator
signoff before coulombcore teardown.
**Done when:** tiers 02 pass with written result matrices and no unknown **Done when:** tiers 02 pass with written result matrices and no unknown
critical migration gaps remain for production repos. critical migration gaps remain for production repos. **Tiers 02.5: met.**
--- ---
@ -541,11 +555,13 @@ T05+T08 ──► T10 migration ladder ──► T11 production cutover ──
T03 isolated probe: CANCELLED (superseded by T05 + in-production pilots) T03 isolated probe: CANCELLED (superseded by T05 + in-production pilots)
``` ```
**Current focus (2026-07-04):** T10 tiers 02 **complete**; T09 restore drill **Current focus (2026-07-07):** T08 **done**; T10 tiers 02.5 **complete**, tier-3
**passed** (scheduled backups + backup target still open); T02 decisions (SMTP, `state-hub` cutover **in progress** (phase 5 stabilization). T09 restore drill
backup target) before tier-3 production repos. **passed** but scheduled backups + backup target still open. T02/T06 SMTP and
Do not start T11 `state-hub` until T09 complete and `CUST-WP-0054` Wave-1 backup-target decisions remain operator-gated. T11 partial: `state-hub` primary
gates satisfied. on railiance01; ~57 State Hub repos still point at Gitea remotes.
Do not retire coulombcore `state-hub` until phase 5 closeout and operator
signoff (`CUST-WP-0054-T05`).
**Absorbed by `CUST-WP-0054-T04`:** forge + CI on railiance01; workstation **Absorbed by `CUST-WP-0054-T04`:** forge + CI on railiance01; workstation
build retirement; staged repo promotion before State Hub primary move (T05). build retirement; staged repo promotion before State Hub primary move (T05).