180 lines
8.4 KiB
Markdown
180 lines
8.4 KiB
Markdown
---
|
|
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 initially 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.
|
|
|
|
**Owner delivery (2026-08-23):** `rein-aharness` published its reviewed
|
|
classification at revision `81f9279` (`tooling`, primary `agents`, secondary
|
|
`infotech`). The canonical validator passed without warnings, its reported file
|
|
digest matched the checkout, and the standard API registration completed with
|
|
zero invalid results. Thirteen owner classifications remain.
|
|
|
|
## 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.
|
|
|
|
After the first owner delivery, the live projection is 104/117 classified with
|
|
13 active null-category records and again zero present-but-unprojected files.
|
|
|
|
**Repeatable convergence gate (2026-08-23):**
|
|
`tools/repo_classification_convergence.py` now derives those counts directly
|
|
from the State Hub registry, checks each active record's registered checkout,
|
|
validates every present source file against the canonical vocabulary, and
|
|
separates missing owner records, present-but-unprojected records, stale
|
|
projections without a source file, invalid sources, and duplicate active slugs.
|
|
`make classification-status` reports progress; `make classification-check`
|
|
fails closed until all active gaps are resolved.
|
|
|
|
Its first run exposed a stale active registry row hidden by the former
|
|
null-category-only check: retired `inter-hub` retained a projected category but
|
|
its registered checkout no longer exists. Existing Custodian retirement
|
|
evidence records Core Hub as the sole production surface since 2026-07-08, so
|
|
the supported State Hub archive endpoint corrected that row without altering
|
|
its historical classification. The active fleet is now 103/116 classified;
|
|
the same 13 owner-source gaps remain, with no projection or source-validity
|
|
failure.
|
|
|
|
## 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
|