Release 1.1.2 — the default path works end to end

Fix release for 1.1.1: the minimal path end to end, engine commands that
run on Godot, Unity and Unreal, hook warnings you can see, and verdicts
that say when they could not check. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.1 → v1.1.2).

Fixes #67
Fixes #131

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
This commit is contained in:
Donchitos
2026-09-29 21:32:19 +10:00
co-authored by Claude Opus 5.5
parent 7ed2c3e9c4
commit b21fa0f7f2
383 changed files with 22888 additions and 10618 deletions
+25 -11
View File
@@ -28,7 +28,7 @@ and known failure points. This skill maintains that list.
**When to run:**
- After fixing a bug (confirm a regression test was written or identify gap)
- Before a release gate (`/gate-check polish` requires regression suite exists)
- Before a phase gate — at `qa.level: full`, `/gate-check` requires a regression suite
- As part of sprint close to detect coverage drift
---
@@ -55,7 +55,9 @@ qa.level minimal" and **STOP here, before any scan**, in every mode
(`update` / `audit` / `report`). This is the `qa.level` axis; it is distinct from
the `workflow`-tier `minimal` branch in Step 2c (which only changes the
critical-path *source*, not *whether* the suite runs). Do not enter Step 2c's
`minimal` branch on account of `qa.level`.
`minimal` branch on account of `qa.level`. This stop's verdict is
**NOT ASSESSED** (Section 7) — tests are not required at this level, and nothing
was scanned.
**Modes:**
- `/regression-suite update` — scan new bug fixes this sprint and check
@@ -107,8 +109,9 @@ scope the scan by each system's workflow tier (resolved above):
- **`minimal`** — **skip the GDD critical-path scan**. Instead read the latest
smoke-check report in `production/qa/smoke-*.md` and take the critical paths it
exercises as the regression scope (Step 3 maps coverage against those, not GDD
acceptance criteria). If no smoke report exists, report that and stop — there is
no critical-path source at minimal without one.
acceptance criteria). If no smoke report exists, stop with Verdict: **NOT
ASSESSED — no smoke report to take critical paths from** — there is no
critical-path source at minimal without one; run `/smoke-check` first.
(Tier affects `audit` mode only; `update` and `report` modes are tier-independent.)
@@ -206,7 +209,7 @@ Check for drift indicators:
### Bug Regression Coverage
| Bug ID | System | Severity | Has Regression Test? |
|--------|--------|----------|----------------------|
| BUG-NNN | [system] | S[N] | YES / NO ⚠ |
| BUG-NNNN | [system] | S[N] | YES / NO ⚠ |
**Bugs without regression tests**: [N]
@@ -216,7 +219,7 @@ Check for drift indicators:
### Recommended New Regression Tests
| Priority | System | Suggested Test File | Covers |
|----------|--------|---------------------|--------|
| HIGH | [system] | `tests/unit/[system]/[slug]_regression_test.[ext]` | BUG-NNN / AC-[N] |
| HIGH | [system] | `tests/unit/[system]/[slug]_regression_test.[ext]` | BUG-NNNN / AC-[N] |
| MEDIUM | [system] | `tests/unit/[system]/[slug]_test.[ext]` | [criterion] |
```
@@ -260,7 +263,7 @@ of which tests should always pass before a release:
| Test File | Test Function (if known) | Covers | Added |
|-----------|--------------------------|--------|-------|
| `tests/unit/[system]/[file]_test.[ext]` | `test_[scenario]` | AC-N / BUG-NNN | [date] |
| `tests/unit/[system]/[file]_test.[ext]` | `test_[scenario]` | AC-N / BUG-NNNN | [date] |
## Known Gaps
@@ -268,7 +271,7 @@ Tests that should exist but don't yet:
| Priority | System | Suggested Path | Covers | Reason Not Yet Written |
|----------|--------|----------------|--------|------------------------|
| HIGH | [system] | `tests/unit/[system]/[path]` | BUG-NNN | Bug fixed without test |
| HIGH | [system] | `tests/unit/[system]/[path]` | BUG-NNNN | Bug fixed without test |
## Quarantined Tests
@@ -283,7 +286,7 @@ Tests that are flaky or disabled (do not run in CI):
## 7. Write Output
Ask: "May I write/update `tests/regression-suite.md` with the current
In `update` or `audit` mode, ask: "May I write/update `tests/regression-suite.md` with the current
regression suite manifest?"
For `update` mode: append new entries; never remove existing entries
@@ -300,7 +303,18 @@ After writing (if approved):
- If coverage drift detected: "Regression suite may be drifting. Consider
running `/regression-suite audit` at the next sprint boundary."
Verdict: **COMPLETE** — regression suite updated. (If user declined write: Verdict: **BLOCKED**.)
Verdict, first match wins:
- **NOT ASSESSED** — the Section 1 stop at `qa.level: minimal`: "Regression
suite not generated at qa.level minimal". Tests are not required at this
level; nothing was scanned or written.
- **NOT ASSESSED** — the `minimal` stop above: no smoke report to take critical
paths from; name `/smoke-check` as the fix.
- **NOT ASSESSED** — coverage came back `Coverage: NOT ASSESSED — [reason]` (no GDDs or
no test files); name the reason. Never report COMPLETE over a coverage figure
that was not computed.
- **BLOCKED** — `update` or `audit` mode and the user declined the write.
- **COMPLETE** — `update` / `audit`: regression suite updated; `report`: coverage
report shown (report mode writes nothing).
---
@@ -314,7 +328,7 @@ describe what collaborative mode requires, not universal behavior.
explicit user approval — removing a test that was deliberately written is a
regression risk itself
- **Gaps are advisory, not blocking** — surface them clearly but do not prevent
other work from proceeding (except at release gate where regression suite is required)
other work from proceeding (except at `qa.level: full`, where phase gates require the regression suite)
- **Quarantine is not deletion** — tests with intermittent failures should be
quarantined (noted in manifest) but not removed; they should be fixed by
`/test-flakiness`