Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
---
repo: prj-forgejo-org-refactor
repo_flavor: project
project_status: draft
started: "2026-08-11"
2026-09-28 12:20:59 +02:00
reviewed: "2026-09-28"
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
---
# Project goal
## Outcome
Split the single `coulomb/` Forgejo organization into stewardship organizations
— `railiance` , `netkingdom` , `helixforge` , `binky` , `experimental` , with
`coulomb` retained for what genuinely belongs to it — so that organization
membership expresses **discoverability and responsibility** instead of
expressing nothing.
2026-09-28 12:20:59 +02:00
At the August 11 seed review, 112 repositories with a forge origin sat under `coulomb/` ,
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
including `net-kingdom` , `helix-forge` , the whole `railiance-*` family, and the
`rail-*` / `rapp-*` / `reef-*` families. An organization that contains
2026-09-28 12:20:59 +02:00
everything draws no useful stewardship boundary. The September 28 local scan
finds 151 `coulomb` origins; neither count is a current server census.
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
The migration must complete **without breaking a running system** . That is the
hard part, and it is why this is a project rather than a workplan.
## Why this is deferred
Operator decision, 2026-08-11: seed now, execute later. The migration is only
safe once the surrounding structure is stable enough that side-effect
complications can be *tested for* rather than discovered in production. The
2026-09-28 12:20:59 +02:00
entry gate in `ORGREF-WP-0001` makes that condition checkable instead of a feeling.
Reviewed September 28: the family validator runs green locally; fresh deployable
coverage, a stable full reference inventory and transfer rollback proof remain
2026-09-28 12:42:22 +02:00
missing. Authorized preparation has now produced a partial repeatable inventory
and stewardship matrix; T01/T02 wait on the documented evidence and decisions.
Fresh platform coverage reports 52 unclaimed workload names. T03 onward stays deferred. See the
2026-09-28 12:20:59 +02:00
[readiness review ](history/2026-09-28-readiness-review.md ), including the circular
2026-09-28 12:42:22 +02:00
dependency between the rollback prerequisite and T04. Preparation artifacts:
[inventory ](inventory/README.md ), [taxonomy ](taxonomy/README.md ), and
[preparation record ](history/2026-09-28-preparation.md ).
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
## Invariants
1. **No silent breakage.** Every reference that moves is inventoried before it
moves, and verified after.
2. **Organization membership is a stewardship grouping** , not a legal-entity
grouping and not a deployment grouping. Legal attribution stays with
`LICENSE` , copyright headers, and contribution records
(`contribution-convention_v0.1` ), which survive repo moves. Deployment
grouping stays with rapp contexts, which are a separate dimension by
ratified decision (`d07ee5f9-90d6-4e04-85d7-772103bc95f0` , OAS P1).
3. **Reversible in stages.** No stage may leave the fleet in a state that
cannot be rolled back to the previous stage.
4. **The running cluster keeps running.** GitOps sync and image pulls must not
depend on a rename landing everywhere simultaneously.
5. **This repo hosts no production implementation.** It coordinates; the
changes land in the repos that own them.
## Known blast radius
2026-09-28 12:20:59 +02:00
Historical seed evidence, 2026-08-11. Reconcile current endpoints and runtime
version before using it: forge owner docs still distinguish Gitea operation from
a future Forgejo migration. The org split does not include that product migration.
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
| Surface | Finding | Why it hurts |
| --- | --- | --- |
| Git remotes | 112 repos with `coulomb/` origin | Every local clone, every CI checkout |
| ArgoCD sources | `repoURL: https://forgejo.coulomb.social/coulomb/<repo>.git` in Application manifests | GitOps stops syncing if the path 404s |
2026-09-28 12:20:59 +02:00
| **Container registry** | `repository: forgejo.coulomb.social/coulomb/core-hub` in chart values | Forgejo's package registry is **org-scoped** — changed or unavailable package paths can break a later node reschedule or restart; actual package transfer/redirect behavior remains unverified |
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
| Chart metadata | `home:` / `sources:` URLs in `Chart.yaml` | Cosmetic but fleet-wide |
| Submodules / CI configs | not yet inventoried | Unknown until the inventory task runs |
| Hostname | `forgejo.coulomb.social` is itself coulomb-branded | Open question: does the host stay while orgs split? |
The container-registry finding is the one that makes a naive "rename and fix
the remotes" approach unsafe. It is a *deferred* failure — it does not show up
at rename time, it shows up at the next pod reschedule.
## Success gates
- [ ] **G1 — Complete inventory.** Every `coulomb/` reference across git
remotes, ArgoCD sources, chart image paths, chart metadata, submodules,
and CI configs is enumerated by a re-runnable command, not by hand.
2026-09-28 12:20:59 +02:00
Include package consumers, GitOps access policies, release/retention
inputs and rollback references; reconcile server repos with local clones.
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
- [ ] **G2 — Org taxonomy agreed.** Each repo has an assigned target org with a
stated reason, and the criteria for assignment are written down so later
repos can be placed without re-litigating.
- [ ] **G3 — Redirect behavior verified.** Forgejo's actual behavior on org
rename / repo transfer — for Git paths *and* for the package registry —
is established by test against a throwaway org, not assumed from docs.
- [ ] **G4 — Rollback proven.** A repo can be moved and moved back with GitOps
and image pulls recovering, demonstrated on a low-stakes repo first.
- [ ] **G5 — Migration executed.** All repos sit in their target org.
2026-09-28 12:20:59 +02:00
- [ ] **G6 — No stale references.** The G1 inventory command reports no unexplained
operational references to moved paths (approved `coulomb` assignments and
immutable historical evidence are accounted for), and
Seed the org refactor: goal, scope, blast radius, entry gate
Establishes the prj- flavor baseline (GOAL.md, SCOPE.md, AGENTS.md,
.repo-classification.yaml, genesis, foundation workplan) for splitting the
single coulomb/ Forgejo org into stewardship orgs.
Records the blast radius verified 2026-08-11: 112 repos with a coulomb/ origin,
ArgoCD repoURL sources, Chart.yaml metadata, and - the finding that made this
project-sized rather than workplan-sized - container image paths, since
Forgejo's package registry is org-scoped. That failure is deferred: it does not
appear at rename time but at the next pod reschedule.
Seeded deliberately deferred per operator decision. ORGREF-WP-0001 is backlog
and carries a four-part entry gate (validator live, deployable coverage known,
stable re-runnable inventory, demonstrated rollback) so the decision to start
is made against evidence rather than memory. T01 and T02 are read-only and safe
to advance at any time.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 13:39:24 +02:00
the cluster has survived a deliberate pod reschedule on migrated images.
- [ ] **G7 — Convention documented in a permanent home.** The org-assignment
criteria are promoted out of this project repo, so future repos are
created in the right org by default rather than by memory.
## Project retirement
This repository may be archived when:
1. every success gate has accepted evidence;
2. residuals have live work records in permanent repos;
3. the org-assignment convention is promoted to a durable home (canon or
`railiance-master` ), per G7;
4. workplans are finished or cancelled with rationale;
5. a completion record exists under `history/` ;
6. `project_status` is set to `completed` , then `archived` .