aiwcli 0.12.6 → 0.12.8

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 (163) hide show
  1. package/bin/dev.cmd +3 -3
  2. package/bin/dev.js +16 -16
  3. package/bin/run.cmd +3 -3
  4. package/bin/run.js +21 -21
  5. package/dist/commands/branch.js +7 -2
  6. package/dist/lib/bmad-installer.js +37 -37
  7. package/dist/lib/terminal.d.ts +2 -0
  8. package/dist/lib/terminal.js +57 -7
  9. package/dist/templates/CLAUDE.md +232 -205
  10. package/dist/templates/_shared/.claude/settings.json +65 -65
  11. package/dist/templates/_shared/.claude/{commands/handoff.md → skills/handoff/SKILL.md} +13 -12
  12. package/dist/templates/_shared/.claude/{commands/handoff-resume.md → skills/handoff-resume/SKILL.md} +13 -12
  13. package/dist/templates/_shared/.codex/workflows/handoff.md +226 -226
  14. package/dist/templates/_shared/.windsurf/workflows/handoff.md +226 -226
  15. package/dist/templates/_shared/handoff-system/CLAUDE.md +15 -3
  16. package/dist/templates/_shared/handoff-system/lib/document-generator.ts +215 -215
  17. package/dist/templates/_shared/handoff-system/lib/handoff-reader.ts +158 -158
  18. package/dist/templates/_shared/handoff-system/scripts/resume_handoff.ts +373 -373
  19. package/dist/templates/_shared/handoff-system/scripts/save_handoff.ts +469 -469
  20. package/dist/templates/_shared/handoff-system/workflows/handoff-resume.md +66 -66
  21. package/dist/templates/_shared/handoff-system/workflows/handoff.md +254 -254
  22. package/dist/templates/_shared/hooks-ts/_utils/git-state.ts +2 -2
  23. package/dist/templates/_shared/hooks-ts/archive_plan.ts +159 -159
  24. package/dist/templates/_shared/hooks-ts/context_monitor.ts +147 -147
  25. package/dist/templates/_shared/hooks-ts/file-suggestion.ts +128 -128
  26. package/dist/templates/_shared/hooks-ts/pre_compact.ts +49 -49
  27. package/dist/templates/_shared/hooks-ts/session_end.ts +196 -196
  28. package/dist/templates/_shared/hooks-ts/session_start.ts +163 -163
  29. package/dist/templates/_shared/hooks-ts/task_create_capture.ts +48 -48
  30. package/dist/templates/_shared/hooks-ts/task_update_capture.ts +74 -74
  31. package/dist/templates/_shared/hooks-ts/user_prompt_submit.ts +93 -93
  32. package/dist/templates/_shared/lib-ts/CLAUDE.md +367 -367
  33. package/dist/templates/_shared/lib-ts/base/atomic-write.ts +138 -138
  34. package/dist/templates/_shared/lib-ts/base/constants.ts +24 -6
  35. package/dist/templates/_shared/lib-ts/base/git-state.ts +58 -58
  36. package/dist/templates/_shared/lib-ts/base/hook-utils.ts +582 -582
  37. package/dist/templates/_shared/lib-ts/base/inference.ts +301 -301
  38. package/dist/templates/_shared/lib-ts/base/logger.ts +247 -247
  39. package/dist/templates/_shared/lib-ts/base/state-io.ts +202 -202
  40. package/dist/templates/_shared/lib-ts/base/stop-words.ts +184 -184
  41. package/dist/templates/_shared/lib-ts/base/utils.ts +184 -184
  42. package/dist/templates/_shared/lib-ts/context/CLAUDE.md +134 -0
  43. package/dist/templates/_shared/lib-ts/context/context-formatter.ts +566 -566
  44. package/dist/templates/_shared/lib-ts/context/context-selector.ts +524 -524
  45. package/dist/templates/_shared/lib-ts/context/context-store.ts +712 -712
  46. package/dist/templates/_shared/lib-ts/context/plan-manager.ts +312 -312
  47. package/dist/templates/_shared/lib-ts/context/task-tracker.ts +185 -185
  48. package/dist/templates/_shared/lib-ts/package.json +20 -20
  49. package/dist/templates/_shared/lib-ts/templates/formatters.ts +102 -102
  50. package/dist/templates/_shared/lib-ts/templates/plan-context.ts +58 -58
  51. package/dist/templates/_shared/lib-ts/tsconfig.json +13 -13
  52. package/dist/templates/_shared/lib-ts/types.ts +186 -186
  53. package/dist/templates/_shared/scripts/resolve_context.ts +33 -33
  54. package/dist/templates/_shared/scripts/status_line.ts +687 -690
  55. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/ask.md +136 -136
  56. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/index.md +21 -21
  57. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/overview.md +56 -56
  58. package/dist/templates/cc-native/.claude/commands/cc-native/specdev.md +10 -10
  59. package/dist/templates/cc-native/.claude/settings.json +3 -2
  60. package/dist/templates/cc-native/.windsurf/workflows/cc-native/fix.md +8 -8
  61. package/dist/templates/cc-native/.windsurf/workflows/cc-native/implement.md +8 -8
  62. package/dist/templates/cc-native/.windsurf/workflows/cc-native/research.md +8 -8
  63. package/dist/templates/cc-native/CC-NATIVE-README.md +189 -189
  64. package/dist/templates/cc-native/TEMPLATE-SCHEMA.md +304 -304
  65. package/dist/templates/cc-native/_cc-native/agents/CLAUDE.md +143 -143
  66. package/dist/templates/cc-native/_cc-native/agents/PLAN-ORCHESTRATOR.md +213 -213
  67. package/dist/templates/cc-native/_cc-native/agents/plan-questions/PLAN-QUESTIONER.md +70 -70
  68. package/dist/templates/cc-native/_cc-native/artifacts/CLAUDE.md +64 -0
  69. package/dist/templates/cc-native/_cc-native/{lib-ts/artifacts → artifacts/lib}/format.ts +1 -1
  70. package/dist/templates/cc-native/_cc-native/{lib-ts/artifacts → artifacts/lib}/write.ts +2 -2
  71. package/dist/templates/cc-native/_cc-native/cc-native.config.json +96 -96
  72. package/dist/templates/cc-native/_cc-native/hooks/CLAUDE.md +14 -24
  73. package/dist/templates/cc-native/_cc-native/hooks/cc-native-plan-review.ts +1 -1
  74. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_subagent.ts +54 -54
  75. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_write.ts +51 -51
  76. package/dist/templates/cc-native/_cc-native/hooks/mark_questions_asked.ts +53 -53
  77. package/dist/templates/cc-native/_cc-native/hooks/plan_questions_early.ts +61 -61
  78. package/dist/templates/cc-native/_cc-native/hooks/validate_task_prompt.ts +76 -0
  79. package/dist/templates/cc-native/_cc-native/lib-ts/aggregate-agents.ts +9 -2
  80. package/dist/templates/cc-native/_cc-native/lib-ts/cc-native-state.ts +319 -319
  81. package/dist/templates/cc-native/_cc-native/lib-ts/cli-output-parser.ts +144 -144
  82. package/dist/templates/cc-native/_cc-native/lib-ts/config.ts +57 -57
  83. package/dist/templates/cc-native/_cc-native/lib-ts/constants.ts +83 -83
  84. package/dist/templates/cc-native/_cc-native/lib-ts/debug.ts +79 -79
  85. package/dist/templates/cc-native/_cc-native/lib-ts/index.ts +4 -4
  86. package/dist/templates/cc-native/_cc-native/lib-ts/json-parser.ts +168 -168
  87. package/dist/templates/cc-native/_cc-native/lib-ts/plan-discovery.ts +80 -80
  88. package/dist/templates/cc-native/_cc-native/lib-ts/plan-enhancement.ts +41 -41
  89. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/CLAUDE.md +480 -480
  90. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/embedding-indexer.ts +287 -287
  91. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/hyde.ts +148 -148
  92. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/index.ts +54 -54
  93. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/logger.ts +58 -58
  94. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/ollama-client.ts +208 -208
  95. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/retrieval-pipeline.ts +460 -460
  96. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-indexer.ts +446 -446
  97. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-loader.ts +280 -280
  98. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-searcher.ts +274 -274
  99. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/types.ts +201 -201
  100. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/vector-store.ts +278 -278
  101. package/dist/templates/cc-native/_cc-native/lib-ts/settings.ts +184 -184
  102. package/dist/templates/cc-native/_cc-native/lib-ts/state.ts +275 -275
  103. package/dist/templates/cc-native/_cc-native/lib-ts/tsconfig.json +18 -18
  104. package/dist/templates/cc-native/_cc-native/lib-ts/types.ts +1 -1
  105. package/dist/templates/cc-native/_cc-native/plan-review/CLAUDE.md +149 -0
  106. package/dist/templates/cc-native/_cc-native/plan-review/agents/CLAUDE.md +143 -0
  107. package/dist/templates/cc-native/_cc-native/plan-review/agents/PLAN-ORCHESTRATOR.md +213 -0
  108. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-questions/PLAN-QUESTIONER.md +70 -0
  109. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-EVOLUTION.md +62 -0
  110. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-PATTERNS.md +61 -0
  111. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-STRUCTURE.md +62 -0
  112. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ASSUMPTION-TRACER.md +56 -0
  113. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CLARITY-AUDITOR.md +53 -0
  114. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-FEASIBILITY.md +66 -0
  115. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-GAPS.md +70 -0
  116. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-ORDERING.md +62 -0
  117. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CONSTRAINT-VALIDATOR.md +72 -0
  118. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-ADR-VALIDATOR.md +61 -0
  119. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-SCALE-MATCHER.md +64 -0
  120. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DEVILS-ADVOCATE.md +56 -0
  121. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DOCUMENTATION-PHILOSOPHY.md +86 -0
  122. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HANDOFF-READINESS.md +59 -0
  123. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HIDDEN-COMPLEXITY.md +58 -0
  124. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/INCREMENTAL-DELIVERY.md +66 -0
  125. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-DEPENDENCY.md +62 -0
  126. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-FMEA.md +66 -0
  127. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-PREMORTEM.md +71 -0
  128. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-REVERSIBILITY.md +74 -0
  129. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SCOPE-BOUNDARY.md +77 -0
  130. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SIMPLICITY-GUARDIAN.md +62 -0
  131. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SKEPTIC.md +68 -0
  132. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-BEHAVIOR-AUDITOR.md +61 -0
  133. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-CHARACTERIZATION.md +71 -0
  134. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-FIRST-VALIDATOR.md +61 -0
  135. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-PYRAMID-ANALYZER.md +61 -0
  136. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-COSTS.md +67 -0
  137. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-STAKEHOLDERS.md +65 -0
  138. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-COVERAGE.md +74 -0
  139. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-STRENGTH.md +69 -0
  140. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/agent-selection.ts +3 -3
  141. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/corroboration.ts +1 -1
  142. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/graduation.ts +1 -1
  143. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/orchestrator.ts +2 -2
  144. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/output-builder.ts +3 -3
  145. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/plan-questions.ts +6 -6
  146. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/review-pipeline.ts +15 -15
  147. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/agent.ts +5 -5
  148. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/base/base-agent.ts +4 -4
  149. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/providers/claude-agent.ts +4 -4
  150. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/providers/codex-agent.ts +6 -6
  151. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/providers/gemini-agent.ts +1 -1
  152. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/providers/orchestrator-claude-agent.ts +4 -4
  153. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/types.ts +3 -3
  154. package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/verdict.ts +1 -1
  155. package/oclif.manifest.json +1 -1
  156. package/package.json +108 -108
  157. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts.ts +0 -21
  158. package/dist/templates/cc-native/_cc-native/lib-ts/nul +0 -3
  159. /package/dist/templates/cc-native/_cc-native/{lib-ts/artifacts → artifacts/lib}/index.ts +0 -0
  160. /package/dist/templates/cc-native/_cc-native/{lib-ts/artifacts → artifacts/lib}/tracker.ts +0 -0
  161. /package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/index.ts +0 -0
  162. /package/dist/templates/cc-native/_cc-native/{lib-ts → plan-review/lib}/reviewers/schemas.ts +0 -0
  163. /package/dist/templates/cc-native/_cc-native/{workflows → plan-review/workflows}/specdev.md +0 -0
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: verify-coverage
3
+ description: Test coverage mapper who ensures every implementation step has a corresponding verification step. Catches changes with no testing, verification gaps, and the common pattern of testing happy paths while ignoring error paths.
4
+ model: sonnet
5
+ focus: verification coverage mapping
6
+ categories:
7
+ - code
8
+ - infrastructure
9
+ - documentation
10
+ - design
11
+ - research
12
+ - life
13
+ - business
14
+ ---
15
+
16
+ # Verify Coverage - Plan Review Agent
17
+
18
+ You map implementation steps to verification steps. Your question: "Is every change covered by a verification step?"
19
+
20
+ ## Your Core Principle
21
+
22
+ A plan without adequate verification is a plan that assumes success. The most dangerous gap is not a missing feature — it is a missing test. Every implementation step that lacks a corresponding verification step is a step where failure will go undetected. Coverage mapping ensures 1:1 correspondence between "what we change" and "how we confirm it worked."
23
+
24
+ ## Your Expertise
25
+
26
+ - **Coverage gap detection**: Implementation steps with no corresponding verification
27
+ - **Happy path bias**: Verification that only tests the success case, ignoring error and edge cases
28
+ - **Verification specificity**: Are verification steps concrete enough to execute without interpretation?
29
+ - **Regression awareness**: Do verification steps confirm existing functionality still works after the change?
30
+ - **Coverage completeness**: Does the verification plan cover all dimensions of the change (functionality, performance, security)?
31
+
32
+ ## Review Approach
33
+
34
+ Build a coverage map between implementation and verification:
35
+
36
+ 1. **List all implementation steps**: Every change the plan makes
37
+ 2. **List all verification steps**: Every check the plan includes
38
+ 3. **Map 1:1**: For each implementation step, identify its verification step(s)
39
+ 4. **Find gaps**: Implementation steps with no verification
40
+ 5. **Assess coverage quality**: Do verification steps test the right things?
41
+
42
+ ## Verification Coverage Levels
43
+
44
+ | Level | Description | Example |
45
+ |-------|-------------|---------|
46
+ | **Full** | Every change verified with specific criteria | "Run `pytest test_auth.py -k test_token_expiry` — 3 tests pass" |
47
+ | **Partial** | Some changes verified, others assumed | "Run the auth tests" (misses schema change verification) |
48
+ | **Minimal** | Only overall functionality checked | "Verify it works" |
49
+ | **None** | Implementation step has no verification | Change with no corresponding check |
50
+
51
+ ## Key Distinction
52
+
53
+ | Agent | Asks |
54
+ |-------|------|
55
+ | verify-strength | "Would these tests catch a subtle bug?" |
56
+ | **verify-coverage** | **"Is every change covered by a verification step?"** |
57
+
58
+ ## CRITICAL: Single-Turn Review
59
+
60
+ When reviewing a plan:
61
+ 1. Analyze the plan content provided directly (do not use Read, Glob, Grep, or any file tools)
62
+ 2. Call StructuredOutput immediately with your assessment
63
+ 3. Complete your entire review in one response
64
+
65
+ Avoid querying external systems, reading codebase files, requesting additional information, or asking follow-up questions.
66
+
67
+ ## Required Output
68
+
69
+ Call StructuredOutput with exactly these fields:
70
+ - **verdict**: "pass" (verification covers all changes), "warn" (some gaps in verification coverage), or "fail" (critical changes without verification)
71
+ - **summary**: 2-3 sentences explaining verification coverage assessment (minimum 20 characters)
72
+ - **issues**: Array of coverage concerns, each with: severity (high/medium/low), category (e.g., "missing-verification", "happy-path-only", "weak-verification", "no-regression-check"), issue description, suggested_fix (specific verification step to add)
73
+ - **missing_sections**: Verification gaps the plan should address (untested changes, missing edge cases, absent regression checks)
74
+ - **questions**: Verification aspects that need clarification
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: verify-strength
3
+ description: Test quality analyst who evaluates whether verification steps would catch subtle bugs, not just total failures. Uses mutation testing logic to assess whether tests distinguish correct from almost-correct implementations.
4
+ model: sonnet
5
+ focus: test quality and mutation analysis
6
+ categories:
7
+ - code
8
+ - infrastructure
9
+ ---
10
+
11
+ # Verify Strength - Plan Review Agent
12
+
13
+ You evaluate the quality of verification steps. Your question: "Would these tests catch a subtle bug, or only a total failure?"
14
+
15
+ ## Your Core Principle
16
+
17
+ Mutation testing (DeMillo et al. 1978) reveals test strength by asking: "If I introduced a small bug, would the tests catch it?" Weak tests pass on both correct and incorrect implementations. Strong tests fail when the implementation is wrong in any way. A plan with 100% coverage but weak assertions is less safe than a plan with 50% coverage but strong assertions.
18
+
19
+ ## Your Expertise
20
+
21
+ - **Assertion strength evaluation**: Do verification steps check specific expected values, or just "no error"?
22
+ - **Mutation sensitivity**: Would a small change to the implementation (off-by-one, wrong variable, swapped condition) be caught?
23
+ - **Boundary testing**: Do tests exercise boundary conditions where bugs cluster?
24
+ - **Negative testing**: Do tests verify that invalid inputs are rejected, not just that valid inputs succeed?
25
+ - **State verification**: Do tests check the full resulting state, or just the return value?
26
+
27
+ ## Review Approach
28
+
29
+ For each verification step in the plan, apply mutation logic:
30
+
31
+ 1. **Identify what is being verified**: What specific behavior does this test confirm?
32
+ 2. **Apply mental mutations**: If the implementation had an off-by-one error, wrong variable, or swapped condition, would this test catch it?
33
+ 3. **Evaluate assertion specificity**: Does the test check a specific expected value, or just "it runs without error"?
34
+ 4. **Check boundary coverage**: Are edge cases and boundary values tested?
35
+ 5. **Assess negative testing**: Are failure cases and invalid inputs covered?
36
+
37
+ ## Test Strength Levels
38
+
39
+ | Level | Test Behavior | Example |
40
+ |-------|---------------|---------|
41
+ | **Strong** | Fails on any mutation to the implementation | Checks specific values, boundaries, and error cases |
42
+ | **Moderate** | Catches major bugs but misses subtle ones | Checks return type and approximate value |
43
+ | **Weak** | Only catches total failure | "Assert no error" or "assert result is not null" |
44
+ | **Absent** | No verification at all | Implementation change with no test |
45
+
46
+ ## Key Distinction
47
+
48
+ | Agent | Asks |
49
+ |-------|------|
50
+ | verify-coverage | "Is every change covered by a verification step?" |
51
+ | **verify-strength** | **"Would these tests catch a subtle bug?"** |
52
+
53
+ ## CRITICAL: Single-Turn Review
54
+
55
+ When reviewing a plan:
56
+ 1. Analyze the plan content provided directly (do not use Read, Glob, Grep, or any file tools)
57
+ 2. Call StructuredOutput immediately with your assessment
58
+ 3. Complete your entire review in one response
59
+
60
+ Avoid querying external systems, reading codebase files, requesting additional information, or asking follow-up questions.
61
+
62
+ ## Required Output
63
+
64
+ Call StructuredOutput with exactly these fields:
65
+ - **verdict**: "pass" (tests would catch subtle bugs), "warn" (some weak assertions), or "fail" (tests would miss common bug patterns)
66
+ - **summary**: 2-3 sentences explaining test strength assessment (minimum 20 characters)
67
+ - **issues**: Array of strength concerns, each with: severity (high/medium/low), category (e.g., "weak-assertion", "no-boundary-test", "missing-negative-test", "mutation-survivor", "state-unchecked"), issue description, suggested_fix (strengthen specific assertion or add test case)
68
+ - **missing_sections**: Test strength improvements the plan should address (boundary tests, negative tests, specific assertions)
69
+ - **questions**: Test quality aspects that need clarification
@@ -3,15 +3,15 @@
3
3
  * Extracted from cc-native-plan-review.ts.
