Gap closure: feedback loops, traceability, and new /content-audit skill

- NEW /content-audit skill: GDD-specified content vs implemented content gap
  report with COMPLETE/IN PROGRESS/EARLY/NOT STARTED per system
- balance-check: Fix & Verify Cycle phase (fix → re-verify → propagate-design-change)
- perf-profile: Scope & Timeline Decision phase for M/L effort optimizations
- playtest-report: Action Routing phase categorizes findings → design/balance/bugs/polish
- review-all-gdds: Phase 4 Cross-System Scenario Walkthrough (multi-system sequences)
- story-done: Test-Criterion Traceability (each AC mapped to a test, BLOCKING if >50% untested)
- code-review: ADR Compliance Check (ARCHITECTURAL VIOLATION / ADR DRIFT / MINOR DEVIATION)
- setup-engine: upgrade subcommand (pre-upgrade API scan, migration plan, VERSION.md update)
- story-readiness: Asset References Check (verifies referenced asset paths exist)
- validate-assets.sh: invalid JSON now exits 1 (blocking); naming issues exit 0 (warning)
- workflow-catalog.yaml + sprint-plan: /scope-check wired into production phase

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Donchitos
2026-03-12 11:18:43 +11:00
parent 0bbf25ec31
commit 70fbf670fc
12 changed files with 609 additions and 20 deletions

View File

@@ -95,6 +95,44 @@ options: "Yes — passes", "No — fails", "Not tested yet"
- Criteria that require a full game build to test (end-to-end gameplay scenarios)
- Mark as: `DEFERRED — requires playtest session`
### Test-Criterion Traceability
After completing the pass/fail/deferred check above, map each acceptance
criterion to the test that covers it:
For each acceptance criterion in the story:
1. Ask: is there a test — unit, integration, or confirmed manual playtest — that
directly verifies this criterion?
- **Unit test**: check `tests/unit/` for a test file or function name that
matches the criterion's subject (use `Glob` and `Grep`)
- **Integration test**: check `tests/integration/` similarly
- **Manual confirmation**: if the criterion was verified via `AskUserQuestion`
above with a "Yes — passes" answer, count that as a manual test
2. Produce a traceability table:
```
| Criterion | Test | Status |
|-----------|------|--------|
| AC-1: [criterion text] | tests/unit/test_foo.gd::test_bar | COVERED |
| AC-2: [criterion text] | Manual playtest confirmation | COVERED |
| AC-3: [criterion text] | — | UNTESTED |
```
3. Apply these escalation rules:
- If **>50% of criteria are UNTESTED**: escalate to **BLOCKING** — test
coverage is insufficient to confirm the story is actually done. The verdict
in Phase 6 cannot be COMPLETE until coverage improves.
- If **some (≤50%) criteria are UNTESTED**: remain ADVISORY — does not block
completion, but must appear in Completion Notes.
- If **all criteria are COVERED**: no action needed beyond including the
table in the report.
4. For any ADVISORY untested criteria, add to the Completion Notes in Phase 7:
`"Untested criteria: [AC-N list]. Recommend adding tests in a follow-up story."`
---
## Phase 4: Check for Deviations
@@ -175,6 +213,13 @@ Before updating any files, present the full report:
- [ ] [Criterion 3] — FAILS: [reason]
- [?] [Criterion 4] — DEFERRED: requires playtest
### Test-Criterion Traceability
| Criterion | Test | Status |
|-----------|------|--------|
| AC-1: [text] | [test file::test name] | COVERED |
| AC-2: [text] | Manual confirmation | COVERED |
| AC-3: [text] | — | UNTESTED |
### Deviations
[NONE] OR:
- BLOCKING: [description] — [GDD/ADR reference]