Complete CUST-WP-0050 T11: classify and register remaining portfolio repos

Add exclusion list and batch classification author for post-cutover inventory.
Mark workplan finished after registering 7 new repos and reclassifying 43
migration rows via state-hub register-from-classification tooling.
This commit is contained in:
2026-06-22 17:50:26 +02:00
parent 96a4c7bea9
commit f9837e3703
3 changed files with 478 additions and 4 deletions

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Repo Classification & State Hub Registration Redesign"
domain: custodian
repo: the-custodian
status: active
status: finished
owner: custodian
topic_slug: custodian
planning_priority: high
@@ -12,6 +12,7 @@ planning_order: 50
created: "2026-06-22"
updated: "2026-06-22"
started: "2026-06-22"
finished: "2026-06-22"
state_hub_workstream_id: "9f031f48-8de8-48b6-8e69-d2d83ad70a7a"
---
@@ -305,7 +306,7 @@ Re-homed → STATE-WP-0065 P1 (re-anchor `repo_id` required + `workstream → wo
```task
id: CUST-WP-0050-T11
status: todo
status: done
priority: medium
state_hub_task_id: "d8895c58-a930-42aa-8207-9babf9ba572a"
```
@@ -321,6 +322,21 @@ Done when every non-excluded active Gitea repo has a committed, validated
classification file and a `managed_repo` row under the new taxonomy (or is on the
recorded exclusion list).
**Done (2026-06-22):**
- Exclusion list: `canon/standards/repo-classification.exclusions.yaml` (forks,
archived phantoms, templates/sandboxes, Gitea repos pending local checkout).
- Batch author: `tools/batch_author_repo_classifications.py` — agent first-pass
for 51 local repos (skips 10 human-reviewed custodian fixtures); all validated
against T01; committed in each target repo.
- Registration: 7 newly registered (`coordination-engine`, `human-resources`,
`markitect-main`, `repo-seed`, `tegwick-control`, `vantage-point`,
`whynot-control`); `make register-from-classification-all` updated 43 existing
rows from `classified_by: migration``agent` (0 invalid).
- **Coverage:** 63 active `managed_repos` — 11 `human`, 51 `agent`, 1 deferred
(`marki-docx`, hub-only, on exclusion list pending clone). Excluded locally:
`hub-core-seed`, `sand-boxer`. Archived hub rows (4) unchanged.
## Open Questions / Decisions
- **D1 (RESOLVED 2026-06-22): the repo is the primary anchor.** Workplans bind to
@@ -335,8 +351,10 @@ recorded exclusion list).
(e.g. `proj-<slug>` vs a dedicated grouping) and the archival trigger details.
- **D2: classification ownership/approval.** Who approves each repo's
`.repo-classification.yaml` — per-repo owner, or central custodian review?
- **D3: exclusion list.** Confirm exclusions (fork `tegwick/the-custodian`,
`lando_worsch/python-snake`, archived `test_domain_v2`, any inactive repos).
- **D3 (RESOLVED 2026-06-22): exclusion list.** Recorded at
`canon/standards/repo-classification.exclusions.yaml` — forks/personal repos,
archived phantoms, template/sandbox checkouts, and Gitea slugs pending local
checkout (incl. `marki-docx`).
- **D4: behavioural vs descriptive.** Do `secondary_domains` / `capability_tags`
/ `business_stake` drive any Hub behaviour initially, or are they descriptive
until a later phase?