diff --git a/workplans/CUST-WP-0060-work-record-canonization.md b/workplans/CUST-WP-0060-work-record-canonization.md index b78fe0d..5763773 100644 --- a/workplans/CUST-WP-0060-work-record-canonization.md +++ b/workplans/CUST-WP-0060-work-record-canonization.md @@ -3,7 +3,7 @@ id: CUST-WP-0060 type: workplan title: "Work-record canonization — unified ontology, stages 1–2" domain: infotech -status: ready +status: finished owner: codex topic_slug: custodian planning_priority: high @@ -38,7 +38,7 @@ Yellow lane (preparation); resolution founder-only. ```task id: CUST-WP-0060-T01 -status: todo +status: done priority: high state_hub_task_id: "90de8017-436e-4251-ae64-904a6f617623" ``` @@ -53,7 +53,7 @@ list if needed. Green lane. ```task id: CUST-WP-0060-T02 -status: todo +status: done priority: medium state_hub_task_id: "772a1777-d90f-4d13-9966-50344287db10" ``` @@ -69,7 +69,7 @@ legacy patterns (AWQ-/DEC-/OH-). Green lane. ```task id: CUST-WP-0060-T03 -status: todo +status: done priority: high state_hub_task_id: "c394bde6-dc8b-4ce6-97b8-a73b3cab300a" ``` @@ -84,7 +84,7 @@ Must be fast (<5 s), zero-config when the repo has no records. Blue lane. ```task id: CUST-WP-0060-T04 -status: todo +status: done priority: high state_hub_task_id: "b5f03759-c285-4b83-9037-fdf0ac669274" ``` @@ -100,7 +100,7 @@ governance. ```task id: CUST-WP-0060-T05 -status: todo +status: done priority: medium state_hub_task_id: "43bcef67-c3e9-48e2-8de0-5cbd2f85c175" ``` @@ -117,7 +117,7 @@ commits). ```task id: CUST-WP-0060-T06 -status: todo +status: done priority: high state_hub_task_id: "7edac718-b659-4708-9868-b6c44364a928" ``` @@ -131,7 +131,53 @@ detector findings across the fleet. Green lane. ```task id: CUST-WP-0060-T07 -status: todo +status: done priority: medium state_hub_task_id: "e27e7d69-c51d-48c0-8a82-57a198e0a668" ``` + +## Closure Review — 2026-07-20 + +**Outcome:** All 7 tasks completed same-day; stages 1–2 delivered end-to-end +with green proof runs. + +### Completed +- T01 — canon ratified (founder, no edits; hub decision `f4640f9e`); both + standards + machine registry flipped to `active`. +- T02 — `workplan-terminology-fleet` v0.2 addendum (umbrella vocabulary; + file keeps `_v0.1` name for reference stability). +- T03 — JSON schemas: `canon/standards/schemas/work-records/` + (spine/intake/decision/engagement; conditional spine requirements, + historical grace for terminal records). +- T04 — `tools/validate_work_records.py` + reusable Forgejo workflow + (repo-seed `work-records.yaml`). Substrate lesson: ubuntu-latest = + node:20-bookworm, python via apt (first run failed 127, fixed). +- T05 — sidetrack detector landed as **C-31** (C-25 was taken — the + workplan text said C-25; registry numbering, not this plan, is + authoritative). Unit-verified: rogue id flagged, grandfathered id passes. +- T06 — binky-control pilot green: 45 records, 0 errors, 0 warnings, + **zero id renames**; CI run #1751 success. Registry additions during + pilot: legacy task variants `-T1`, `-LEGACY-Txx`. +- T07 — this review. + +### Evidence +- Local runs: the-custodian 384 records / binky-control 45 records clean. +- CI: binky-control Work Records run 1747 (fail, substrate) → 1751 (green). +- fix-consistency on binky-control with C-31: 0 sidetrack warnings. + +### Stage-3 successor seed (next workplan, state-hub + the-custodian) +1. **Intake entity** in state-hub (fresh table per founder decision; + UUIDv7 keys), fix-consistency registration for intake/decision/ + engagement kinds (the write-back fields `state_hub_intake_id` etc. are + already in the schemas). +2. **Promotion transition** as one CLI/MCP call (`intake.routed → + workplan|task|decision|engagement` with `promoted_to`/`origin` + back-links, both files written, both synced). +3. **Generated per-repo work-record index** (transclusion-style; markitect + involvement) + regeneration of binky queue view tails as `[auto]`. +4. Friction observations for stage 3: schema authoring cost was near zero + for existing binky items (they passed unmodified); the only true churn + risk is the view/authored split — keep authored blocks where they are, + generate *around* them. +5. Suggestion-table close-out (read-only legacy) once the intake entity is + live.