/silver:validate

Read-only pre-build gap analysis between .planning/SPEC.md and current PLAN.md files, with machine-readable findings and a human decision gate.

Overview

/silver:validate is a pre-build validation workflow. It reads the spec and current plans, checks whether acceptance criteria are covered, surfaces assumptions, and creates .planning/VALIDATION.md.

It does not modify SPEC.md or PLAN.md. Its purpose is to stop implementation from beginning while known gaps, open assumptions, or orphan tasks remain unresolved.

Core value: validation makes the plan prove that it covers the spec before execution starts.

Validation Checks

CheckWhat it detects
SPEC presenceBlocks validation when .planning/SPEC.md is missing and tells the user to run /silver:spec.
Acceptance criteria coverageFinds AC items with no matching PLAN.md task or requirement reference.
Assumption statusSurfaces accepted, follow-up-required, and blocking assumptions before implementation.
Orphan tasksFinds PLAN.md tasks with no visible traceability back to SPEC.md.
Open questionsWarns when unresolved questions remain in the spec.

Finding Severity

  • BLOCK: implementation must not begin until the issue is resolved.
  • WARN: user acknowledgement is required; may be accepted, deferred, or resolved.
  • INFO: developer awareness, usually for accepted assumptions or pre-planning context.
Decision gate: if BLOCK findings exist, SB presents them and stops. If only WARN/INFO findings exist, the user must explicitly choose whether to proceed, resolve first, or update the plan/spec.

Output

The workflow writes .planning/VALIDATION.md with a summary, machine-readable finding lines, assumption awareness, and a decision gate record. pr-traceability.sh can later consume WARN findings as deferred items when adding spec traceability to a PR.

FINDING [BLOCK] VAL-003: Acceptance criterion AC-02 has no coverage in any PLAN.md Spec ref: ## Acceptance Criteria, item AC-02 Plan ref: missing Resolution: Add a PLAN.md task that implements this criterion, or remove it from SPEC.md if out of scope

Boundaries

/silver:validate is not the same as the lifecycle hooks around specs and UAT. Related hooks enforce adjacent guarantees:

  • spec-floor-check.sh blocks planning or production builds when minimum viable spec content is missing.
  • pr-traceability.sh appends spec traceability after PR creation.
  • uat-gate.sh blocks milestone completion when UAT is missing, failing, or stale against the spec version.

Handoff

Resolve BLOCK findings before implementation. Then proceed into the composed feature, UI, DevOps, or bugfix path through /silver, or continue with the next GSD planning step if you are already inside an active workflow.

/silver:validate # Resolve any BLOCK findings /silver Continue implementation for the validated spec