@wazir-dev/cli 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +39 -44
  2. package/README.md +13 -13
  3. package/assets/demo.cast +47 -0
  4. package/assets/demo.gif +0 -0
  5. package/docs/anti-patterns/AP-23-skipping-enabled-workflows.md +28 -0
  6. package/docs/anti-patterns/AP-24-clarifier-deciding-scope.md +34 -0
  7. package/docs/concepts/architecture.md +1 -1
  8. package/docs/concepts/why-wazir.md +1 -1
  9. package/docs/readmes/INDEX.md +1 -1
  10. package/docs/readmes/features/expertise/README.md +1 -1
  11. package/docs/readmes/features/hooks/pre-compact-summary.md +1 -1
  12. package/docs/reference/hooks.md +1 -0
  13. package/docs/reference/launch-checklist.md +3 -3
  14. package/docs/reference/review-loop-pattern.md +3 -2
  15. package/docs/reference/skill-tiers.md +2 -2
  16. package/expertise/antipatterns/process/ai-coding-antipatterns.md +117 -0
  17. package/exports/hosts/claude/.claude/commands/plan-review.md +3 -1
  18. package/exports/hosts/claude/.claude/commands/verify.md +30 -1
  19. package/exports/hosts/claude/export.manifest.json +2 -2
  20. package/exports/hosts/codex/export.manifest.json +2 -2
  21. package/exports/hosts/cursor/export.manifest.json +2 -2
  22. package/exports/hosts/gemini/export.manifest.json +2 -2
  23. package/llms-full.txt +48 -18
  24. package/package.json +2 -3
  25. package/schemas/phase-report.schema.json +9 -0
  26. package/skills/brainstorming/SKILL.md +14 -2
  27. package/skills/clarifier/SKILL.md +189 -35
  28. package/skills/executor/SKILL.md +67 -0
  29. package/skills/init-pipeline/SKILL.md +0 -1
  30. package/skills/reviewer/SKILL.md +86 -13
  31. package/skills/self-audit/SKILL.md +20 -0
  32. package/skills/skill-research/SKILL.md +188 -0
  33. package/skills/verification/SKILL.md +41 -3
  34. package/skills/wazir/SKILL.md +304 -38
  35. package/tooling/src/capture/command.js +17 -1
  36. package/tooling/src/capture/store.js +32 -0
  37. package/tooling/src/capture/user-input.js +66 -0
  38. package/tooling/src/checks/security-sensitivity.js +69 -0
  39. package/tooling/src/cli.js +28 -26
  40. package/tooling/src/guards/phase-prerequisite-guard.js +58 -0
  41. package/tooling/src/init/auto-detect.js +0 -2
  42. package/tooling/src/init/command.js +3 -95
  43. package/tooling/src/status/command.js +6 -1
  44. package/tooling/src/verify/proof-collector.js +299 -0
  45. package/workflows/plan-review.md +3 -1
  46. package/workflows/verify.md +30 -1
@@ -14,6 +14,16 @@ On entering this phase, run:
14
14
  - changed files
15
15
  - claimed outcomes
16
16
  - acceptance criteria
17
+ - project type (detected via `detectRunnableType(projectRoot)` → web | api | cli | library, from `tooling/src/verify/proof-collector.js`)
18
+
19
+ ## Process
20
+
21
+ 1. **Detect project type:** Run `detectRunnableType(projectRoot)` to determine verification strategy
22
+ 2. **Collect evidence:** Run `collectProof(taskSpec, runConfig)` with the detected type
23
+ 3. **For runnable output (web/api/cli):** Run the application and capture runtime evidence (build output, screenshots, curl responses, CLI output)
24
+ 4. **For non-runnable output (library/config/skills):** Run lint, format check, type check, and tests — all must pass
25
+ 5. **Save evidence:** Write to `.wazir/runs/<id>/artifacts/proof-<task>.json`
26
+ 6. **Validate:** Ensure every acceptance criterion has at least one evidence item mapped to it
17
27
 
18
28
  ## Primary Role
19
29
 
@@ -21,7 +31,11 @@ On entering this phase, run:
21
31
 
22
32
  ## Outputs
23
33
 
24
- - verification proof artifact
34
+ - verification proof artifact (produced by `collectProof` from `tooling/src/verify/proof-collector.js`)
35
+
36
+ ## Proof Collection
37
+
38
+ Use `detectRunnableType` to classify the project, then `collectProof` to gather evidence. The proof-collector runs type-appropriate commands (build, test, lint, type-check) using `execFileSync` and returns structured `{ type, evidence }`.
25
39
 
26
40
  ## Approval Gate
27
41
 
@@ -32,6 +46,19 @@ On entering this phase, run:
32
46
  On completing this phase, run:
33
47
  `wazir capture event --run <run-id> --event phase_exit --phase <phase-name> --status completed`
34
48
 
49
+ ## Proof of Implementation
50
+
51
+ The verifier detects whether the project output is runnable and collects appropriate evidence:
52
+
53
+ | Project Type | Detection | Evidence Collected |
54
+ |-------------|-----------|-------------------|
55
+ | `web` | next/vite/react-scripts in deps | Build output, Playwright screenshot (if available), curl response |
56
+ | `api` | express/fastify/hono in deps | curl endpoint responses with status codes |
57
+ | `cli` | `bin` field in package.json | `--help` output, test run with sample args |
58
+ | `library` | default (no runnable markers) | npm test, tsc, eslint, prettier — all must pass |
59
+
60
+ Evidence is saved to `.wazir/runs/<id>/artifacts/proof-<task>.json` using `collectProof()` from `tooling/src/verify/proof-collector.js`.
61
+
35
62
  ## Relationship to Review Loops
36
63
 
37
64
  Verification is invoked per-task during execution, not as a review loop. It produces deterministic proof, not adversarial findings.
@@ -39,3 +66,5 @@ Verification is invoked per-task during execution, not as a review loop. It prod
39
66
  ## Failure Conditions
40
67
 
41
68
  - stale or partial verification
69
+ - proof-collector reports `status: "fail"` for any evidence item
70
+ - runnable type detected but no evidence collected