| name | spectre-validate |
| description | Validate that completed implementation actually delivers the scope/tasks requirements — chunks the work into areas, dispatches parallel @spectre:analyst validators that trace each requirement from user action to render, and writes one actionable validation_gaps.md ranking what's Delivered / Partial / Dead Code / Missing. Trigger after execute (or any build) when you need to confirm requirements are met before clean/test/ship. Do NOT trigger to fix the gaps (spectre-fix), to run the test suite (spectre-test), or to remove dead code (spectre-prune). |
| user-invocable | true |
validate
Post-implementation requirement validation. Verify the built work against scope docs and tasks.json slices, dispatch parallel validators per area, and produce one actionable gap-remediation document. Validation only — never fix.
Core principle (load-bearing)
Definition ≠ Connection ≠ Reachability. A requirement is only delivered if all three hold:
- Defined — code exists in a file.
- Connected — it is imported/called by other code.
- Reachable — a user action can trigger the code path.
Level 1 without 2/3 is dead code that happens to match the description — not complete. Always trace past "X exists" → "X is called by Z at file:line" → "Z fires when the user does W."
Inputs
$ARGUMENTS — explicit feature name/root or descendant artifact, scope docs, an explicit arbitrary plan as a requirement source, and/or tasks.json to validate against (paths, or "use thread context"), plus optional focus evidence, an immutable // candidate tuple, and when a parent workflow owns remediation and the next step. Requirement context is . If absent, ask for a scope or plan path, the task detail JSON path, or "use thread context" — then wait.