--- id: CUST-WP-0065 type: workplan title: "Reclassify repos and guidance docs to the new sector domain scheme" domain: infotech repo: the-custodian status: active owner: codex created: "2026-08-23" updated: "2026-08-23" quality_dor: DoR-Ok quality_dor_at: "2026-08-23" quality_dor_by: codex quality_dor_note: "The live registry baseline, canonical vocabulary, source-of-truth boundary, owner dependencies, non-mechanical classification risk, and acceptance checks are explicit." state_hub_workstream_id: "e2702474-b276-4e15-8337-41bfa344c89c" --- # Reclassify repos and guidance docs to the new sector domain scheme ## Goal Complete the transition from legacy project/estate labels to the canonical sector-domain vocabulary without mechanically rewriting project identities or silently assigning ambiguous repos. Populate the authoritative repository projection, update Custodian guidance, and route repo-owned classification changes to their owners. **Promoted from intake** `019f81e6-2a31-7bee-b50a-8e9ca67267b7` — origin: "intake:019f81e6-2a31-7bee-b50a-8e9ca67267b7" ## Establish the live baseline and migration semantics ```task id: CUST-WP-0065-T01 status: done priority: high state_hub_task_id: "d3f3cf0e-8c8a-5108-824d-de6deaa5ceff" ``` Count active repositories with complete and incomplete classification projection, distinguish missing source files from missing ingestion, and define how legacy project names relate to sector domains. Do not treat a project name as a one-to-one market classification. **Done (2026-08-23):** `docs/repo-classification-sector-migration-baseline-2026-08-23.md` records the live 117-repository baseline: 38 active records have no projected category, comprising 14 missing source files and 24 present-but-unprojected files. It also fixes the migration rule: legacy names remain project/estate identity; sector values describe intended users and require repo-owner review when the answer is ambiguous. ## Publish canonical migration guidance ```task id: CUST-WP-0065-T02 status: done priority: medium state_hub_task_id: "207ba031-517a-51c7-8c1e-bc82f312cdc1" ``` Review the baseline semantics into the active Repo Classification Standard and agent-facing guidance. Replace only obsolete domain-field instructions; keep historical project names and canon references intact. Add a validation example that rejects legacy names in `repo_classification.domain` while allowing them as project/topic identity. **Done (2026-08-23):** the active Repo Classification Standard now explicitly separates legacy project/estate identities from sector-domain metadata and links the governed migration baseline. The contribution convention and all four contribution templates now show current sector values. The classification validator self-test proves `custodian` is rejected as a classification domain; project names remain valid outside that field. ## Repair source records and authoritative projection ```task id: CUST-WP-0065-T03 status: progress priority: high state_hub_task_id: "a1ad7cd3-5bfb-58ee-8f97-6c2e864b2fd9" ``` Route the 14 missing `.repo-classification.yaml` files to repository owners and have Repo Manager/State Hub diagnose the 24 files that exist locally but remain null in the registry. Classification judgments stay with repo owners; the Custodian coordinates vocabulary and acceptance. Require schema validation and normal registrar/reconcile paths rather than direct database edits. **Started (2026-08-23):** Repo Manager received the 24-repo projection defect and `config-atlas` sentinel proof in message `a5e685c9`; `binky-control` received the first missing-source owner handoff in message `15d8f2df`. The remaining missing-source repos stay in the baseline for governed owner routing. **Implementation checkpoint (2026-08-23):** all 24 committed source files now project through the State Hub API; the active-fleet projection improved from 79/117 to 103/117 classified repos. Twenty-one updated through the standard registration command. Three server-error cases (`rail-knative`, `rapp-qonto`, and `rapp-sbom-nexus`) were recovered with classification-only PATCHes, then used to expose and verify a State Hub registration defect. State Hub revision `57c3e08` now keeps classification updates separate from Git identity fields, honors `domain_slug` changes, and normalizes multi-root histories to one fingerprint; focused regression tests and all three live repros pass. Every remaining missing-source repo has an owner handoff with a suggested starting point and an explicit requirement to review, validate, commit, and report its revision: `agent-harness` (`b5718a78`), `binect-chrome` (`cfe4baa6`), `binect-js` (`3a8358b7`), `binky-control` (`18dc8758`), `clay-borg` (`98726021`), `direkt-vermittlung-de` (`f177403a`), `polycode-sim` (`b3247d7b`), `railiance-telemetry` (`bf2e2fea`), `ralph-workplan` (`186be39c`), `rein-aharness` (`c02a26b9`), `rein-openweights` (`24d9e895`), `tele-mcp` (`76e3d0dc`), `testdrive-jsui` (`cbefc9a0`), and `timeline-svg` (`d350d2c6`). T03 remains in progress because those classification judgments must land in their owning repositories; they are not safe Custodian-side mechanical edits. ## Verify fleet convergence and close ```task id: CUST-WP-0065-T04 status: progress priority: medium state_hub_task_id: "0c7c6f53-8a89-5102-87ca-e1991c227038" ``` Re-run the active-repository baseline. Close when every active repo either has a valid projected classification or a governed exclusion, current agent guidance uses sector domains, and no project identity was destroyed by the migration. Record any genuine owner decision as a live residual before finishing. **Started (2026-08-23):** the post-repair fleet check reports 121 registered, 117 active, 103 classified, and 14 active null-category records. The null set exactly matches the 14 governed owner handoffs; no present source file remains unprojected. Project names and repository identities were not rewritten. ## Indexing note **Resolved (2026-08-23):** Repo Manager revisions `7a15f1d` and `7b9fdaa` narrow the on-demand registrar's identity gate to the exact requested records, retain full-repository refusal for empty-projection rebuilds, and return bounded timeout evidence for slow legacy scans. Governed reconciliation correlation `76d57c01-5e16-428d-ae15-01a718f4b1a5` assigned and verified all four task UUIDs plus `CUST-IN-0014`, then committed and pushed the writeback as Custodian revision `d792318`. Historical identity findings remain visible for cleanup; none was rewritten or treated as the new records. ## Acceptance - [x] Live missing-classification baseline is reproducible and split by cause - [x] Legacy project identity is distinguished from sector-domain metadata - [x] Canonical and agent-facing migration guidance is current - [ ] Missing source classifications are owner-reviewed and validated - [x] Present source classifications project into State Hub - [ ] Active fleet has zero unexplained null category projections