| name | verification-first |
| category | verification |
| version | 2.0.0 |
| description | Hard verification gate — no task is complete without proof it works (Next.js/Supabase stack) |
| author | Unite Group (ported from NodeJS-Starter-V1) |
| priority | 1 |
| auto_load | true |
| triggers | ["any_code_change","post-implementation","pre-commit"] |
| context | fork |
Verification-First Development
The Core Rule
A task is NOT complete until verification passes. "Almost working" = broken.
No self-attestation. No assumed success. Evidence required.
The 5 Rules
Rule 1 — Prove It Works
Every code change MUST be verified before moving on:
- Run the actual build command
- Run actual tests (not mocked)
- Check actual output
- Confirm expected behaviour
Rule 2 — Honest Failure Reporting
When something fails:
- State clearly: "This failed"
- Include the actual error message verbatim
- Do not soften or interpret the failure
- Do not say "almost working" — it either works or it doesn't
Rule 3 — No Assumptions
- Never assume a fix worked
- Never assume tests pass because logic looks right
- Never assume the build succeeds
- VERIFY EVERYTHING
Rule 4 — Root Cause First
Before attempting any fix:
- Read the actual error message
- Understand what the error means
- Identify the root cause
- THEN propose a fix (one at a time)
Rule 5 — Independent Verification
The agent that wrote the code MUST NOT verify its own work.
Route to [[verification]] agent. No exceptions.
Verification Commands (Unite-Group Stack)
pnpm run type-check
pnpm run lint
pnpm vitest run
pnpm run type-check && pnpm run lint && pnpm vitest run
.\scripts\health-check.ps1
Note: turbo CLI is NOT available globally — use pnpm run scripts directly.
Verification Tiers
Tier A — Quick (30 seconds)
- TypeScript type-check passes
- Lint passes (zero errors, zero warnings)
- No console errors
Trigger: After every code generation
Tier B — Standard (2–3 minutes)
- All Tier A checks
- Vitest unit tests pass