Overview
Silver Bullet enforces gsd:verify-work as a non-skippable gate before any workflow completes. This is a §3 rule — it cannot be waived via §10 preferences or the step-skip protocol. It applies unconditionally to every non-trivial workflow that produces code changes.
The rule exists because "done" in Silver Bullet means tests pass and behavior is confirmed — not "code was written." An implementation that isn't verified isn't done. Shipping unverified work is the most common source of regressions in AI-assisted development, and this gate is the primary defense against it.
gsd:verify-work, and prohibit accepting a completion claim from any plugin or skill without invoking /verification-before-completion with that claim. The completion audit hook enforces this mechanically — it blocks git commits and pushes if verification has not run.What Verification Means
gsd:verify-work performs goal-backward verification: it checks the actual outcome against the requirements and acceptance criteria defined in the GSD plan, rather than checking whether the code looks correct in isolation.
What it checks
- Test suite passes — the automated tests for the changed code run and pass with no failures
- No regressions — the existing test suite continues to pass; nothing that worked before is now broken
- Acceptance criteria met — the must-have truths from the GSD plan are verified against the actual output
- Artifacts exist and connect — files created or modified are in the expected locations and contain expected content
What it does NOT mean
- Manual QA or visual sign-off (that's a separate step if required)
- Stakeholder approval
- Performance benchmarking (unless that is an explicit acceptance criterion)
- Security audit (handled by
gsd:secure-phaseand the Security dimension inside/silver:quality-gates)
When It Fires
Verification fires as the penultimate step of every workflow that produces code changes, immediately before the ship step:
- silver:feature — Step 8: gsd:verify-work (must pass before security review and ship)
- silver:bugfix — after TDD regression test passes, gsd:verify-work confirms full suite
- silver:ui — Step 11: gsd:verify-work after implementation; if coverage gaps remain, gsd:add-tests fills them before ship
- silver:devops — gsd:verify-work runs against the IaC plan acceptance criteria
Workflows where it is exempt or embedded
- silver:fast — exempt from the full verification chain. Tier 1 goes through
gsd:fast; Tier 2 goes throughgsd:quickwith validation flags when needed. Both use lightweight GSD verification appropriate to their bounded scope, and scope expansion escalates to the full workflow. - silver:research — no code changes are produced; verification is replaced by the research synthesis and recommendation review step.
- silver:release — gsd:verify-work still runs, embedded within the milestone audit step. Additionally, the full quality gates suite + UAT audit + milestone audit run as higher-level gates.
Examples
Example 1: silver:feature completes normally
You run /silver:feature Add email notifications for order status changes. The workflow reaches Step 8. gsd:verify-work runs the test suite — all 47 tests pass, including 3 new tests added for the notification feature. Verification produces a VERIFICATION.md file with pass/fail per acceptance criterion. The security review (Step 10) and ship steps are unblocked.
Example 2: silver:bugfix with TDD
You run /silver:bugfix Login form throws 500 on empty password field. After root cause is identified, a failing regression test is written first (TDD). The fix is implemented, the regression test passes. Then gsd:verify-work runs the full suite — no other tests regressed. The fix is considered done and ship is unblocked.
Example 3: Attempting to skip
After execution completes, you type "Skip verification and ship — I'm confident it works." Silver Bullet refuses. The step-skip protocol offers: A. Accept skip (not available for non-skippable gates) / B. Lightweight alternative / C. Show current test results. The only path to shipping is running verification. The completion audit hook will block any git push regardless of what is typed.
/requesting-code-review, checks code quality, security, and maintainability. Both must complete before ship — they cover different concerns and neither replaces the other.FLOW 11 VERIFY and Dual-Mode Quality Gates
In Silver Bullet's composable flows architecture, verification maps to two distinct paths:
- FLOW 11 VERIFY — the non-skippable verification gate. Runs
gsd:verify-work,gsd:add-tests(as-needed for coverage gaps), andsuperpowers:verification-before-completion. ProducesUAT.mdandVERIFICATION.md. Cannot be removed from any composition that includes FLOW 7 (EXECUTE). - FLOW 12 QUALITY GATE — dual-mode quality gate that appears twice in every composition: once as a design-time checklist before planning (8 core quality dimensions plus conditional gates), and once as an adversarial audit before shipping. The pre-ship instance runs after FLOW 11 VERIFY completes. Both instances must pass — all dimensions must pass in each.
The dual-mode design separates concerns: FLOW 11 VERIFY confirms functional correctness (tests pass, acceptance criteria met), while FLOW 12 QUALITY GATE pre-ship confirms the full quality posture (security, scalability, maintainability, and 6 other dimensions) before any code reaches production.
See Also
- Composable Workflow Orchestration — FLOW 11 VERIFY and FLOW 12 QUALITY GATE in the full 18-flow catalog
- User Workflow Preferences — the step-skip protocol and which gates are permanently non-skippable
- silver:feature workflow — gsd:verify-work shown in full context
- silver:bugfix workflow — TDD regression test before verification
- Routing Logic — how /silver classifies requests before composing a path chain