feat: ship DoC and DoR quality policies (STATE-WP-0076)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

Add Intake Definition of Comprehension and work-item Definition of Ready as
hub policies with dashboard edit surfaces, document the Definition family and
DoX-Ok/Failed badge convention, and mark STATE-WP-0076 finished.
This commit is contained in:
tegwick 2026-07-22 19:59:37 +02:00
parent 5a392385bc
commit 3008d9e2f0
13 changed files with 573 additions and 80 deletions

View file

@ -4,14 +4,14 @@ type: workplan
title: "Definition of Ready (DoR) and Definition of Comprehension (DoC) quality gates"
domain: infotech
repo: state-hub
status: ready
status: finished
owner: grok
topic_slug: infotech
created: "2026-07-22"
updated: "2026-07-22"
reviewed_at: "2026-07-22"
reviewed_by: "grok"
reviewed_against_commit: "HEAD"
reviewed_against_commit: "d8a2bb5c6ba8d3db73eff565242e6c7fbe63d181"
context_paths:
- "policies/"
- "dashboard/src/docs/work-records.md"
@ -38,56 +38,25 @@ Ship the next slice of the work-record quality model that pays off soon:
No badge engine, no hard API blocks, no new kinds, no value-chain typing.
## Where we are (context)
## Delivered (2026-07-22)
| Already true | Gap this plan closes |
|--------------|----------------------|
| Work-record kinds + spine (canon) | DoC/DoR not written as hub policies |
| Intake = discovery; promote → delivery | No transparent “comprehended enough?” checklist |
| Workplan `ready` / `finished` lifecycle | No separate DoR/DoD assessment language; status ≠ quality |
| DoI, DoM, DoD as `policies/*.md` + UI | DoC/DoR missing from that family |
| Reference docs for kinds/lifecycle | Need unit-vs-structure + quality-vs-state framing |
| Deliverable | Path |
|-------------|------|
| Quality model note | `docs/work-record-quality-gates.md` |
| DoC policy | `policies/intake-doc.md``GET /policy/intake-doc` |
| DoR policy | `policies/work-item-dor.md``GET /policy/work-item-dor` |
| Dashboard pages | `dashboard/src/policy/intake-doc.md`, `work-item-dor.md` |
| Nav | Policies: Intake DoC, Work-item DoR |
| Reference links | work-records, intakes, workplan lifecycle, tasks |
Prior session also left doc updates for suggestions→intake and work-records
pages; this plan assumes those land or already landed in the same branch.
## Design constraints (shipped)
## Non-goals
- Freeform badge product or badge persistence API
- Soft/hard enforcement hooks (convention only until policies are used)
- Renaming kinds (`intake`→find, `task`→item)
- DiscoveryMap / mon-pro-sal / enforced exp→…→evo chains
- Contribution retirement
- Full DoD rewrite (link only; optional one-line title note)
## Design constraints (fixed for this plan)
1. **Lifecycle state ≠ definition badge.**
`status=finished` may lack `DoD-Ok`; `status=ready` may lack `DoR-Ok`. That
is intentional (fluid progress + quality metrics later).
2. **Badge family is closed and named after policies.**
Outcomes: **unassessed** | **`DoC-Ok` / `DoR-Ok` / `DoD-Ok`** | **`DoC-Failed` /
`DoR-Failed` / `DoD-Failed`**. Tiered policies (DoI/DoM) may use `DoM-Ok-1`
etc. Assessment is manual/convention in this plan; storage can be prose or
frontmatter later.
3. **Policies declare `applies_to` kinds** and may have **per-kind sections**
(e.g. DoR for task vs workplan). Workplan is a **structure** record; task is
a **unit** work-item — do not call workplans “work-items” in policy text.
4. **DoC** applies only to **`intake`**. It justifies treating discovery as
understood enough to route/promote — not implementation design.
5. **DoR** applies to **`task`** and **`workplan`**. It justifies
implementation-readiness. Workplan lifecycle `ready` remains a process claim;
DoR is the checklist behind a `DoR-Ok` assessment.
6. **Outside-originated** = extra **sections** in DoC/DoR (origin/boundary
fields), not a new kind.
7. **Enforcement = convention + docs.** No promote-intake/API blocking in this
plan.
1. Lifecycle state ≠ definition badge (`DoX-Ok` / `DoX-Failed` / unassessed).
2. Badge family closed and named after policies.
3. Policies declare applies_to; DoR has task and workplan sections.
4. DoC = intake only; DoR = task + workplan.
5. Outside-originated = policy sections, not a new kind.
6. Enforcement = convention + docs only.
---
@ -95,7 +64,7 @@ pages; this plan assumes those land or already landed in the same branch.
```task
id: STATE-WP-0076-T01
status: todo
status: done
priority: high
state_hub_task_id: "53aac055-97a7-405b-bb9b-48427de4296a"
```
@ -118,7 +87,7 @@ from the docs alone.
```task
id: STATE-WP-0076-T02
status: todo
status: done
priority: high
state_hub_task_id: "2498bd9f-e773-4dad-a2e3-9c32b5585d73"
```
@ -140,7 +109,7 @@ Create `policies/intake-doc.md` (Definition of Comprehension).
```task
id: STATE-WP-0076-T03
status: todo
status: done
priority: high
state_hub_task_id: "a1e7ab93-c0b9-423c-84d8-1e9dcff9ebc7"
```
@ -163,7 +132,7 @@ sections (not “workplan is a work-item”).
```task
id: STATE-WP-0076-T04
status: todo
status: done
priority: high
state_hub_task_id: "d4aa3c53-3aa0-492f-b721-1c4e7e75bcb6"
```
@ -180,9 +149,6 @@ Mirror DoI/DoM/DoD:
## Cancelled / deferred tasks
Soft enforcement and DoD family-index tasks were dropped from scope after
review (policy + docs first).
```task
id: STATE-WP-0076-T05
status: cancel
@ -201,22 +167,13 @@ state_hub_task_id: "fb6b81a0-208e-4a33-af33-776867411b7d"
Standalone DoD naming / family index task — folded into T01 quality-gates doc.
## Deferred (not in this plan)
| Idea | Why defer |
|------|-----------|
| Soft warnings on promote / ready without assessment | Needs lived policy text first |
| Badge fields in DB/frontmatter + “finished ∧ ¬DoD-Ok” KPI | Mid-term metric; convention first |
| DoD body rewrite + filename migration | Low urgency; link from DoR is enough |
| Optional type tags (dev/sec/ops, exp/def/try/sol) | No gate dependency |
## Acceptance criteria
- [ ] Docs: generic work-record (unit + structure), lifecycle ≠ DoX badge
- [ ] `policies/intake-doc.md` and `policies/work-item-dor.md` live and API-served
- [ ] Outside-originated sections present in both
- [ ] Dashboard Policies nav includes both
- [ ] No new kinds, no badge engine, no hard enforcement
- [x] Docs: generic work-record (unit + structure), lifecycle ≠ DoX badge
- [x] `policies/intake-doc.md` and `policies/work-item-dor.md` live and API-served
- [x] Outside-originated sections present in both
- [x] Dashboard Policies nav includes both
- [x] No new kinds, no badge engine, no hard enforcement
## References