`project.yaml` at the repo root is now the single source of truth for a project's configuration, replacing `production/stage.txt`, `production/review-mode.txt` and `.claude/docs/technical-preferences.md` (all three still read as a fallback; nothing is force-deleted). **`modes.rigor` — one question instead of six.** `minimal`, `standard` or `full` fronts six knobs: `modes.workflow`, `docs.density`, `qa.level`, `modes.story_granularity`, `modes.review_mode` and `team.size`. It defaults to `minimal`, which is a change from 1.0's behaviour: the heavier tier was measured costing several times more to reach working code without producing a better result, and returning nothing when a fresh developer inherited the project. Pin `modes.rigor: standard` to keep 1.0's process level. Also in this release: - `/settings` to view or change any setting, and `project.local.yaml` for per-developer preferences that should not be committed. - `system_overrides` to hold one system to a higher standard than the rest of the project, and `testing.strict` to set per test type whether missing evidence blocks a story or warns. - A story that changes anything the player sees is not closed until the game has been launched, observed, and a screenshot retained in `production/qa/evidence/`. A parse check is not a run. This holds at every rigor level, including `minimal`, where automated tests are waived but the look is not. - The code root is engine-specific and enforced as such: Godot `src/`, Unity `Assets/`, Unreal `Source/<Module>/`. Two of the three will not build a project laid out any other way. - Migration tooling for existing projects: `.claude/scripts/migrate-v1-config.sh` converts a 1.0 layout, non-destructively by default, with a report to review before `--finalize` deletes anything. - Ask-before-write holds regardless of personal automation settings. Upgrading from 1.0 or earlier: see UPGRADING.md. Full list of changes: CHANGELOG.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xvzG3i7pWQg4LjyDwWMXd
5.8 KiB
Gate definition, loaded by
/gate-checkfor the TARGET PHASE ONLY. Never load the other five — one gate applies per invocation.
Gate: Pre-Production → Production
Required Artifacts:
- Vertical slice exists in
prototypes/with a REPORT.md (run/vertical-slice) — recommended, not blocking; if absent, surface as CONCERNS - First sprint plan exists in
production/sprints/ - Art bible is complete (all 9 sections) and AD-ART-BIBLE sign-off verdict is recorded in
design/art/art-bible.md - Entity inventory exists at
design/assets/entity-inventory.md(recommended — run/asset-specwith no arguments to generate collaboratively from GDDs + art bible) - All MVP-tier GDDs from systems index are complete
- Master architecture document exists at
docs/architecture/architecture.md - At least 3 ADRs covering Foundation-layer decisions exist in
docs/architecture/ - All Foundation and Core layer ADRs have status
Accepted(notProposed) — stories cannot be unblocked until their governing ADR is accepted - Control manifest exists at
docs/architecture/control-manifest.md(generated by/create-control-manifestfrom Accepted ADRs) - Epics defined in
production/epics/with at least Foundation and Core layer epics present (use/create-epics layer: foundationand/create-epics layer: coreto create them, then/create-stories [epic-slug]for each epic) - Vertical Slice build exists and is playable (not just scope-defined) — recommended, not blocking; if absent, surface as CONCERNS
- Vertical Slice has been playtested with at least 1 documented session — recommended, not blocking; if absent, surface as CONCERNS
- Vertical Slice playtest report exists at
production/qa/playtests/or equivalent — recommended, not blocking; if absent, surface as CONCERNS - UX specs exist for key screens: main menu, core gameplay HUD (at
design/ux/), pause menu - HUD design document exists at
design/ux/hud.md(if game has in-game HUD) - All key screen UX specs have passed
/ux-review(verdict APPROVED or NEEDS REVISION accepted)
Quality Checks:
- Core loop fun is validated — playtest data confirms the central mechanic is enjoyable, not just functional. Explicitly check the Vertical Slice playtest report.
- UX specs cover all UI Requirements sections from MVP-tier GDDs
- Interaction pattern library documents patterns used in key screens
- Accessibility tier from
design/accessibility-requirements.mdis addressed in all key screen UX specs - Sprint plan references real story file paths from
production/epics/(not just GDDs — stories must embed GDD req ID + ADR reference) - Vertical Slice is COMPLETE, not just scoped — the build demonstrates the full core loop end-to-end. At least one complete [start → challenge → resolution] cycle works.
- Architecture document has no unresolved open questions in Foundation or Core layers
- All ADRs have Engine Compatibility sections stamped with the engine version
- All ADRs have ADR Dependencies sections (even if all fields are "None")
- Manual validation confirms GDDs + architecture + epics are coherent
(run
/review-all-gddsand/architecture-reviewif not done recently) - Core fantasy is delivered — at least one playtester independently described an experience that matches the Player Fantasy section of the core system GDDs (without being prompted).
Vertical Slice Validation (only run these checks if a Vertical Slice was built):
- A human has played through the core loop without developer guidance
- The game communicates what to do within the first 2 minutes of play
- No critical "fun blocker" bugs exist in the Vertical Slice build
- The core mechanic feels good to interact with (this is a subjective check — ask the user)
Verdict rules for Vertical Slice:
- Slice was built AND any validation item is NO → verdict is automatically FAIL. A broken or unfun vertical slice should not advance to Production.
- Slice was not built (skipped) → downgrade to CONCERNS only, not FAIL. Surface the risk clearly: "Advancing without a validated Vertical Slice increases the risk of late-stage design pivots. Recommended before committing full production scope." The user decides.
- Skipping is a valid solo dev or time-constrained call. Shipping a broken one is not.
Workflow tier reductions
The checklist above is the full baseline. At lower tiers apply the
reduction for the resolved tier; items not named keep their status above.
Reductions only ever relax a requirement — workflow_overrides is the
only thing that adds one.
full— sprint plan + complete (9-section) art bible + epics + 3+ playtests + UX specs + control manifest all required; Vertical Slice keeps its Section 2 status (see note)standard— 1+ playtest required (not 3); epics + sprint plan required; art bible complete + UX specs + control manifest → recommendedminimal— only sprint plan required (the minimal floor); epics, playtests, art bible, UX, control manifest all drop
The Vertical Slice keeps its Section 2 status at every tier. The Pre-Production → Production "prototype/Vertical Slice" floor is NOT upgraded to blocking by the tier table — the Vertical Slice artifacts stay recommended, not blocking (absent → CONCERNS, not FAIL) exactly as Section 2 defines, at
full,standard, andminimalalike. The genuinely-required floor item at this gate is the sprint plan. The one hard rule that binds at every tier: if a Vertical Slice was built and any of its validation items is NO, the verdict is FAIL regardless of tier — tier reductions relax what must exist, never what must work.