Checklists
requirements.md
Specification Quality Checklist: First-Class TEMPLATE + ASSET Doctrine Kinds
Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-07-09 Feature: spec.md
Content Quality
- ✅ No implementation details — Note 1: doctrine-architecture mission; kind/DRG names ARE the domain language (Domain Language table)
- ✅ Focused on user value — a pack that ships a complete, navigable graph of everything it contributes
- ✅ Written for non-technical stakeholders — Purpose TL;DR + Context lead
- ✅ All mandatory sections completed
Requirement Completeness
- ✅ No [NEEDS CLARIFICATION] markers (both open questions resolved by operator decision — recorded, not deferred)
- ✅ Requirements testable and unambiguous
- ✅ Requirement types separated (FR / NFR / C)
- ✅ IDs unique across FR/NFR/C
- ✅ All rows have Status (Draft)
- ✅ NFRs measurable (no-regression suite green, ≤15 complexity, e2e fixture, fail-loud errors)
- ✅ Success criteria measurable
- ✅ Success criteria technology-agnostic — Note 1
- ✅ Acceptance scenarios defined (S1–S5 + edge cases)
- ✅ Edge cases identified (orphan template node, asset w/o id, NodeKind bucket iteration)
- ✅ Scope bounded (In A/B/exhaustiveness / OUT + operator decisions)
- ✅ Dependencies + assumptions identified (#2467 out-of-order, forward-compat)
Feature Readiness
- ✅ All FRs have clear acceptance criteria
- ✅ User scenarios cover primary flows (S1 template-node, S2 asset)
- ✅ Feature meets measurable outcomes in Success Criteria
- ✅ No implementation details leak — Note 1
Notes
doctrine system; its "users" are pack authors + the loader/validator + DRG consumers, so the acceptance surface is expressed in kind/DRG terms (defined in the Domain Language table). Stakeholder value in the Purpose TL;DR is technology-agnostic.
as the safety net (esp. the add-a-member exhaustiveness). Grounding + the 2 operator decisions live in the tracers.
- Note 1 — Doctrine-architecture technicality is intentional. This mission adds artifact/graph kinds to the
- Squad-free P0 (well-specified by #2495/#2469 + operator-grounded); a post-spec adversarial squad runs before /plan