<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
mohamedabdallah-14/wazir/verification
──Details
PublishedOctober 23, 2026 at 05:28 AM
Content Hashsha256:cbb7d5f7784f2f32...
Git SHAdc1ac2ad4b07
──Files
Files (1 file, 3.6 KB)
SKILL.md3.6 KBactive
SKILL.md · 78 lines · 3.6 KB

version: "1.0.0" name: wz:verification description: Use before claiming work is complete. Every completion claim needs fresh command evidence or another deterministic proof path.


Stop. Before you start working — what does your phase checklist say? Go read .wazir/runs/latest/phases/ and follow it. Every item, not just the ones that feel important. What's the first unchecked item?

Verification

Command Routing

Follow the Canonical Command Matrix in hooks/routing-matrix.json.

  • Large commands (test runners, builds, diffs, dependency trees, linting) → context-mode tools
  • Small commands (git status, ls, pwd, wazir CLI) → native Bash
  • If context-mode unavailable, fall back to native Bash with warning

Codebase Exploration

  1. Query wazir index search-symbols <query> first
  2. Use wazir recall file <path> --tier L1 for targeted reads
  3. Fall back to direct file reads ONLY for files identified by index queries
  4. Maximum 10 direct file reads without a justifying index query
  5. If no index exists: wazir index build && wazir index summarize --tier all

Proof of Implementation

  1. Detect project type: detectRunnableType(projectRoot) → web | api | cli | library
  2. Collect evidence: collectProof(taskSpec, runConfig)
  3. Save evidence to .wazir/runs/<id>/artifacts/proof-<task>.json

For runnable output (web/api/cli): Run the application and capture evidence (build output, screenshots, curl responses, CLI output).

For non-runnable output (library/config/skills): Run lint, format check, type check, and tests. All must pass.

Evidence collection uses tooling/src/verify/proof-collector.js.

Verification Requirements

Every completion claim must include:

  • what was verified
  • the exact command or deterministic check
  • the actual result

Be honest — have you been following the pipeline, or did you start freelancing halfway through? Go back to .wazir/runs/latest/phases/ and verify your progress. What step are you actually on?

Proof Collection

Use proof-collector (tooling/src/verify/proof-collector.js) for automated evidence gathering:

  1. `detectRunnableType(projectRoot)` — detects whether the project is web, api, cli, or library from package.json. Detection order: pkg.bin (cli), web framework deps (web), API framework deps (api), default (library).
  1. `collectProof(projectRoot, opts?)` — runs type-appropriate verification commands and returns structured evidence:
  • web: npm run build + library checks
  • api: library checks (test, tsc, eslint, prettier)
  • cli: <bin> --help + library checks
  • library: npm test, tsc --noEmit, eslint ., prettier --check .

All commands use execFileSync (never shell exec) for security. Evidence is returned as { type, evidence: [{ check, ok, output }] }.

Minimum Rules

  • no success claim without fresh evidence from the current change
  • always use proof-collector for Node.js projects to gather deterministic evidence
  • attach the evidence array to the verification proof artifact

When verification fails:

  • do not mark the work complete
  • report the gap honestly

Ask the user via AskUserQuestion:

  • Question: "Verification failed for [specific criteria]. How should we proceed?"
  • Options:
  1. "Fix the issue and re-verify" (Recommended)
  2. "Accept partial verification with documented gaps"
  3. "Abort and review what went wrong"

Wait for the user's selection before continuing.

You're about to say you're done. Are you really? Go back to .wazir/runs/latest/phases/ and check every item one more time. If something was skipped or half-done, now is the time to finish it. What was left incomplete?

All versions