5.5 KiB
Repo classification sector migration baseline — 2026-08-23
Result
The live State Hub registry contains 121 repositories, of which 117 are active.
Thirty-eight active records have a domain association but no projected
category; they are not complete Repo Classification Standard projections.
The gap has two distinct causes:
- 14 local checkouts do not contain
.repo-classification.yaml; - 24 local checkouts contain the file, but the live registry still projects a null category.
Those paths require different fixes. The first requires a repo-owner classification decision. The second requires validation and normal Repo Manager/State Hub reconciliation; it must not be repaired by directly editing registry rows.
Migration rule
The older labels custodian, railiance, markitect, coulomb_social,
personhood, foerster_capabilities, and netkingdom identify projects,
estates, or bodies of canon. They are not sector-domain aliases.
Keep those names in project titles, topic identity, architecture, provenance,
and historical records. For repo_classification.domain, apply the current
standard's user/customer question and select one allowed sector. Useful review
seeds are:
| Legacy identity | Likely sector starting point | Review constraint |
|---|---|---|
| Custodian | infotech |
Add agents only where agent infrastructure is materially served. |
| Railiance | infotech |
Use industrials only for repos whose intended users are actually in rail/industrial operations. |
| Markitect | infotech |
Use agents as primary only for agent-native products, not merely AI-assisted tooling. |
| Coulomb.social | communication |
Add other sectors only when a concrete product audience warrants them. |
| Personhood | agents or government |
Rights/governance scope is ambiguous and requires owner review. |
| Foerster Capabilities | agents |
Preserve the named research project separately from market metadata. |
| NetKingdom | infotech |
Identity, tenancy, and access control are platform capabilities, not a market alias. |
This table is a triage aid, not an automatic rewrite map.
Missing source files (14)
agent-harness, binect-chrome, binect-js, binky-control, clay-borg,
direkt-vermittlung-de, polycode-sim, railiance-telemetry,
ralph-workplan, rein-aharness, rein-openweights, tele-mcp,
testdrive-jsui, and timeline-svg.
Source file present but registry category null (24)
config-atlas, disaster-control, glas-harness, ground-game,
kings-guard, ops-mason, policy-nexus, prj-canon-federation,
prj-forgejo-org-refactor, prj-state-hub-retirement, qonto-assistant,
rail-knative, rapp-openbao, rapp-policy-nexus, rapp-postgres,
rapp-qonto, rapp-sbom-nexus, resource-control, risk-nexus,
sand-boxer, secrets-engine, tenant-engine, test-driver, and
zone-engine.
Reproduction
Run make classification-status. The command reads active repository records
from GET /repos/, compares every registered local_path with its
.repo-classification.yaml, validates present source files against the canon,
and reports owner-source gaps separately from projection gaps. Use
make classification-check as the eventual fail-closed convergence gate.
The initial observed counts were:
registered: 121
active: 117
active with null category: 38
missing source file: 14
source file present but unprojected: 24
Acceptance is zero unexplained null category projections among active repos. A governed archived/decommissioned record or an explicit classification exclusion is not unexplained.
Implementation checkpoint
The same query after API reconciliation reports:
registered: 121
active: 117
active with projected classification: 103
active with null category: 14
missing source file: 14
source file present but unprojected: 0
All 24 present source files were validated and projected through State Hub's
REST API. Twenty-one completed through the existing registration utility.
rail-knative, rapp-qonto, and rapp-sbom-nexus initially exposed a utility
defect because classification PATCHes also sent Git identity metadata; their
multi-root fingerprints exceeded the single-SHA database field. State Hub
revision 57c3e08 separates those concerns, supports primary-domain updates,
and uses the same single-root fingerprint projection as token attribution. The
three live repros subsequently completed without invalid results.
The initial remaining null set exactly equalled the 14 missing-source
repositories above. Each owner received a State Hub handoff requiring human
review, local validation, a committed .repo-classification.yaml, and revision
evidence. rein-aharness subsequently delivered revision 81f9279; validation,
digest verification, and API projection passed. The current checkpoint is
104/117 classified, 13 missing-source/null-category repos, and zero present
source files left unprojected. This is governed pending work rather than an
unexplained projection failure.
The first automated convergence run additionally found inter-hub still
marked active with a projected classification even though its registered
checkout had been removed. Custodian retirement evidence already records Core
Hub as the sole production surface from 2026-07-08. The supported State Hub
archive transition corrected the stale row while preserving its history. The
current active denominator is therefore 116: 103 classified, 13
missing-source/null-category, zero present-but-unprojected, and zero invalid
source records.