the-custodian/workplans/CUST-WP-0060-work-record-canonization.md
codex 5ccf5fcd90
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
canon drafts + CUST-WP-0060: work-record canonization stages 1-2
- canon/standards/work-record-types_v0.1.md (+ machine registry .yaml):
  work-record umbrella, closed kind registry (workplan/task/intake/
  decision/engagement/register-entry), UUIDv7-internal + canonical-name
  layering, abstract lifecycles incl. intake, promotion as first-class
  transition, source-anywhere + generated index, tags, budgets,
  reconciliation loop. status: draft pending ratification
- canon/standards/autonomy-lanes_v0.1.md: binky AutonomyPolicy lane model
  promoted to fleet canon; lane as mandatory spine field; hub-owned
  time-boxing; attention as WIP-limited workstation. status: draft
- workplans/CUST-WP-0060 (hub 4555741c, T01-T07): ratification,
  terminology v0.2 extension, per-kind schemas, Forgejo CI validation,
  fix-consistency sidetrack detector (C-25), binky-control pilot with
  grandfathered ids, stage-3 handoff. Ratification pending as hub
  decision f4640f9e

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 01:54:10 +02:00

137 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: CUST-WP-0060
type: workplan
title: "Work-record canonization — unified ontology, stages 12"
domain: infotech
status: ready
owner: codex
topic_slug: custodian
planning_priority: high
planning_order: 60
created: "2026-07-20"
updated: "2026-07-20"
state_hub_workstream_id: "4555741c-7c54-4262-859f-7815b34cc647"
---
# Work-record canonization — unified ontology, stages 12
Execute stages 1 (canonize) and 2 (schema + CI) of
`research/WorkOrchestrationArchitectureDraft.md` v0.2 (founder-reviewed
2026-07-20): ratify the work-record umbrella ontology as canon and make it
machine-enforced, with **binky-control as pilot** — its AWQ/DEC/OH queue
items become schema-valid, hub-indexed work records without renaming a
single id. Stages 36 (hub intake entity, generated views/index, tags &
flow metrics, legacy retirement) follow in successor workplans once this
foundation holds.
Origin: AWQ-010 sidetrack reintegration (2026-07-19); every artefact this
plan lands exists to make that class of manual reintegration structurally
unnecessary.
## Task: Founder ratification of the two canon standards
Present `work-record-types_v0.1.md` (+ `work-record-types.yaml`) and
`autonomy-lanes_v0.1.md` for founder review; apply edits; flip both from
`status: draft` to `status: active`. Ratification is a decision work record
(hub decision, red lane — canon change per constitution review gate).
Yellow lane (preparation); resolution founder-only.
```task
id: CUST-WP-0060-T01
status: todo
priority: high
state_hub_task_id: "90de8017-436e-4251-ae64-904a6f617623"
```
## Task: Extend workplan-terminology standard, don't fork it
Add the work-record umbrella and kind vocabulary to
`workplan-terminology-fleet_v0.1.md` as a v0.2 revision (workplan and task
definitions unchanged; new terms cross-referenced to
`work-record-types_v0.1.md`). Update the terminology scan tooling exclusion
list if needed. Green lane.
```task
id: CUST-WP-0060-T02
status: todo
priority: medium
state_hub_task_id: "772a1777-d90f-4d13-9966-50344287db10"
```
## Task: YAML block schemas per kind
Author JSON-Schema definitions for the authored YAML block of each kind
(intake, decision, engagement; task/workplan blocks already parsed by
state-hub — align, don't duplicate). Schemas live in
`canon/standards/schemas/work-records/` with the machine registry as the
pattern source. Include the spine-field requirements and grandfathered
legacy patterns (AWQ-/DEC-/OH-). Green lane.
```task
id: CUST-WP-0060-T03
status: todo
priority: high
state_hub_task_id: "c394bde6-dc8b-4ce6-97b8-a73b3cab300a"
```
## Task: Forgejo CI validation action
A reusable Forgejo workflow (`repo-seed` + rollout to control-plane repos)
that validates all work-record YAML blocks in changed files against the
schemas and the id-pattern registry on push/PR — the GitOps
"validate before apply" gate and the first half of the sidetrack detector.
Must be fast (<5 s), zero-config when the repo has no records. Blue lane.
```task
id: CUST-WP-0060-T04
status: todo
priority: high
state_hub_task_id: "b5f03759-c285-4b83-9037-fdf0ac669274"
```
## Task: fix-consistency sidetrack detector (C-25)
Extend `statehub fix-consistency` with a check that scans registered repos
for id-like patterns (`[A-Z]+-[A-Z]+-[0-9]+` heuristic) **not** matching the
type registry and warns with the reintegration-cost message. No
registration yet (that is stage 3) detection only, so new species surface
the day they appear. Green/Blue lane, lands in state-hub per its
governance.
```task
id: CUST-WP-0060-T05
status: todo
priority: medium
state_hub_task_id: "43bcef67-c3e9-48e2-8de0-5cbd2f85c175"
```
## Task: binky-control pilot — queues schema-valid
Bring binky-control's live documents (AutopilotWorkQueue, DecisionQueue,
OfficeHourQueue, RiskRegister) to schema validity: add missing spine fields
(`kind`, `lane`, `owner` where absent) to open items, wire the CI action,
run fix-consistency clean with the new checks. **No id renames, no format
migration** grandfathered patterns must pass as-is; that is the
acceptance test for the grandfathering design. Blue lane (binky-control
commits).
```task
id: CUST-WP-0060-T06
status: todo
priority: high
state_hub_task_id: "7edac718-b659-4708-9868-b6c44364a928"
```
## Task: Closure — stage-3 handoff package
Closure review per ADR-001; write the stage-3 successor workplan seed
(state-hub intake entity, promotion transition CLI/MCP, generated per-repo
index) with evidence from the pilot: schema friction observed, CI runtimes,
detector findings across the fleet. Green lane.
```task
id: CUST-WP-0060-T07
status: todo
priority: medium
state_hub_task_id: "e27e7d69-c51d-48c0-8a82-57a198e0a668"
```