@wazir-dev/cli 1.0.0 → 1.1.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 (69) hide show
  1. package/CHANGELOG.md +31 -2
  2. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +1 -1
  3. package/docs/reference/review-loop-pattern.md +429 -0
  4. package/docs/reference/tooling-cli.md +2 -0
  5. package/docs/truth-claims.yaml +6 -0
  6. package/exports/hosts/claude/.claude/agents/clarifier.md +3 -0
  7. package/exports/hosts/claude/.claude/agents/designer.md +3 -0
  8. package/exports/hosts/claude/.claude/agents/executor.md +2 -0
  9. package/exports/hosts/claude/.claude/agents/planner.md +3 -0
  10. package/exports/hosts/claude/.claude/agents/researcher.md +2 -0
  11. package/exports/hosts/claude/.claude/agents/reviewer.md +5 -1
  12. package/exports/hosts/claude/.claude/agents/specifier.md +3 -0
  13. package/exports/hosts/claude/.claude/commands/clarify.md +4 -0
  14. package/exports/hosts/claude/.claude/commands/design-review.md +4 -0
  15. package/exports/hosts/claude/.claude/commands/design.md +4 -0
  16. package/exports/hosts/claude/.claude/commands/discover.md +4 -0
  17. package/exports/hosts/claude/.claude/commands/execute.md +4 -0
  18. package/exports/hosts/claude/.claude/commands/plan-review.md +4 -0
  19. package/exports/hosts/claude/.claude/commands/plan.md +4 -0
  20. package/exports/hosts/claude/.claude/commands/spec-challenge.md +4 -0
  21. package/exports/hosts/claude/.claude/commands/specify.md +4 -0
  22. package/exports/hosts/claude/.claude/commands/verify.md +4 -0
  23. package/exports/hosts/claude/export.manifest.json +19 -19
  24. package/exports/hosts/codex/export.manifest.json +19 -19
  25. package/exports/hosts/cursor/export.manifest.json +19 -19
  26. package/exports/hosts/gemini/export.manifest.json +19 -19
  27. package/hooks/definitions/loop_cap_guard.yaml +1 -1
  28. package/hooks/hooks.json +18 -0
  29. package/package.json +3 -2
  30. package/roles/clarifier.md +3 -0
  31. package/roles/designer.md +3 -0
  32. package/roles/executor.md +2 -0
  33. package/roles/planner.md +3 -0
  34. package/roles/researcher.md +2 -0
  35. package/roles/reviewer.md +5 -1
  36. package/roles/specifier.md +3 -0
  37. package/skills/brainstorming/SKILL.md +139 -38
  38. package/skills/clarifier/SKILL.md +219 -0
  39. package/skills/debugging/SKILL.md +11 -1
  40. package/skills/executing-plans/SKILL.md +15 -2
  41. package/skills/executor/SKILL.md +76 -0
  42. package/skills/init-pipeline/SKILL.md +106 -17
  43. package/skills/receiving-code-review/SKILL.md +8 -0
  44. package/skills/requesting-code-review/SKILL.md +25 -5
  45. package/skills/reviewer/SKILL.md +151 -0
  46. package/skills/subagent-driven-development/SKILL.md +25 -2
  47. package/skills/tdd/SKILL.md +8 -0
  48. package/skills/wazir/SKILL.md +250 -43
  49. package/skills/writing-plans/SKILL.md +31 -4
  50. package/templates/examples/wazir-manifest.example.yaml +1 -1
  51. package/tooling/src/capture/command.js +87 -1
  52. package/tooling/src/capture/run-config.js +21 -0
  53. package/tooling/src/checks/brand-truth.js +3 -6
  54. package/tooling/src/checks/command-registry.js +1 -0
  55. package/tooling/src/checks/docs-truth.js +1 -1
  56. package/tooling/src/checks/runtime-surface.js +3 -7
  57. package/tooling/src/cli.js +8 -3
  58. package/tooling/src/init/command.js +201 -0
  59. package/wazir.manifest.yaml +0 -3
  60. package/workflows/clarify.md +4 -0
  61. package/workflows/design-review.md +4 -0
  62. package/workflows/design.md +4 -0
  63. package/workflows/discover.md +4 -0
  64. package/workflows/execute.md +4 -0
  65. package/workflows/plan-review.md +4 -0
  66. package/workflows/plan.md +4 -0
  67. package/workflows/spec-challenge.md +4 -0
  68. package/workflows/specify.md +4 -0
  69. package/workflows/verify.md +4 -0