4
4
  */
5
5
 
6
- import { logDebug, logInfo, logWarn } from "../../_shared/lib-ts/base/logger.js";
7
- import { findExecutable } from "../../_shared/lib-ts/base/subprocess-utils.js";
6
+ import { logDebug, logInfo, logWarn } from "../../../_shared/lib-ts/base/logger.js";
7
+ import { findExecutable } from "../../../_shared/lib-ts/base/subprocess-utils.js";
8
8
 
9
9
  import type {
10
10
  AgentConfig,
11
11
  ModelsConfig,
12
12
  OrchestratorResult,
13
13
  AgentSelectionResult,
14
- } from "./types.js";
14
+ } from "../../lib-ts/types.js";
15
15
 
16
16
  const HOOK = "agent-selection";
17
17
 
@@ -28,7 +28,7 @@ import type {
28
28
  CorroborationResult,
29
29
  CorroboratedGroup,
30
30
  SoloFinding,
31
- } from "./types.js";
31
+ } from "../../lib-ts/types.js";
32
32
 
33
33
  /**
34
34
  * Compute a corroboration-based review decision from all reviewer results.
@@ -8,7 +8,7 @@ import type {
8
8
  ReviewerResult,
9
9
  CombinedReviewResult,
10
10
  IterationAdvancement,
11
- } from "./types.js";
11
+ } from "../../lib-ts/types.js";
12
12
 
13
13
  // ---------------------------------------------------------------------------
14
14
  // Pass Eligibility
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  import { OrchestratorClaudeAgent } from "./reviewers/providers/orchestrator-claude-agent.js";
8
- import type { AgentConfig, OrchestratorConfig, OrchestratorResult } from "./types.js";
9
- import { logInfo, logWarn } from "../../_shared/lib-ts/base/logger.js";
8
+ import type { AgentConfig, OrchestratorConfig, OrchestratorResult } from "../../lib-ts/types.js";
9
+ import { logInfo, logWarn } from "../../../_shared/lib-ts/base/logger.js";
10
10
 
11
11
  // Re-export for backward compatibility (moved to reviewers/schemas.ts)
12
12
  export { buildOrchestratorSchema } from "./reviewers/schemas.js";
@@ -3,18 +3,18 @@
3
3
  * Extracted from cc-native-plan-review.ts.
4
4
  */
5
5
 
6
- import { logInfo } from "../../_shared/lib-ts/base/logger.js";
6
+ import { logInfo } from "../../../_shared/lib-ts/base/logger.js";
7
7
 
8
8
  import type {
9
9
  ReviewerResult,
10
10
  CombinedReviewResult,
11
11
  CorroborationResult,
12
12
  IterationState,
13
- } from "./types.js";
13
+ } from "../../lib-ts/types.js";
14
14
  import {
15
15
  buildInlineReviewSummary,
16
16
  extractTopIssuesText,
17
- } from "./artifacts/format.js";
17
+ } from "../../artifacts/lib/format.js";
18
18
  import { extractTopIssuesForTracker } from "./graduation.js";
19
19
 
20
20
  const HOOK = "output-builder";
@@ -4,13 +4,13 @@
4
4
  * See cc-native-plan-review.ts for integration point (questions gate).
5
5
  */
6
6
 
7
- import * as path from "node:path";
7
+ import * as path from "node:path";
8
8
 
9
- import { aggregateAgents } from "./aggregate-agents.js";
9
+ import { aggregateAgents } from "../../lib-ts/aggregate-agents.js";
10
10
  import { runAgentReview } from "./reviewers/index.js";
11
11
  import { QUESTIONS_SCHEMA } from "./reviewers/schemas.js";
12
- import type { AgentConfig, ModelsConfig } from "./types.js";
13
- import { logInfo, logWarn, logError } from "../../_shared/lib-ts/base/logger.js";
12
+ import type { AgentConfig, ModelsConfig } from "../../lib-ts/types.js";
13
+ import { logInfo, logWarn, logError } from "../../../_shared/lib-ts/base/logger.js";
14
14
 
15
15
  // ---------------------------------------------------------------------------
16
16
  // Types
@@ -26,7 +26,7 @@ export interface PlanQuestionsResult {
26
26
  // Provider assignment (local copy — avoids circular import from hook)
27
27
  // ---------------------------------------------------------------------------
28
28
 
29
- import { findExecutable } from "../../_shared/lib-ts/base/subprocess-utils.js";
29
+ import { findExecutable } from "../../../_shared/lib-ts/base/subprocess-utils.js";
30
30
 
31
31
  function assignProvider(agent: AgentConfig): AgentConfig {
32
32
  // Default to claude provider with the agent's configured model
@@ -60,7 +60,7 @@ export async function runPlanQuestions(
60
60
  sessionName?: string,
61
61
  ): Promise<PlanQuestionsResult | null> {
62
62
  // Load the plan-questions agent from agents/plan-questions/
63
- const questionsAgentDir = path.join(aiwcliDir, "_cc-native", "agents", "plan-questions");
63
+ const questionsAgentDir = path.join(aiwcliDir, "_cc-native", "plan-review", "agents", "plan-questions");
64
64
  const agents = aggregateAgents(questionsAgentDir);
65
65
 
66
66
  if (agents.length === 0) {
@@ -12,11 +12,11 @@ import {
12
12
  logInfo,
13
13
  logWarn,
14
14
  logError,
15
- } from "../../_shared/lib-ts/base/logger.js";
16
- import { logDiagnostic } from "../../_shared/lib-ts/base/hook-utils.js";
17
- import { eprint } from "../../_shared/lib-ts/base/utils.js";
18
- import { getContextReviewsDir, getContextDir, getReviewFolderPath } from "../../_shared/lib-ts/base/constants.js";
19
- import { getContextBySessionId, getAllContexts } from "../../_shared/lib-ts/context/context-store.js";
15
+ } from "../../../_shared/lib-ts/base/logger.js";
16
+ import { logDiagnostic } from "../../../_shared/lib-ts/base/hook-utils.js";
17
+ import { eprint } from "../../../_shared/lib-ts/base/utils.js";
18
+ import { getContextReviewsDir, getContextDir, getReviewFolderPath } from "../../../_shared/lib-ts/base/constants.js";
19
+ import { getContextBySessionId, getAllContexts } from "../../../_shared/lib-ts/context/context-store.js";
20
20
 
21
21
  import type {
22
22
  AgentConfig,
@@ -27,16 +27,16 @@ import type {
27
27
  IterationState,
28
28
  PipelineInput,
29
29
  PipelineResult,
30
- } from "./types.js";
31
- import { REVIEW_SCHEMA } from "./types.js";
32
- import type { ContextState } from "../../_shared/lib-ts/types.js";
30
+ } from "../../lib-ts/types.js";
31
+ import { REVIEW_SCHEMA } from "../../lib-ts/types.js";
32
+ import type { ContextState } from "../../../_shared/lib-ts/types.js";
33
33
 
34
- import { discoverPlan } from "./plan-discovery.js";
35
- import { loadSettings, loadModelsConfig, loadAgentLibrary, DEFAULT_ORCHESTRATOR } from "./settings.js";
34
+ import { discoverPlan } from "../../lib-ts/plan-discovery.js";
35
+ import { loadSettings, loadModelsConfig, loadAgentLibrary, DEFAULT_ORCHESTRATOR } from "../../lib-ts/settings.js";
36
36
  import { resolveMandatoryAgents, assignModelsToAgents, selectAgents } from "./agent-selection.js";
37
37
  import { computePassEligible, extractTopIssuesForTracker, advanceIterationState } from "./graduation.js";
38
38
  import { truncateAgentIssues, overrideVerdictsByThreshold, buildReviewOutput } from "./output-builder.js";
39
- import { DEFAULT_REVIEW_ITERATIONS, loadIterationState, saveIterationState } from "./state.js";
39
+ import { DEFAULT_REVIEW_ITERATIONS, loadIterationState, saveIterationState } from "../../lib-ts/state.js";
40
40
 
41
41
  import {
42
42
  isPlanAlreadyReviewed,
@@ -46,13 +46,13 @@ import {
46
46
  wasPlanQuestionsAgentAsked,
47
47
  markQuestionsAsked,
48
48
  resetPlanQuestionsAsked,
49
- } from "./cc-native-state.js";
49
+ } from "../../lib-ts/cc-native-state.js";
50
50
 
51
51
  import { computeCorroboratedDecision } from "./corroboration.js";
52
52
  import { runOrchestrator } from "./orchestrator.js";
53
- import { debugLog } from "./debug.js";
54
- import { writeCombinedArtifacts, buildCorroborationReport, buildHighIssuesDocument, writeReviewTracker } from "./artifacts.js";
55
- import type { ReviewTrackerEntry } from "./artifacts.js";
53
+ import { debugLog } from "../../lib-ts/debug.js";
54
+ import { writeCombinedArtifacts, buildCorroborationReport, buildHighIssuesDocument, writeReviewTracker } from "../../artifacts/lib/index.js";
55
+ import type { ReviewTrackerEntry } from "../../artifacts/lib/index.js";
56
56
  import { runAgentReview } from "./reviewers/index.js";
57
57
  import { runPlanQuestions } from "./plan-questions.js";
58
58
 
@@ -4,8 +4,8 @@
4
4
  * See cc-native-plan-review-spec.md §4.10
5
5
  */
6
6
 
7
- import { logWarn } from "../../../_shared/lib-ts/base/logger.js";
8
- import type { AgentConfig, ReviewerResult, ReviewOptions } from "../types.js";
7
+ import { logWarn } from "../../../../_shared/lib-ts/base/logger.js";
8
+ import type { AgentConfig, ReviewerResult, ReviewOptions } from "../../../lib-ts/types.js";
9
9
  import { ClaudeAgent } from "./providers/claude-agent.js";
10
10
  import { CodexAgent } from "./providers/codex-agent.js";
11
11
  import { GeminiAgent } from "./providers/gemini-agent.js";
@@ -53,16 +53,16 @@ export async function runAgentReview(
53
53
  switch (agent.provider) {
54
54
  case "codex": {
55
55
  reviewer = new CodexAgent(agent, schema, timeout, contextPath, sessionName);
56
- break;
56
+ break;
57
57
  }
58
58
  case "gemini": {
59
59
  reviewer = new GeminiAgent(agent, schema, timeout, contextPath, sessionName);
60
- break;
60
+ break;
61
61
  }
62
62
  case "claude":
63
63
  default: {
64
64
  reviewer = new ClaudeAgent(agent, schema, timeout, contextPath, sessionName);
65
- break;
65
+ break;
66
66
  }
67
67
  }
68
68
 
@@ -4,10 +4,10 @@
4
4
  * Provider-specific implementations (Claude, Codex, Gemini) extend this class.
5
5
  */
6
6
 
7
- import { logDebug, logInfo, logWarn, logError } from "../../../../_shared/lib-ts/base/logger.js";
8
- import { getInternalSubprocessEnv, findExecutable, execFileAsync } from "../../../../_shared/lib-ts/base/subprocess-utils.js";
9
- import { debugLog, debugRaw } from "../../debug.js";
10
- import type { AgentConfig } from "../../types.js";
7
+ import { logDebug, logInfo, logWarn, logError } from "../../../../../_shared/lib-ts/base/logger.js";
8
+ import { getInternalSubprocessEnv, findExecutable, execFileAsync } from "../../../../../_shared/lib-ts/base/subprocess-utils.js";
9
+ import { debugLog, debugRaw } from "../../../../lib-ts/debug.js";
10
+ import type { AgentConfig } from "../../../../lib-ts/types.js";
11
11
 
12
12
  /** Result from execFileAsync */
13
13
  export interface ExecResult {
@@ -3,10 +3,10 @@
3
3
  * Uses claude CLI with --json-schema and --system-prompt flags.
4
4
  */
5
5
 
6
- import { shellQuoteWin } from "../../../../_shared/lib-ts/base/subprocess-utils.js";
7
- import { parseCliOutput } from "../../cli-output-parser.js";
8
- import { coerceToReview } from "../../json-parser.js";
9
- import type { ReviewerResult } from "../../types.js";
6
+ import { shellQuoteWin } from "../../../../../_shared/lib-ts/base/subprocess-utils.js";
7
+ import { parseCliOutput } from "../../../../lib-ts/cli-output-parser.js";
8
+ import { coerceToReview } from "../../../../lib-ts/json-parser.js";
9
+ import type { ReviewerResult } from "../../../../lib-ts/types.js";
10
10
  import { BaseCliAgent } from "../base/base-agent.js";
11
11
  import { AGENT_REVIEW_PROMPT_PREFIX } from "../schemas.js";
12
12
  import { makeResult } from "../types.js";
@@ -5,13 +5,13 @@
5
5
 
6
6
  import * as fs from "node:fs";
7
7
  import * as os from "node:os";
8
- import * as path from "node:path";
8
+ import * as path from "node:path";
9
9
 
10
- import { logDebug, logWarn } from "../../../../_shared/lib-ts/base/logger.js";
11
- import { getInternalSubprocessEnv, execFileAsync } from "../../../../_shared/lib-ts/base/subprocess-utils.js";
12
- import { debugLog, debugRaw } from "../../debug.js";
13
- import { parseJsonMaybe, coerceToReview } from "../../json-parser.js";
14
- import type { ReviewerResult } from "../../types.js";
10
+ import { logDebug, logWarn } from "../../../../../_shared/lib-ts/base/logger.js";
11
+ import { getInternalSubprocessEnv, execFileAsync } from "../../../../../_shared/lib-ts/base/subprocess-utils.js";
12
+ import { debugLog, debugRaw } from "../../../../lib-ts/debug.js";
13
+ import { parseJsonMaybe, coerceToReview } from "../../../../lib-ts/json-parser.js";
14
+ import type { ReviewerResult } from "../../../../lib-ts/types.js";
15
15
  import { BaseCliAgent, type ExecResult } from "../base/base-agent.js";
16
16
  import { AGENT_REVIEW_PROMPT_PREFIX } from "../schemas.js";
17
17
  import { makeResult } from "../types.js";
@@ -3,7 +3,7 @@
3
3
  * Placeholder for future implementation.
4
4
  */
5
5
 
6
- import type { ReviewerResult } from "../../types.js";
6
+ import type { ReviewerResult } from "../../../../lib-ts/types.js";
7
7
  import { BaseCliAgent } from "../base/base-agent.js";
8
8
  import { makeResult } from "../types.js";
9
9
 
@@ -3,10 +3,10 @@
3
3
  * Analyzes plan complexity and selects reviewer agents via Claude CLI.
4
4
  */
5
5
 
6
- import { logDebug } from "../../../../_shared/lib-ts/base/logger.js";
7
- import { shellQuoteWin } from "../../../../_shared/lib-ts/base/subprocess-utils.js";
8
- import { parseCliOutput } from "../../cli-output-parser.js";
9
- import type { AgentConfig, OrchestratorResult, ComplexityCategory } from "../../types.js";
6
+ import { logDebug } from "../../../../../_shared/lib-ts/base/logger.js";
7
+ import { shellQuoteWin } from "../../../../../_shared/lib-ts/base/subprocess-utils.js";
8
+ import { parseCliOutput } from "../../../../lib-ts/cli-output-parser.js";
9
+ import type { AgentConfig, OrchestratorResult, ComplexityCategory } from "../../../../lib-ts/types.js";
10
10
  import { BaseCliAgent } from "../base/base-agent.js";
11
11
  import { buildOrchestratorSchema, ORCHESTRATOR_SCHEMA } from "../schemas.js";
12
12
 
@@ -3,7 +3,7 @@
3
3
  * See cc-native-plan-review-spec.md §4.9
4
4
  */
5
5
 
6
- import type { ReviewerResult, Verdict, ReviewData } from "../types.js";
6
+ import type { ReviewerResult, Verdict, ReviewData } from "../../../lib-ts/types.js";
7
7
 
8
8
  // Re-export for convenience
9
9
 
@@ -19,5 +19,5 @@ export function makeResult(
19
19
  ): ReviewerResult {
20
20
  return { name, ok, verdict, data: data as Record<string, unknown>, raw, err };
21
21
  }
22
-
23
- export {type Reviewer, type ReviewerResult, type ReviewOptions} from "../types.js";
22
+
23
+ export {type Reviewer, type ReviewerResult, type ReviewOptions} from "../../../lib-ts/types.js";
@@ -3,7 +3,7 @@
3
3
  * See cc-native-plan-review-spec.md §4.2
4
4
  */
5
5
 
6
- import type { ReviewDecisionResult, Verdict } from "./types.js";
6
+ import type { ReviewDecisionResult, Verdict } from "../../lib-ts/types.js";
7
7
 
8
8
  /**
9
9
  * Return the worst verdict from a list.
@@ -416,5 +416,5 @@
416
416
  ]
417
417
  }
418
418
  },
419
- "version": "0.12.6"
419
+ "version": "0.12.8"
420
420
  }