@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.
- package/CHANGELOG.md +31 -2
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +1 -1
- package/docs/reference/review-loop-pattern.md +429 -0
- package/docs/reference/tooling-cli.md +2 -0
- package/docs/truth-claims.yaml +6 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +3 -0
- package/exports/hosts/claude/.claude/agents/designer.md +3 -0
- package/exports/hosts/claude/.claude/agents/executor.md +2 -0
- package/exports/hosts/claude/.claude/agents/planner.md +3 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +2 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +5 -1
- package/exports/hosts/claude/.claude/agents/specifier.md +3 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +4 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +4 -0
- package/exports/hosts/claude/.claude/commands/design.md +4 -0
- package/exports/hosts/claude/.claude/commands/discover.md +4 -0
- package/exports/hosts/claude/.claude/commands/execute.md +4 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +4 -0
- package/exports/hosts/claude/.claude/commands/plan.md +4 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +4 -0
- package/exports/hosts/claude/.claude/commands/specify.md +4 -0
- package/exports/hosts/claude/.claude/commands/verify.md +4 -0
- package/exports/hosts/claude/export.manifest.json +19 -19
- package/exports/hosts/codex/export.manifest.json +19 -19
- package/exports/hosts/cursor/export.manifest.json +19 -19
- package/exports/hosts/gemini/export.manifest.json +19 -19
- package/hooks/definitions/loop_cap_guard.yaml +1 -1
- package/hooks/hooks.json +18 -0
- package/package.json +3 -2
- package/roles/clarifier.md +3 -0
- package/roles/designer.md +3 -0
- package/roles/executor.md +2 -0
- package/roles/planner.md +3 -0
- package/roles/researcher.md +2 -0
- package/roles/reviewer.md +5 -1
- package/roles/specifier.md +3 -0
- package/skills/brainstorming/SKILL.md +139 -38
- package/skills/clarifier/SKILL.md +219 -0
- package/skills/debugging/SKILL.md +11 -1
- package/skills/executing-plans/SKILL.md +15 -2
- package/skills/executor/SKILL.md +76 -0
- package/skills/init-pipeline/SKILL.md +106 -17
- package/skills/receiving-code-review/SKILL.md +8 -0
- package/skills/requesting-code-review/SKILL.md +25 -5
- package/skills/reviewer/SKILL.md +151 -0
- package/skills/subagent-driven-development/SKILL.md +25 -2
- package/skills/tdd/SKILL.md +8 -0
- package/skills/wazir/SKILL.md +250 -43
- package/skills/writing-plans/SKILL.md +31 -4
- package/templates/examples/wazir-manifest.example.yaml +1 -1
- package/tooling/src/capture/command.js +87 -1
- package/tooling/src/capture/run-config.js +21 -0
- package/tooling/src/checks/brand-truth.js +3 -6
- package/tooling/src/checks/command-registry.js +1 -0
- package/tooling/src/checks/docs-truth.js +1 -1
- package/tooling/src/checks/runtime-surface.js +3 -7
- package/tooling/src/cli.js +8 -3
- package/tooling/src/init/command.js +201 -0
- package/wazir.manifest.yaml +0 -3
- package/workflows/clarify.md +4 -0
- package/workflows/design-review.md +4 -0
- package/workflows/design.md +4 -0
- package/workflows/discover.md +4 -0
- package/workflows/execute.md +4 -0
- package/workflows/plan-review.md +4 -0
- package/workflows/plan.md +4 -0
- package/workflows/spec-challenge.md +4 -0
- package/workflows/specify.md +4 -0
- 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": "
|
|
5
|
-
"roles/clarifier.md": "
|
|
4
|
+
"wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
|
|
5
|
+
"roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
|
|
6
6
|
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
-
"roles/designer.md": "
|
|
8
|
-
"roles/executor.md": "
|
|
7
|
+
"roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
|
|
8
|
+
"roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
|
|
9
9
|
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
-
"roles/planner.md": "
|
|
11
|
-
"roles/researcher.md": "
|
|
12
|
-
"roles/reviewer.md": "
|
|
13
|
-
"roles/specifier.md": "
|
|
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": "
|
|
17
|
-
"workflows/design-review.md": "
|
|
18
|
-
"workflows/design.md": "
|
|
19
|
-
"workflows/discover.md": "
|
|
20
|
-
"workflows/execute.md": "
|
|
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": "
|
|
23
|
-
"workflows/plan.md": "
|
|
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": "
|
|
28
|
-
"workflows/specify.md": "
|
|
29
|
-
"workflows/verify.md": "
|
|
30
|
-
"hooks/definitions/loop_cap_guard.yaml": "
|
|
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": "
|
|
5
|
-
"roles/clarifier.md": "
|
|
4
|
+
"wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
|
|
5
|
+
"roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
|
|
6
6
|
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
-
"roles/designer.md": "
|
|
8
|
-
"roles/executor.md": "
|
|
7
|
+
"roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
|
|
8
|
+
"roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
|
|
9
9
|
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
-
"roles/planner.md": "
|
|
11
|
-
"roles/researcher.md": "
|
|
12
|
-
"roles/reviewer.md": "
|
|
13
|
-
"roles/specifier.md": "
|
|
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": "
|
|
17
|
-
"workflows/design-review.md": "
|
|
18
|
-
"workflows/design.md": "
|
|
19
|
-
"workflows/discover.md": "
|
|
20
|
-
"workflows/execute.md": "
|
|
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": "
|
|
23
|
-
"workflows/plan.md": "
|
|
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": "
|
|
28
|
-
"workflows/specify.md": "
|
|
29
|
-
"workflows/verify.md": "
|
|
30
|
-
"hooks/definitions/loop_cap_guard.yaml": "
|
|
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": "
|
|
5
|
-
"roles/clarifier.md": "
|
|
4
|
+
"wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
|
|
5
|
+
"roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
|
|
6
6
|
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
-
"roles/designer.md": "
|
|
8
|
-
"roles/executor.md": "
|
|
7
|
+
"roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
|
|
8
|
+
"roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
|
|
9
9
|
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
-
"roles/planner.md": "
|
|
11
|
-
"roles/researcher.md": "
|
|
12
|
-
"roles/reviewer.md": "
|
|
13
|
-
"roles/specifier.md": "
|
|
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": "
|
|
17
|
-
"workflows/design-review.md": "
|
|
18
|
-
"workflows/design.md": "
|
|
19
|
-
"workflows/discover.md": "
|
|
20
|
-
"workflows/execute.md": "
|
|
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": "
|
|
23
|
-
"workflows/plan.md": "
|
|
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": "
|
|
28
|
-
"workflows/specify.md": "
|
|
29
|
-
"workflows/verify.md": "
|
|
30
|
-
"hooks/definitions/loop_cap_guard.yaml": "
|
|
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": "
|
|
5
|
-
"roles/clarifier.md": "
|
|
4
|
+
"wazir.manifest.yaml": "ae49e943639828932d5289f34f2994f1efb67df4f552f5bfabbb1c823b662e43",
|
|
5
|
+
"roles/clarifier.md": "1e1b8a2c05f1070fdcef485963cfcbffff62c4b2703a8d73fe51ac52d056e573",
|
|
6
6
|
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
-
"roles/designer.md": "
|
|
8
|
-
"roles/executor.md": "
|
|
7
|
+
"roles/designer.md": "76cff5bda82975cfb4074de71681e7c8ba284e2e49d0cc98f90208642fef74fc",
|
|
8
|
+
"roles/executor.md": "874625f62fb4bcce70c3d1554152e0e2cd3345cfe34220eec9fa0027b19c750c",
|
|
9
9
|
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
-
"roles/planner.md": "
|
|
11
|
-
"roles/researcher.md": "
|
|
12
|
-
"roles/reviewer.md": "
|
|
13
|
-
"roles/specifier.md": "
|
|
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": "
|
|
17
|
-
"workflows/design-review.md": "
|
|
18
|
-
"workflows/design.md": "
|
|
19
|
-
"workflows/discover.md": "
|
|
20
|
-
"workflows/execute.md": "
|
|
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": "
|
|
23
|
-
"workflows/plan.md": "
|
|
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": "
|
|
28
|
-
"workflows/specify.md": "
|
|
29
|
-
"workflows/verify.md": "
|
|
30
|
-
"hooks/definitions/loop_cap_guard.yaml": "
|
|
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
|
package/hooks/hooks.json
ADDED
|
@@ -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.
|
|
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"
|
package/roles/clarifier.md
CHANGED
|
@@ -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
|
|
package/roles/researcher.md
CHANGED
|
@@ -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
|
|
package/roles/specifier.md
CHANGED
|
@@ -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
|
|