mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 10:17:06 +00:00
Release 1.1.3 — long skills keep their later steps
Fix release for 1.1.2: the 14 longest skills keep their later phases after a compaction, a question nobody answered is never taken as an answer, settings read the same from a subfolder, the commit check works for a project in a subfolder of a larger repository, every skill opens with a title, and the shipped allow rules no longer approve deleting a branch or writing files without asking. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.2 → v1.1.3). Refs #83 Refs #133 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0185en4t76fPn7315q4c3nko
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
b21fa0f7f2
commit
be8993bbc5
@@ -0,0 +1,110 @@
|
||||
# /smoke-check — Phase 6: Write and Gate
|
||||
|
||||
> Part of `/smoke-check`. `SKILL.md` names when to read this file; the settings it
|
||||
> resolved and the rules under its later headings still apply here.
|
||||
|
||||
## Phase 6: Write and Gate
|
||||
|
||||
**In this file:**
|
||||
|
||||
- `qa.level` first
|
||||
- Resolve the gate enforcement level
|
||||
- Per verdict: FAIL (blocking or advisory), NOT ASSESSED, PASS WITH WARNINGS, PASS
|
||||
|
||||
Present the full report in conversation, then ask:
|
||||
|
||||
"May I write this smoke check report to `production/qa/smoke-[date].md`?"
|
||||
|
||||
Write only after approval.
|
||||
|
||||
**First apply `qa.level` (resolved earlier).** At `qa.level: minimal`, a FAIL is
|
||||
**advisory** regardless of `testing.strict.config` — skip the resolution below and
|
||||
deliver the advisory-FAIL outcome (smoke-check is optional at minimal and never
|
||||
blocks hand-off). Otherwise:
|
||||
|
||||
**Resolve the gate enforcement level.** A FAIL verdict either *blocks* QA
|
||||
hand-off or is *flagged while hand-off proceeds*, governed by the
|
||||
`testing.strict` block **resolved in the resolved-config block at the top of this skill** (which merges
|
||||
`project.local.yaml` over `project.yaml` — read that block, not the file, or a
|
||||
developer's local override is silently ignored):
|
||||
|
||||
1. Take `testing.strict.config` from that resolved block. If its value is `true`
|
||||
(case-insensitive) → blocking; if `false` → advisory; `unset` → fall through.
|
||||
2. Else read `testing.strict` as a plain boolean (legacy single-value form) — if
|
||||
its value is `true` or `false`, it applies.
|
||||
3. Else default to **blocking** — an unset `testing.strict.config` keeps
|
||||
smoke-check's FAIL gate blocking (behavior unchanged from before this setting
|
||||
existed). Smoke check is a build-health gate, so its unset default is strict
|
||||
even though the `config` test type defaults to advisory elsewhere. The
|
||||
reciprocal carve-out is recorded in `.claude/skills/story-done/SKILL.md` and
|
||||
`.claude/docs/coding-standards.md`, which own the per-story evidence table.
|
||||
|
||||
Only `true` and `false` (case-insensitive) are recognized at steps 1–2. A key
|
||||
that is present but holds any other value — `maybe`, `1`, `yes`, etc. — is
|
||||
treated as unset: continue to the next step, and surface the unrecognized value
|
||||
to the user.
|
||||
|
||||
After writing, deliver the gate verdict:
|
||||
|
||||
**If verdict is FAIL and the gate is blocking:**
|
||||
|
||||
"The smoke check failed. Do not hand off to QA until these failures are
|
||||
resolved:
|
||||
|
||||
[List each failing automated test or smoke check with a one-line description]
|
||||
|
||||
Fix the failures and run `/smoke-check` again to re-gate before QA hand-off."
|
||||
|
||||
**If verdict is FAIL and the gate is advisory** (`testing.strict.config: false`):
|
||||
|
||||
"The smoke check failed, but `testing.strict.config` is set to advisory — QA
|
||||
hand-off is not blocked. Resolve these before release:
|
||||
|
||||
[List each failing automated test or smoke check with a one-line description]
|
||||
|
||||
QA hand-off: share `production/qa/qa-plan-[sprint].md` with the qa-tester
|
||||
agent to begin manual verification. Re-run `/smoke-check` once the failures
|
||||
are fixed."
|
||||
|
||||
**If verdict is NOT ASSESSED:**
|
||||
|
||||
"The smoke check could not establish build health — it did not fail, it did not
|
||||
run. Do not hand off to QA on this result:
|
||||
|
||||
[Name each check that could not execute, and why: suite unconfirmed NOT RUN,
|
||||
`PlayMode: NOT RUN`, zero tests executed, runner not installed, engine
|
||||
executable not found, no build, build not launched this session, platform
|
||||
unavailable]
|
||||
|
||||
[For each, the one thing that would make it runnable — e.g. 'confirm the suite
|
||||
result from your IDE or CI', 'run `/setup-engine`', 'set `engine.path`',
|
||||
'produce a build', 'launch the build and play the checks'.]
|
||||
|
||||
Re-run `/smoke-check` once any of those is resolved."
|
||||
|
||||
This outcome is **not governed by `testing.strict.config`**. That setting decides
|
||||
whether a *failure* blocks hand-off; it has nothing to say about a check that
|
||||
never produced a result, and reading an unrun check as advisory-therefore-fine is
|
||||
the exact substitution this verdict exists to prevent. Say what could not be
|
||||
checked and let the user decide — do not resolve it to either pass or FAIL on
|
||||
their behalf.
|
||||
|
||||
**If verdict is PASS WITH WARNINGS:**
|
||||
|
||||
"Smoke check passed with warnings. The build is ready for manual QA.
|
||||
|
||||
Advisory items to resolve before running `/story-done` on affected stories:
|
||||
[list MISSING test evidence entries, and any runner warning — e.g. the orphan
|
||||
count]
|
||||
|
||||
QA hand-off: share `production/qa/qa-plan-[sprint].md` with the qa-tester
|
||||
agent to begin manual verification."
|
||||
|
||||
**If verdict is PASS:**
|
||||
|
||||
"Smoke check passed cleanly. The build is ready for manual QA.
|
||||
|
||||
QA hand-off: share `production/qa/qa-plan-[sprint].md` with the qa-tester
|
||||
agent to begin manual verification."
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user