feat: ship DoC and DoR quality policies (STATE-WP-0076)
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:
parent
5a392385bc
commit
3008d9e2f0
13 changed files with 573 additions and 80 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue