diff --git a/.specify/memory/constitution.md b/.specify/memory/constitution.md index a83f4cd6..384af66b 100644 --- a/.specify/memory/constitution.md +++ b/.specify/memory/constitution.md @@ -1,34 +1,54 @@ # ScriptHammer Constitution @@ -51,12 +71,37 @@ comprehensive test suites. E2E tests via Playwright for user workflows. Accessibility tests using Pa11y for WCAG compliance. Tests run on pre-push via Husky hooks. -### III. PRP Methodology (Product Requirements Prompts) - -Features are implemented using the PRP workflow: define requirements in a PRP -document, execute /plan command for technical planning, execute /tasks for -task generation, then implement. Each PRP tracks from inception to completion -with clear success criteria. PRPs supersede ad-hoc feature development. +### III. PRP Methodology with Mandatory Wireframe Gate + +Features are implemented using the PRP workflow as a hard, ordered cascade. +The wireframe authoring + review step is a **mandatory gate** between +clarification and planning — it is NOT an optional hook absorbed into a +role. Pure-infrastructure PRPs (no UI surface, no API visualization) ship a +"no UI" wireframe stub for explicitness rather than skipping the step. + +The cascade is: + +``` +PRP → /speckit.specify → /speckit.clarify + → /speckit.wireframe.generate → /speckit.wireframe.review [HARD GATE] + → /speckit.plan → /speckit.checklist → /speckit.tasks + → /speckit.analyze → /speckit.implement + → /speckit.wireframe.screenshots [post-implement regression] +``` + +**Why a hard gate:** the 2026-05-02 strategy session confirmed (via +operator practice on the Unity track without mockups) that the discipline +matters even where the step has been treated as optional. Promoting the +gate to mandatory eliminates the "I'll skip wireframes for this one" +exception that erodes the discipline over time. Each PRP tracks from +inception to completion with clear success criteria. PRPs supersede ad-hoc +feature development. + +**Track exemption:** Unity tracks are exempt from this gate. Unity's +in-Editor scene mocking serves the same purpose as SVG wireframes for web +work; the SVG validator does not apply to Unity prefabs/scenes. All +non-Unity tracks (web/RN/KDG/Drupal) inherit this hardened gate when their +constitution ratifies at v1.0.0. ### IV. Docker-First Development @@ -194,4 +239,46 @@ The constitution supersedes all other practices. Violations must be justified with documented rationale. Temporary exceptions require sprint constitution. Use CLAUDE.md for runtime development guidance specific to AI assistance. -**Version**: 1.0.1 | **Ratified**: 2025-09-20 | **Last Amended**: 2025-09-25 +**Version**: 1.0.2 | **Ratified**: 2025-09-20 (v1.0.1) | **Last Amended**: 2026-05-06 (v1.0.2) + +## Amendment Log + +### v1.0.2 — 2026-05-06 — Wireframe Gate Hardening + +**Scope:** Principle III (PRP Methodology). + +**Change:** Promoted the wireframe authoring + review step from an +implicit role-absorbed hook to an explicit mandatory gate between +`/speckit.clarify` and `/speckit.plan`. Enumerated the full cascade in +Principle III. Added explicit handling for pure-infrastructure PRPs ("no +UI" stub instead of skipping) and an explicit Unity track exemption. + +**Rationale:** Per the 2026-05-02 strategy session +(`~/.claude/plans/trying-to-decide-on-gleaming-kitten.md`), operator +practice on the Unity track without mockups confirmed the discipline +matters even where it had been treated as optional. The +`.specify/extensions/wireframe/` toolchain (6 skills, validator, viewer) +already exists and is in use; the constitution was lagging the practice. +This amendment closes that gap and propagates the hardened gate to the +rest of the GrimGlow IP family (RN ScriptHammer, KDG-stack, Headless +Drupal) when each track's v1.0.0 ratifies. + +**Impact:** No code changes required. Existing PRPs already follow this +cascade in practice (see `features/CLAUDE.md` workflow documentation). +This amendment is the source-of-truth alignment. + +**Family propagation:** + +- GrimGlow Phase 1 constitution v1.0.1 — already shipped + (TortoiseWolfe/GrimGlow_planning commit 2466343) +- Unity GrimGlow constitution — exempt; stays at v1.0.1 on this dimension +- RN ScriptHammer / KDG-stack / Headless Drupal — inherit when each + track's v1.0.0 ratifies + +### v1.0.1 — 2025-09-25 + +(Pre-amendment-log baseline; no scope recorded in this format.) + +### v1.0.0 — 2025-09-20 + +Constitution ratified.