@@ -34,6 +34,10 @@ If either check fails:
34
34
  - code and docs changes
35
35
  - execution notes
36
36
 
37
+ ## Per-Task Review
38
+
39
+ Each task's output is reviewed using the review loop pattern with the 5 task-execution dimensions (correctness, tests, wiring, drift, quality). The reviewer is invoked with `--mode task-review --task-id <NNN>`. This is NOT the final review -- it is a per-task gate. Review happens BEFORE commit. Review logs use task-scoped filenames: `<phase>-task-<NNN>-review-pass-<N>.md`. See `docs/reference/review-loop-pattern.md` for code review scoping rules.
40
+
37
41
  ## Approval Gate
38
42
 
39
43
  - no new scope without explicit approval
@@ -37,6 +37,10 @@ On rejection: `wazir capture event --run <run-id> --event gate_rejected --phase
37
37
  On completing this phase, run:
38
38
  `wazir capture event --run <run-id> --event phase_exit --phase <phase-name> --status completed`
39
39
 
40
+ ## Loop Structure
41
+
42
+ Follows the review loop pattern in `docs/reference/review-loop-pattern.md` with plan dimensions. The planner role resolves findings. Pass count determined by depth. No extension.
43
+
40
44
  ## Failure Conditions
41
45
 
42
46
  - sequence gaps survive review
@@ -25,6 +25,10 @@ On entering this phase, run:
25
25
  - implementation plan artifact
26
26
  - ordered tasks and verification steps
27
27
 
28
+ ## Review Loop
29
+
30
+ Plan artifact is reviewed via the plan-review workflow (`workflows/plan-review.md`) using the review loop pattern with plan dimensions. The reviewer is invoked with `--mode plan-review`.
31
+
28
32
  ## Approval Gate
29
33
 
30
34
  - explicit human approval required before execution
@@ -36,6 +36,10 @@ On rejection: `wazir capture event --run <run-id> --event gate_rejected --phase
36
36
  On completing this phase, run:
37
37
  `wazir capture event --run <run-id> --event phase_exit --phase <phase-name> --status completed`
38
38
 
39
+ ## Loop Structure
40
+
41
+ This workflow IS a review loop. Follows the pattern in `docs/reference/review-loop-pattern.md` with spec/clarification dimensions. The specifier role resolves findings. Loop count tracked via `wazir capture loop-check --mode spec-challenge`. Pass count determined by depth (quick=3, standard=5, deep=7). No extension beyond depth pass count.
42
+
39
43
  ## Failure Conditions
40
44
 
41
45
  - rubber-stamp review
@@ -24,6 +24,10 @@ On entering this phase, run:
24
24
  - acceptance criteria
25
25
  - assumptions and non-goals
26
26
 
27
+ ## Review Loop
28
+
29
+ Spec artifact is reviewed via the spec-challenge workflow (`workflows/spec-challenge.md`) using the review loop pattern with spec dimensions. The reviewer is invoked with `--mode spec-challenge`. The specifier resolves findings.
30
+
27
31
  ## Approval Gate
28
32
 
29
33
  - explicit human approval required before planning
@@ -32,6 +32,10 @@ On entering this phase, run:
32
32
  On completing this phase, run:
33
33
  `wazir capture event --run <run-id> --event phase_exit --phase <phase-name> --status completed`
34
34
 
