extensions/bug/commands/speckit.bug.test.md
Validate that the fix recorded by __SPECKIT_COMMAND_BUG_FIX__ actually resolves the bug described by __SPECKIT_COMMAND_BUG_ASSESS__. The output is a verification report at .specify/bugs/<slug>/test.md.
$ARGUMENTS
The user input should identify the bug to validate. Accept any of:
slug=<bug-slug> or --slug <bug-slug> or a bare slug-like token..specify/bugs/login-timeout/).Resolve BUG_SLUG in this order, stopping at the first match:
$ARGUMENTS (any of the forms above).__SPECKIT_COMMAND_BUG_ASSESS__ or __SPECKIT_COMMAND_BUG_FIX__, the slug it reported is the working slug. Reuse it without re-prompting. Confirm it by checking that .specify/bugs/<slug>/fix.md exists; if it does not, fall through..specify/bugs/*/fix.md. If exactly one bug has a fix.md, use it.Once resolved, set BUG_SLUG and BUG_DIR = .specify/bugs/<BUG_SLUG>, and briefly state in your reply which resolution path was used (explicit / from context / single candidate / asked).
BUG_DIR/assessment.md MUST exist.BUG_DIR/fix.md MUST exist. If not, stop and instruct the user to run __SPECKIT_COMMAND_BUG_FIX__ first.BUG_DIR/test.md already exists, ask the user whether to overwrite it (interactive mode) or refuse (automated mode).assessment.md and fix.md in full so you know:
assessment.md).fix.md).Plan the validation
Run the checks
skipped with a reason; do not run it without explicit user consent.not-run with a reason instead of fabricating a result.Judge the outcome
Write the verification report
Write to BUG_DIR/test.md using this structure:
# Bug Verification: <short title>
- **Slug**: <BUG_SLUG>
- **Tested**: <ISO 8601 date>
- **Assessment**: ./assessment.md
- **Fix**: ./fix.md
- **Result**: verified | partial | failed
## Summary
<One or two sentences: does the bug reproduce, did the fix hold, were any regressions found.>
## Checks Performed
| Check | Command / Action | Result | Notes |
|-------|------------------|--------|-------|
| Reproduction (post-fix) | <command or manual steps> | pass / fail / skipped / not-run | <short note> |
| New / updated tests | `<command>` | pass / fail | <short note> |
| Regression suite | `<command>` | pass / fail / skipped | <short note> |
| Lint / type-check | `<command>` | pass / fail / skipped | <short note> |
## Output Excerpts
<Short snippets of relevant output (e.g., final summary line of a test run, the failing assertion). Keep it tight — no full logs.>
## Residual Risks
- <known limitation, environment not covered, etc.>
## Recommendation
<One paragraph. Examples:>
- "Close the bug — verified end-to-end."
- "Hold — reproduction inconclusive; needs verification in staging."
- "Reopen — symptom still reproduces; rerun `__SPECKIT_COMMAND_BUG_ASSESS__`."
Report back with:
BUG_DIR/test.md path.verified, partial, failed).failed, recommend re-running __SPECKIT_COMMAND_BUG_ASSESS__ with the new evidence captured in test.md..specify/bugs/<slug>/.test.md without confirmation.verified based on tests alone if the original assessment listed a reproduction that you did not actually exercise — downgrade to partial and say so.