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