35
+ ## Relationship to Review Loops
36
+
37
+ Verification is invoked per-task during execution, not as a review loop. It produces deterministic proof, not adversarial findings.
38
+
35
39
  ## Failure Conditions
36
40
 
37
41
  - stale or partial verification
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "host": "claude",
3
3
  "source_hashes": {
4
- "wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
5
- "roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
4
+ "wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
5
+ "roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
6
6
  "roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
7
- "roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
8
- "roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
7
+ "roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
8
+ "roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
9
9
  "roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
10
- "roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
11
- "roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
12
- "roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
13
- "roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
10
+ "roles/planner.md": "07ef01bf1d4a1addda2172381013087f69aa91b4b239320ee253640d6db618cb",
11
+ "roles/researcher.md": "b2b9e9d79d7b8194603ae3d22d9f8cc994d60384e8de1b4c6b6559410523e0b9",
12
+ "roles/reviewer.md": "dd97b74152b5bd0472987d6e4660d693ebe75d5c067e17df4725f897156d014e",
13
+ "roles/specifier.md": "2d4cd45380fc6c68c7e05117165ae28853237cdffc58e712a5ebd7c1ce69b76e",
14
14
  "roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
15
15
  "workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
16
- "workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
17
- "workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
18
- "workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
19
- "workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
20
- "workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
16
+ "workflows/clarify.md": "6db1bc65a61e3227649ed65f15de9a88500ea4239b388918c82d474ef92f0030",
17
+ "workflows/design-review.md": "96e454283af28f02a4d7b03f4edfa5c00d02107fcfa3d0c8f19e640f56027845",
18
+ "workflows/design.md": "7f69758b22f88c12d16846ac1dd444f4e178ab116559ef9f2f26f6daa1a10d62",
19
+ "workflows/discover.md": "0696add486f739a46ed4c2b71b67bdda3ab9fea2d1395e662191282529ed21d2",
20
+ "workflows/execute.md": "33428704476877b2c8cf34c6eda3a56d1fd71e8bbea0f05c122bb3da2c6475a6",
21
21
  "workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
22
- "workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
23
- "workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
22
+ "workflows/plan-review.md": "8696c472cb4605a171fd4ac8a9c51b7cf337807c4881ed163515dc56e61fd818",
23
+ "workflows/plan.md": "fd52737159ab13688af8cbcb1c3fa224b1a9dda441b9ab337ab98cbfb5c68fa5",
24
24
  "workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
25
25
  "workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
26
26
  "workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
27
- "workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
28
- "workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
29
- "workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
30
- "hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
27
+ "workflows/spec-challenge.md": "dc99137c28c49a6f8312924709afb6077754d128e90466dc911150ce15737897",
28
+ "workflows/specify.md": "53b84e74871f6dbd93cae22a881cc5907e398b29501d0a1fa08c7ed69df705cb",
29
+ "workflows/verify.md": "45f9c189520dfe9d24c0bc340a15e6a80c988fca1b84dc187627032a6dbaee16",
30
+ "hooks/definitions/loop_cap_guard.yaml": "f0fd220e028ab6fad3d8fd650602884fe500ca4899eff6e428cf217af058618d",
31
31
  "hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
32
32
  "hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
33
33
  "hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "host": "codex",
3
3
  "source_hashes": {
4
- "wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
5
- "roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
4
+ "wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
5
+ "roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
6
6
  "roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
7
- "roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
8
- "roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
7
+ "roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
8
+ "roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
9
9
  "roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
10
- "roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
11
- "roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
12
- "roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
13
- "roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
10
+ "roles/planner.md": "07ef01bf1d4a1addda2172381013087f69aa91b4b239320ee253640d6db618cb",
11
+ "roles/researcher.md": "b2b9e9d79d7b8194603ae3d22d9f8cc994d60384e8de1b4c6b6559410523e0b9",
12
+ "roles/reviewer.md": "dd97b74152b5bd0472987d6e4660d693ebe75d5c067e17df4725f897156d014e",
13
+ "roles/specifier.md": "2d4cd45380fc6c68c7e05117165ae28853237cdffc58e712a5ebd7c1ce69b76e",
14
14
  "roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
15
15
  "workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
16
- "workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
17
- "workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
18
- "workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
19
- "workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
20
- "workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
16
+ "workflows/clarify.md": "6db1bc65a61e3227649ed65f15de9a88500ea4239b388918c82d474ef92f0030",
17
+ "workflows/design-review.md": "96e454283af28f02a4d7b03f4edfa5c00d02107fcfa3d0c8f19e640f56027845",
18
+ "workflows/design.md": "7f69758b22f88c12d16846ac1dd444f4e178ab116559ef9f2f26f6daa1a10d62",
19
+ "workflows/discover.md": "0696add486f739a46ed4c2b71b67bdda3ab9fea2d1395e662191282529ed21d2",
20
+ "workflows/execute.md": "33428704476877b2c8cf34c6eda3a56d1fd71e8bbea0f05c122bb3da2c6475a6",
21
21
  "workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
22
- "workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
23
- "workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
22
+ "workflows/plan-review.md": "8696c472cb4605a171fd4ac8a9c51b7cf337807c4881ed163515dc56e61fd818",
23
+ "workflows/plan.md": "fd52737159ab13688af8cbcb1c3fa224b1a9dda441b9ab337ab98cbfb5c68fa5",
24
24
  "workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
25
25
  "workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
26
26
  "workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
27
- "workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
28
- "workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
29
- "workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
30
- "hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
27
+ "workflows/spec-challenge.md": "dc99137c28c49a6f8312924709afb6077754d128e90466dc911150ce15737897",
28
+ "workflows/specify.md": "53b84e74871f6dbd93cae22a881cc5907e398b29501d0a1fa08c7ed69df705cb",
29
+ "workflows/verify.md": "45f9c189520dfe9d24c0bc340a15e6a80c988fca1b84dc187627032a6dbaee16",
30
+ "hooks/definitions/loop_cap_guard.yaml": "f0fd220e028ab6fad3d8fd650602884fe500ca4899eff6e428cf217af058618d",
31
31
  "hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
32
32
  "hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
33
33
  "hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "host": "cursor",
3
3
  "source_hashes": {
4
- "wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
5
- "roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
4
+ "wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
5
+ "roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
6
6
  "roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
7
- "roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
8
- "roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
7
+ "roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
8
+ "roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
9
9
  "roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
10
- "roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
11
- "roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
12
- "roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
13
- "roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
10
+ "roles/planner.md": "07ef01bf1d4a1addda2172381013087f69aa91b4b239320ee253640d6db618cb",
11
+ "roles/researcher.md": "b2b9e9d79d7b8194603ae3d22d9f8cc994d60384e8de1b4c6b6559410523e0b9",
12
+ "roles/reviewer.md": "dd97b74152b5bd0472987d6e4660d693ebe75d5c067e17df4725f897156d014e",
13
+ "roles/specifier.md": "2d4cd45380fc6c68c7e05117165ae28853237cdffc58e712a5ebd7c1ce69b76e",
14
14
  "roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
15
15
  "workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
16
- "workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
17
- "workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
18
- "workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
19
- "workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
20
- "workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
16
+ "workflows/clarify.md": "6db1bc65a61e3227649ed65f15de9a88500ea4239b388918c82d474ef92f0030",
17
+ "workflows/design-review.md": "96e454283af28f02a4d7b03f4edfa5c00d02107fcfa3d0c8f19e640f56027845",
18
+ "workflows/design.md": "7f69758b22f88c12d16846ac1dd444f4e178ab116559ef9f2f26f6daa1a10d62",
19
+ "workflows/discover.md": "0696add486f739a46ed4c2b71b67bdda3ab9fea2d1395e662191282529ed21d2",
20
+ "workflows/execute.md": "33428704476877b2c8cf34c6eda3a56d1fd71e8bbea0f05c122bb3da2c6475a6",
21
21
  "workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
22
- "workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
23
- "workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
22
+ "workflows/plan-review.md": "8696c472cb4605a171fd4ac8a9c51b7cf337807c4881ed163515dc56e61fd818",
23
+ "workflows/plan.md": "fd52737159ab13688af8cbcb1c3fa224b1a9dda441b9ab337ab98cbfb5c68fa5",
24
24
  "workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
25
25
  "workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
26
26
  "workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
27
- "workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
28
- "workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
29
- "workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
30
- "hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
27
+ "workflows/spec-challenge.md": "dc99137c28c49a6f8312924709afb6077754d128e90466dc911150ce15737897",
28
+ "workflows/specify.md": "53b84e74871f6dbd93cae22a881cc5907e398b29501d0a1fa08c7ed69df705cb",
29
+ "workflows/verify.md": "45f9c189520dfe9d24c0bc340a15e6a80c988fca1b84dc187627032a6dbaee16",
30
+ "hooks/definitions/loop_cap_guard.yaml": "f0fd220e028ab6fad3d8fd650602884fe500ca4899eff6e428cf217af058618d",
31
31
  "hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
32
32
  "hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
33
33
  "hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "host": "gemini",
3
3
  "source_hashes": {
4
- "wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
5
- "roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
4
+ "wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
5
+ "roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
6
6
  "roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
7
- "roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
8
- "roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
7
+ "roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
8
+ "roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
9
9
  "roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
10
- "roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
11
- "roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
12
- "roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
13
- "roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
10
+ "roles/planner.md": "07ef01bf1d4a1addda2172381013087f69aa91b4b239320ee253640d6db618cb",
11
+ "roles/researcher.md": "b2b9e9d79d7b8194603ae3d22d9f8cc994d60384e8de1b4c6b6559410523e0b9",
12
+ "roles/reviewer.md": "dd97b74152b5bd0472987d6e4660d693ebe75d5c067e17df4725f897156d014e",
13
+ "roles/specifier.md": "2d4cd45380fc6c68c7e05117165ae28853237cdffc58e712a5ebd7c1ce69b76e",
14
14
  "roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
15
15
  "workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
16
- "workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
17
- "workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
18
- "workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
19
- "workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
20
- "workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
16
+ "workflows/clarify.md": "6db1bc65a61e3227649ed65f15de9a88500ea4239b388918c82d474ef92f0030",
17
+ "workflows/design-review.md": "96e454283af28f02a4d7b03f4edfa5c00d02107fcfa3d0c8f19e640f56027845",
18
+ "workflows/design.md": "7f69758b22f88c12d16846ac1dd444f4e178ab116559ef9f2f26f6daa1a10d62",
19
+ "workflows/discover.md": "0696add486f739a46ed4c2b71b67bdda3ab9fea2d1395e662191282529ed21d2",
20
+ "workflows/execute.md": "33428704476877b2c8cf34c6eda3a56d1fd71e8bbea0f05c122bb3da2c6475a6",
21
21
  "workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
22
- "workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
23
- "workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
22
+ "workflows/plan-review.md": "8696c472cb4605a171fd4ac8a9c51b7cf337807c4881ed163515dc56e61fd818",
23
+ "workflows/plan.md": "fd52737159ab13688af8cbcb1c3fa224b1a9dda441b9ab337ab98cbfb5c68fa5",
24
24
  "workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
25
25
  "workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
26
26
  "workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
27
- "workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
28
- "workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
29
- "workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
30
- "hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
27
+ "workflows/spec-challenge.md": "dc99137c28c49a6f8312924709afb6077754d128e90466dc911150ce15737897",
28
+ "workflows/specify.md": "53b84e74871f6dbd93cae22a881cc5907e398b29501d0a1fa08c7ed69df705cb",
29
+ "workflows/verify.md": "45f9c189520dfe9d24c0bc340a15e6a80c988fca1b84dc187627032a6dbaee16",
30
+ "hooks/definitions/loop_cap_guard.yaml": "f0fd220e028ab6fad3d8fd650602884fe500ca4899eff6e428cf217af058618d",
31
31
  "hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
32
32
  "hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
33
33
  "hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
@@ -1,6 +1,6 @@
1
1
  id: loop_cap_guard
2
2
  trigger: loop_cap_guard
3
- description: Stop additional loop iterations after the configured phase cap is reached.
3
+ description: Stop additional loop iterations after the configured phase cap is reached. Canonical invocation path is `wazir capture loop-check`.
4
4
  input_contract:
5
5
  required:
6
6
  - run_id
@@ -0,0 +1,18 @@
1
+ {
2
+ "hooks": {
3
+ "beforeFileEdit": [
4
+ {
5
+ "command": "./hooks/protected-path-write-guard",
6
+ "matcher": "*.md|*.yaml|*.json"
7
+ }
8
+ ],
9
+ "sessionStart": [
10
+ {
11
+ "command": "./hooks/loop-cap-guard"
12
+ },
13
+ {
14
+ "command": "./hooks/session-start"
15
+ }
16
+ ]
17
+ }
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wazir-dev/cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "Host-native engineering OS kit for AI coding agents — roles, phases, expertise modules, quality gates for Claude, Codex, Gemini & Cursor",
6
6
  "bin": {
@@ -29,7 +29,7 @@
29
29
  ],
30
30
  "scripts": {
31
31
  "test": "npm run test:active",
32
- "test:active": "node --test tooling/test/cli.test.js tooling/test/validate.test.js tooling/test/index.test.js tooling/test/doctor-status.test.js tooling/test/guard-hooks.test.js tooling/test/export.test.js tooling/test/capture.test.js tooling/test/schema-examples.test.js tooling/test/git-flow-docs.test.js tooling/test/role-contracts.test.js tooling/test/ci-workflow.test.js tooling/test/contributing.test.js tooling/test/author-artifact.test.js tooling/test/capture/usage.test.js tooling/test/docs-drift.test.js",
32
+ "test:active": "node --test tooling/test/cli.test.js tooling/test/validate.test.js tooling/test/index.test.js tooling/test/doctor-status.test.js tooling/test/guard-hooks.test.js tooling/test/export.test.js tooling/test/capture.test.js tooling/test/schema-examples.test.js tooling/test/git-flow-docs.test.js tooling/test/role-contracts.test.js tooling/test/ci-workflow.test.js tooling/test/contributing.test.js tooling/test/author-artifact.test.js tooling/test/capture/usage.test.js tooling/test/docs-drift.test.js tooling/test/init.test.js",
33
33
  "test:coverage": "c8 npm run test:active",
34
34
  "prepare": "husky"
35
35
  },
@@ -61,6 +61,7 @@
61
61
  "tdd"
62
62
  ],
63
63
  "dependencies": {
64
+ "@inquirer/prompts": "^8.3.2",
64
65
  "ajv": "^8.18.0",
65
66
  "gray-matter": "^4.0.3",
66
67
  "yaml": "^2.0.0"
@@ -30,6 +30,7 @@ Default approach: recall L1 (structural summaries)
30
30
  - clarification artifact
31
31
  - unresolved questions list
32
32
  - scope summary with cited sources
33
+ - emits clarification artifact for reviewer loops
33
34
 
34
35
  ## Escalation Rules
35
36
 
@@ -40,3 +41,5 @@ Default approach: recall L1 (structural summaries)
40
41
  - leaves material ambiguity unresolved without escalation
41
42
  - mutates `input/`
42
43
  - invents constraints or facts without evidence
44
+ - self-reviews own output instead of delegating to reviewer
45
+ - performs substantial discovery research inline without delegating to the discover workflow when delegation is required
package/roles/designer.md CHANGED
@@ -35,6 +35,9 @@ Default approach: recall L1 (structural summaries)
35
35
  - exported HTML + CSS scaffold
36
36
  - design tokens JSON (colors, spacing, typography)
37
37
  - screenshot PNGs of key frames
38
+ - emits design artifact for design-review loop
39
+
40
+ Design is not approved for planning until it survives the design-review loop owned by the reviewer role.
38
41
 
39
42
  ## Git-Flow Responsibilities
40
43
 
package/roles/executor.md CHANGED
@@ -31,6 +31,7 @@ Default approach: direct file read (full content)
31
31
  - code and docs changes
32
32
  - execution notes
33
33
  - verification evidence
34
+ - submits per-task output for review before commit
34
35
 
35
36
  ## Git-Flow Responsibilities
36
37
 
@@ -53,3 +54,4 @@ All text outputs (code comments, commit messages, PR descriptions, CHANGELOG ent
53
54
  - unwired paths
54
55
  - fake tests
55
56
  - writes to protected paths outside approved flows
57
+ - commits before review passes
package/roles/planner.md CHANGED
@@ -32,6 +32,9 @@ Default approach: recall L1 (structural summaries)
32
32
  - implementation plan artifact
33
33
  - ordered task list
34
34
  - verification plan per section
35
+ - emits plan artifact for plan-review loop
36
+
37
+ Plan is not approved until it survives the plan-review loop owned by the reviewer role.
35
38
 
36
39
  ## Git-Flow Responsibilities
37
40
 
@@ -31,6 +31,7 @@ Default approach: recall L1 (structural summaries)
31
31
  - research artifact with citations
32
32
  - finding summaries linked to sources
33
33
  - open risks and unknowns
34
+ - submits research artifact for reviewer evaluation before it flows downstream
34
35
 
35
36
  ## Escalation Rules
36
37
 
@@ -41,3 +42,4 @@ Default approach: recall L1 (structural summaries)
41
42
  - unsupported claims
42
43
  - stale or missing citations
43
44
  - substituting confidence for evidence
45
+ - research artifact used downstream without passing review
package/roles/reviewer.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- Perform adversarial review to find correctness, scope, wiring, verification, and drift failures.
5
+ Perform adversarial review to find correctness, scope, wiring, verification, and drift failures. Owns all review loops: research-review, clarification-review, spec-challenge, design-review, plan-review, task-review, and final review.
6
6
 
7
7
  ## Inputs
8
8
 
@@ -17,6 +17,7 @@ Perform adversarial review to find correctness, scope, wiring, verification, and
17
17
  - source-backed comparison to spec/plan
18
18
  - secondary model review when available
19
19
  - Wazir CLI recall and index commands (see Context retrieval)
20
+ - review loop pattern (see docs/reference/review-loop-pattern.md)
20
21
 
21
22
  ## Context retrieval
22
23
 
@@ -32,6 +33,9 @@ Default approach: recall L1, escalate to direct read for flagged issues
32
33
  - findings with severity
33
34
  - rationale tied to evidence
34
35
  - explicit no-findings verdict when applicable
36
+ - review loop pass logs with source attribution ([Wazir], [Codex], [Both])
37
+
38
+ Review mode is always passed explicitly by the caller (--mode). The reviewer does not auto-detect mode from artifact availability.
35
39
 
36
40
  ## Git-Flow Responsibilities
37
41
 
@@ -31,6 +31,9 @@ Default approach: recall L1 (structural summaries)
31
31
  - spec artifact
32
32
  - measurable acceptance criteria
33
33
  - explicit non-goals and assumptions
34
+ - emits spec artifact for spec-challenge review loop
35
+
36
+ Spec is not approved until it survives the spec-challenge loop owned by the reviewer role.
34
37
 
35
38
  ## Writing Quality
36
39