From 24c50123302810f025edf4ea17aad160167cae07 Mon Sep 17 00:00:00 2001 From: TurtleWolfe Date: Wed, 6 May 2026 06:00:25 +0000 Subject: [PATCH] =?UTF-8?q?docs(constitution):=20#73=20amend=20to=20v1.0.2?= =?UTF-8?q?=20=E2=80=94=20wireframe=20gate=20hardening?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Promote the wireframe step from an optional role-absorbed hook to a hard gate between /speckit.clarify and /speckit.plan. Source-of-truth amendment that the rest of the GrimGlow IP family inherits when each track ratifies. Per the 2026-05-02 strategy session, 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 active use; the constitution was lagging the practice. This amendment closes that gap. Principle III (PRP Methodology) now enumerates the full mandatory cascade: 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] Pure-infrastructure PRPs (no UI, no API visualization) ship a "no UI" wireframe stub for explicitness rather than skipping the step. Unity is exempt — game scenes are mocked in-Editor (ProBuilder, scene-view), not via SVG. Sync-impact-report regenerated at the file head. Amendment log section added at the trailer documenting the v1.0.1 → v1.0.2 change with rationale and family-propagation status. Workspace ~/repos/CLAUDE.md cite updated v1.0.1 → v1.0.2 (out-of-tree, not committed in this PR — workspace files are not part of any git repo). Strategy plan ~/.claude/plans/trying-to-decide-on-gleaming-kitten.md cite similarly updated out-of-tree. Templates reviewed for consistency: plan-template.md, spec-template.md, tasks-template.md do not hardcode v1.0.1 references — Constitution Check section is generic ("Gates determined based on constitution file"). No template edits required. Verification: - pnpm run type-check: clean (markdown-only change) - pnpm run lint: clean - pnpm test: 3255/3255 pass Why this is a Phase 0 ticket (per gleaming-kitten plan): GrimGlow Phase 1a forks ScriptHammer for the browser R3F game. Landing the wireframe-gate hardening before the fork ensures every downstream constitution (RN ScriptHammer, KDG-stack, Headless Drupal) inherits the hardened cascade at v1.0.0 ratification rather than at a post-hoc amendment. Closes #73 Co-Authored-By: Claude Opus 4.7 (1M context) --- .specify/memory/constitution.md | 155 +++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 34 deletions(-) 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.