Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 121 additions & 34 deletions .specify/memory/constitution.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,54 @@
<!--
Sync Impact Report - Feature 022 Review
Review Date: 2025-10-08
Version: 1.0.1 (no changes)
Reviewed For: Feature 022 - User Avatar Upload

Constitutional Alignment:
✅ I. Component Structure Compliance - AvatarUpload/AvatarDisplay follow 5-file pattern
✅ II. Test-First Development - Tasks include TDD workflow (tests before implementation)
✅ III. PRP Methodology - Feature using /specify → /plan → /tasks → /implement workflow
✅ IV. Docker-First Development - All development in Docker containers
✅ V. Progressive Enhancement - Client-side crop, progressive upload, offline capable
✅ VI. Privacy & Compliance First - RLS policies, user consent, GDPR compliance
Sync Impact Report - v1.0.2 Amendment (Wireframe Gate Hardening)
Review Date: 2026-05-06
Version: 1.0.1 → 1.0.2 (MINOR amendment — Principle III hardening)
Reviewed For: Issue #73 — promote wireframe step to a hard gate

Amendment Summary:
Principle III ("PRP Methodology") was previously silent on the wireframe
step, treating wireframe authoring as an optional hook absorbed into the
Developer/UIDesigner roles. The 2026-05-02 strategy session (operator
decision; see ~/.claude/plans/trying-to-decide-on-gleaming-kitten.md)
promoted wireframes to a hard gate between /speckit.clarify and
/speckit.plan for all web/RN/KDG/Drupal tracks. Unity remains exempt
(game scenes are mocked in-Editor, not via SVG).

This amendment bakes that decision into the constitution as the
source-of-truth so the rest of the GrimGlow IP family (RN ScriptHammer,
KDG-stack, Headless Drupal templates) inherits the hardened gate when
each track's v1.0.0 ratifies.

Constitutional Alignment (re-checked at v1.0.2):
✅ I. Component Structure Compliance — unchanged
✅ II. Test-First Development — unchanged
⬆ III. PRP Methodology — HARDENED. Cascade now mandates the wireframe
gate; pure-infra PRPs ship a "no UI" stub rather than skipping.
✅ IV. Docker-First Development — unchanged
✅ V. Progressive Enhancement — unchanged
✅ VI. Privacy & Compliance First — unchanged

Template Consistency:
✅ .specify/templates/plan-template.md - Constitution Check section present (lines 30-34)
✅ .specify/templates/spec-template.md - User story/requirements structure aligns
✅ .specify/templates/tasks-template.md - PRP workflow and phase organization present
✅ .specify/templates/commands/*.md - No command templates found (expected)

Action Items:
⚠️ specs/022-on-the-account/plan.md:43 - Incorrectly states "(template only - no project-specific constitution)"
Should read: "ScriptHammer Constitution v1.0.1 (6 core principles)"

Version Decision: No version bump required
- No principles modified, added, or removed
☐ .specify/templates/plan-template.md — review for cascade reference
☐ .specify/templates/spec-template.md — review for cascade reference
☐ .specify/templates/tasks-template.md — review for cascade reference
☐ .specify/templates/commands/*.md — verify no command file references
the old "wireframes optional" framing

Family Propagation (informational):
- GrimGlow Phase 1 constitution v1.0.1 — already shipped
(TortoiseWolfe/GrimGlow_planning commit 2466343)
- Unity GrimGlow constitution — EXEMPT (Unity track stays at v1.0.1
on this dimension; in-Editor mocking is the wireframe equivalent)
- RN ScriptHammer / KDG-stack / Headless Drupal — inherit the v1.0.2
cascade when each track's v1.0.0 ratifies

Version Decision: MINOR bump to v1.0.2
- Principle III text changed; cascade newly enumerated
- No principles added or removed
- No governance changes
- Review confirms existing constitution fully covers Feature 022 requirements
- Constitution v1.0.1 remains current (ratified 2025-09-20, last amended 2025-09-25)

Follow-up: None - constitution is complete and aligned
- Workspace ~/repos/CLAUDE.md cite updated v1.0.1 → v1.0.2
- Strategy plan ~/.claude/plans/trying-to-decide-on-gleaming-kitten.md
cite updated v1.0.1 → v1.0.2
-->

# ScriptHammer Constitution
Expand All @@ -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

Expand Down Expand Up @@ -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.
Loading