Checklists

requirements.md

Specification Quality Checklist: Drupal Dries Agent Profile

Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-09-11 Feature: spec.md

Content Quality

  • ✅ No implementation details (languages, frameworks, APIs)
  • ✅ Focused on user value and business needs
  • ✅ Written for non-technical stakeholders
  • ✅ All mandatory sections completed

Requirement Completeness

  • ✅ No [NEEDS CLARIFICATION] markers remain
  • ✅ Requirements are testable and unambiguous
  • ✅ Requirement types are separated (Functional / Non-Functional / Constraints)
  • ✅ IDs are unique across FR-###, NFR-###, and C-### entries
  • ✅ All requirement rows include a non-empty Status value
  • ✅ Non-functional requirements include measurable thresholds
  • ✅ Success criteria are measurable
  • ✅ Success criteria are technology-agnostic (no implementation details)
  • ✅ All acceptance scenarios are defined
  • ✅ Edge cases are identified
  • ✅ Scope is clearly bounded
  • ✅ Dependencies and assumptions identified

Feature Readiness

  • ✅ All functional requirements have clear acceptance criteria
  • ✅ User scenarios cover primary flows
  • ✅ Feature meets measurable outcomes defined in Success Criteria
  • ✅ No implementation details leak into specification

Notes

Validation history

Iteration 1 — two items initially failed and were corrected before this record:

1. No implementation details — an earlier draft of FR-001/FR-006/FR-007 named concrete file paths and YAML keys (packs/built-in/agent_profiles/drupal-dries.agent.yaml, avoidance-boundary, self-review-protocol). Rewritten as outcome statements; the package layout now lives in the mission conversation and will be settled in /plan, which is where file-level decisions belong. 2. Non-functional requirements include measurable thresholds — NFR-001 originally said "stays reasonably sized". Now bounded to the 140–215 line band observed across the existing peer specialist profiles.

Deliberate judgement calls

styleguide, and toolguide are this project's domain language — the stakeholders for this spec are Spec Kitty operators. They are defined in the Domain Language table rather than removed. Drupal terms (Twig, hooks, render arrays) are likewise the subject matter, not implementation leakage.

machine-verified; ten sample tasks assigned without ties is the cheapest honest proxy.

surfaced to the operator during discovery and explicitly approved ("yes, add the Freddy clause too"). NFR-007 bounds that reach to exactly one profile and one declaration.

  • Domain vocabulary is retained, not stripped. Terms like agent profile, anti-pattern,
  • SC-004 is deliberately a human-judgement metric. The Dries/Freddy boundary cannot be
  • FR-004 reaches outside the mission's own new files. Modifying Frontend Freddy was

Carried into /plan

of their own or attach to the conventions guidance.

(review checks separate from mutation tooling).

plus composition-only suggestions; FR-005 requires inheritance, and /plan picks the exact set.

  • Which artifact channel receives the Drupal anti-patterns, and whether they need graph nodes
  • Whether the review-checks guidance is one artifact or splits the way Python's does
  • The concrete directive set Dries inherits — the peer specialists carry 010/024/025/030/034/051