Refresh org refactor plan against September readiness evidence

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e782-9f45-7382-afff-77ad665b88ec
This commit is contained in:
tegwick 2026-09-28 12:20:59 +02:00
parent 2a59d0d354
commit dff3513a4f
4 changed files with 204 additions and 22 deletions

View file

@ -9,7 +9,7 @@ flavor: implementation
owner: codex
topic_slug: railiance
created: "2026-08-11"
updated: "2026-08-19"
updated: "2026-09-28"
related_repos:
- railiance-forge
- railiance-platform
@ -30,7 +30,7 @@ This workplan exists so the finding and its evidence are not lost, and so the
condition for starting is written down and checkable rather than a judgement
call made from memory months later.
All tasks remain `todo` (not started) while the project-wide deferral stands.
All tasks remain `todo`: this review updates the plan, not task acceptance.
An operator may move T01/T02 to `progress` before the full execution gate
because they are read-only; T03 onward still requires all four gate conditions.
@ -52,6 +52,29 @@ because they are read-only; T03 onward still requires all four gate conditions.
T01 and T02 below are safe to run at any time — they are read-only and they
build the evidence the gate depends on.
## Readiness review — 2026-09-28
See [evidence, owner records and next sequence](../history/2026-09-28-readiness-review.md).
| Condition | Current evidence | Disposition |
| --- | --- | --- |
| 1 | Validator implemented in `RMASTER-WP-0021-T05`; current local scan: 16 declarations, zero errors, one warning | Green for inspected fleet; rerun before execution |
| 2 | Coverage check exists (`RMASTER-WP-0021-T06`); universal scope clarified by `RMASTER-WP-0025`. August 13 snapshot yields 36 errors/19 warnings today | Not met; fresh complete coverage required |
| 3 | No complete G1 command or stable paired output; bounded local count now 151 `coulomb` origins | Not met; T01 remains open |
| 4 | No applicable Git/package transfer rollback receipt found | Not met; T03 onward remains gated |
**Circular prerequisite:** T04 cannot produce the first condition-4 proof while
it is itself gated on that proof. Pending decision
`e9aca79b-f167-4326-94cd-037dcea34cd2` proposes a separately scoped disposable
forge-owner rehearsal after conditions 1–3, with all four conditions retained for
production. It is a proposal, not an exception to AGENTS.md. Until the gate is
explicitly amended, consume independently authorized applicable proof or remain
deferred. Do not start T03/T04 to work around this dependency.
Reuse owner work instead of rebuilding it: `RPF-WP-0028` provides durable image
inventory; `RPF-WP-0048-T03` provides digest/rollback retention protection.
Neither establishes complete current rapp coverage or org-transfer recovery.
## Boundaries
This project may:
@ -78,9 +101,22 @@ state_hub_task_id: "4964bf8f-96eb-59f0-8a50-5ecb5c7dbc8f"
Build the re-runnable `coulomb/` reference inventory (G1). Must cover: git
remotes across all repos, ArgoCD `repoURL` values, chart image `repository:`
paths, `Chart.yaml` `home:`/`sources:`, submodules, and CI configs. Output a
paths, `Chart.yaml` `home:`/`sources:`, submodules, and CI configs. Also include AppProject source allowlists, repository access
references, reusable Actions, runners/webhooks, package indexes, digest/tag
retention inputs, and release/rollback image references. Output a
machine-readable inventory under `inventory/` plus a command that can be
re-run to verify clean at G6.
re-run to verify clean at G6. Discover actual server product/version and all
Git/registry endpoints; owner docs disagree with the seed's Forgejo-only naming.
Reconcile server repository IDs with registered repos and clones; do not treat
151 local origins as a complete server census. Inventory package ownership
separately from linked repositories. Capture source revisions, unavailable
surfaces, exclusions and reference owners without secret values.
Acceptance: two normalized inventory runs match with no intervening fleet
changes; unresolved coverage is explicit and prevents G1 acceptance. G6 checks
moved paths against an approved disposition list, preserving legitimate retained
`coulomb` paths and historical records. This read-only collector/evidence belongs
here; production fixes belong to the owning repos.
Known starting evidence, verified 2026-08-11: 112 repos with a `coulomb/`
origin; `repoURL: https://forgejo.coulomb.social/coulomb/railiance-platform.git`
@ -109,7 +145,11 @@ contribution records, which survive repo moves) and not a deployment grouping
Open question to settle here: `experimental` is a lifecycle grouping rather than
a stewardship one. Decide whether it is a legitimate exception or whether
experimental work belongs in its steward's org with a different visibility or
archival policy.
archival policy. Draft preference: keep it with its steward unless a shared
incubator has an explicit accountable owner. Target org names remain candidates.
Acceptance requires every server repo's stable ID, target, steward, rationale,
visibility/team permissions and unresolved assignment (if any); approve the
matrix and select the permanent convention owner before declaring G2 complete.
```task
id: ORGREF-WP-0001-T03
@ -118,8 +158,11 @@ priority: high
state_hub_task_id: "4b57ef3f-2a7c-56ff-b19d-e751b0b4685d"
```
Verify Forgejo's actual rename/transfer behavior against a throwaway org (G3),
for **both** the Git path and the package registry. Specifically: does a
Verify the deployed forge product/version's actual behavior against a throwaway org (G3),
for **both** the Git path and the package registry. Test repository transfer,
organization rename and package ownership separately; do not infer that a repo
transfer moves its packages. Include authenticated Git/CI access, private pulls,
digests/tags and relevant package indexes. Specifically: does a
renamed org leave a working redirect for `git clone`/`git fetch`? Does it for
`docker pull`? For how long? Is it configurable? Do not assume from
documentation — the container-registry path is the dangerous one because its
@ -135,7 +178,11 @@ state_hub_task_id: "a55d95e2-6014-5d84-ba6e-b178c3901f3e"
Prove rollback (G4) on a low-stakes repo: move it, confirm GitOps sync and
image pull both recover, move it back, confirm again. Produce the evidence
record. This closes the entry gate.
record. This revalidates the previously accepted condition-4 evidence for the selected
migration path; it cannot bootstrap its own prerequisite under the standing gate.
Record exact operation, product/version, old/new paths, uncached pulls, GitOps
revision/health, retention protections, credentials scope, cleanup and recovery
time. Unrelated application rollout rollback is not acceptable transfer proof.
```task
id: ORGREF-WP-0001-T05
@ -147,8 +194,17 @@ state_hub_task_id: "3ad6090f-5aa9-5087-a670-37d7b2ffdb7c"
Write the migration sequencing and cutover plan from the T01–T04 evidence:
ordering, per-stage rollback point, which references must change ahead of the
move versus after it, and how a deliberate pod-reschedule test is used to prove
G6 rather than assuming success.
G6 rather than assuming success. Include release broker/admission readiness,
AppProject/repository access updates, old/new package availability and retention
protection for live and rollback digests. Identify owners, abort criteria and
validation receipts for each stage. Start with a low-stakes wave; never combine
an org split with an unplanned host or forge-product migration.
## Residuals
None yet — the project is seeded, not started.
- Resolve pending gate decision `e9aca79b-f167-4326-94cd-037dcea34cd2`.
- Fresh deployable coverage and gap closure remain with platform/framework and
workload owners; link their work by stable ID rather than importing tasks.
- T05 produces the plan only. Follow-on file-backed workplans must cover migration
waves (G5/G6), durable convention publication (G7) and retirement evidence.
Create those after foundation acceptance; no migration task is implied done.