> Gate definition, loaded by `/gate-check` for the TARGET PHASE ONLY. > Never load the other five — one gate applies per invocation. # Gate: Production → Polish **Required Artifacts:** - [ ] The code root has active code organized into subsystems - [ ] All core mechanics from GDD are implemented (cross-reference `design/gdd/` with the code root) - [ ] Main gameplay path is playable end-to-end - [ ] Test files exist in `tests/unit/` and `tests/integration/` covering Logic and Integration stories - [ ] All Logic stories from this sprint have corresponding unit test files in `tests/unit/` - [ ] Smoke check has been run with a PASS or PASS WITH WARNINGS verdict — report exists in `production/qa/` - [ ] At least one QA plan exists in `production/qa/` (generated by `/qa-plan`) covering this sprint, the final production sprint, or this production phase — run `/qa-plan` if missing (CONCERNS — advisory, not blocking) - [ ] QA sign-off report exists in `production/qa/` (generated by `/team-qa`) with verdict APPROVED or APPROVED WITH CONDITIONS - [ ] At least 3 distinct playtest sessions documented in `production/qa/playtests/` - [ ] Playtest reports cover: new player experience, mid-game systems, and difficulty curve - [ ] Fun hypothesis from Game Concept has been explicitly validated or revised **Quality Checks:** - [ ] Tests are passing (run test suite via Bash) - [ ] No critical/blocker bugs in any bug tracker or known issues - [ ] Core loop plays as designed (compare to GDD acceptance criteria) - [ ] Performance is within budget (check `performance.*` in `project.yaml`, else technical-preferences.md targets) - [ ] Playtest findings have been reviewed and critical fun issues addressed (not just documented) - [ ] No "confusion loops" identified — no point in the game where >50% of playtesters got stuck without knowing why - [ ] Difficulty curve matches the Difficulty Curve design doc (if one exists at `design/difficulty-curve.md`) - [ ] All implemented screens have corresponding UX specs (no "designed in-code" screens) - [ ] Interaction pattern library is up-to-date with all patterns used in implementation - [ ] Accessibility compliance verified against committed tier in `design/accessibility-requirements.md` ## 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`** — core mechanics + Logic/Integration tests + smoke check (PASS) + QA sign-off + 3+ playtests all required - **`standard`** — QA sign-off + per-story test coverage → recommended; **core mechanics + smoke check + playable end-to-end + 1+ documented playtest + no critical/blocker bugs** required - **`minimal`** — **smoke check + playable end-to-end + no critical/blocker bugs** required; the core-mechanics cross-check → recommended; everything else **drops**. Reductions relax what must *exist*, never what must *work* — a gate that closes production on "it boots" alone has not asked whether the game plays.