← ClaudeAtlas

verifylisted

Create and run the verification gate for this repo — the profile's ordered step manifest (ledgers → lockfile → lint → types → unit → build → reality checks → integration → e2e), with exact closing lines recorded. Also the standard for WRITING tests — expected values cite the spec or the schema, every behavior gets a boundary pair, no tests that mirror the implementation. Invoked standalone and as the /dev verify step, and before declaring ANY code change done.
connorpham/vteam-harness · ★ 6 · Testing & QA · score 81
Install: claude install-skill connorpham/vteam-harness
> **Model routing for this tool** (from `model-routing.data.yaml`, snapshot 2026-08-17): > `frontier` → **fable** · `workhorse` → **opus** · `standard` → **sonnet** · `utility` → **haiku** > Roles → tiers: ba-challenger: standard · ba-draft: standard · dev-r1: workhorse · dev-r2: standard (high-stakes: workhorse) · dev-r3: workhorse · explore: utility · qa-challenger: standard · sa-background: workhorse · sa-challenger: workhorse · sa-writer: workhorse > Resolve at runtime: `python3 .vteam/scripts/model_route.py <role> --tool claude-code [--high-stakes]` — high-stakes diffs (review.high_stakes_*) bump dev-r2 to the workhorse tier. > Spawning a subagent: pass the resolved name as the Agent tool's `model` parameter. # /verify — the verification gate **Why this exists:** "it should work" is not a verdict. A change is done only when the gate below is green and the exact output lines are quoted back. **Immutable principles:** 1. **Report honestly.** A failing step is reported with its real output — never softened, never skipped silently. A step that could not run (missing env, no DB): say which and why. 2. **Tests encode the spec, not the code.** Every expected value cites its source — a spec section or a schema model/field (as a comment on the assertion). A test that mirrors what the implementation returns proves nothing. 3. **Boundary pairs.** Each behavior gets the passing input AND the adjacent failing one (duplicate vs fresh identifier; sufficient vs insuff