ocmm 0.5.3 → 0.6.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 (202) hide show
  1. package/.codex/agents/dw-builder.toml +3 -3
  2. package/.codex/agents/dw-clarifier.toml +2 -2
  3. package/.codex/agents/dw-code-search.toml +2 -2
  4. package/.codex/agents/dw-coding.toml +2 -2
  5. package/.codex/agents/dw-complex.toml +2 -2
  6. package/.codex/agents/dw-creative.toml +2 -2
  7. package/.codex/agents/dw-deep.toml +3 -3
  8. package/.codex/agents/dw-doc-search.toml +2 -2
  9. package/.codex/agents/dw-documenting.toml +2 -2
  10. package/.codex/agents/dw-explore.toml +2 -2
  11. package/.codex/agents/dw-frontend.toml +2 -2
  12. package/.codex/agents/dw-hard-reasoning.toml +2 -2
  13. package/.codex/agents/dw-media-reader.toml +2 -2
  14. package/.codex/agents/dw-normal-task.toml +2 -2
  15. package/.codex/agents/dw-oracle-2nd.toml +8 -0
  16. package/.codex/agents/dw-oracle.toml +3 -3
  17. package/.codex/agents/dw-orchestrator.toml +2 -2
  18. package/.codex/agents/dw-plan-critic.toml +2 -2
  19. package/.codex/agents/dw-planner.toml +3 -3
  20. package/.codex/agents/dw-quick.toml +2 -2
  21. package/.codex/agents/dw-research.toml +2 -2
  22. package/.codex/agents/dw-reviewer.toml +2 -2
  23. package/README.md +193 -46
  24. package/dist/cli/shim.d.ts +4 -2
  25. package/dist/cli/shim.js +26 -11
  26. package/dist/cli/shim.js.map +1 -1
  27. package/dist/codex/plugin-generator.js +121 -96
  28. package/dist/codex/plugin-generator.js.map +1 -1
  29. package/dist/config/load.d.ts +32 -23
  30. package/dist/config/load.js +384 -90
  31. package/dist/config/load.js.map +1 -1
  32. package/dist/config/merge.d.ts +18 -0
  33. package/dist/config/merge.js +46 -0
  34. package/dist/config/merge.js.map +1 -0
  35. package/dist/config/normalize.d.ts +1 -0
  36. package/dist/config/normalize.js +22 -16
  37. package/dist/config/normalize.js.map +1 -1
  38. package/dist/config/profile-aliases.d.ts +12 -0
  39. package/dist/config/profile-aliases.js +127 -0
  40. package/dist/config/profile-aliases.js.map +1 -0
  41. package/dist/config/profile-types.d.ts +13 -0
  42. package/dist/config/profile-types.js +2 -0
  43. package/dist/config/profile-types.js.map +1 -0
  44. package/dist/config/review-agent-migration.d.ts +89 -0
  45. package/dist/config/review-agent-migration.js +237 -0
  46. package/dist/config/review-agent-migration.js.map +1 -0
  47. package/dist/config/schema.d.ts +1364 -219
  48. package/dist/config/schema.js +169 -36
  49. package/dist/config/schema.js.map +1 -1
  50. package/dist/config/tolerant-parse.d.ts +41 -0
  51. package/dist/config/tolerant-parse.js +164 -0
  52. package/dist/config/tolerant-parse.js.map +1 -0
  53. package/dist/data/agents.d.ts +2 -1
  54. package/dist/data/agents.js +25 -10
  55. package/dist/data/agents.js.map +1 -1
  56. package/dist/data/categories.js +2 -1
  57. package/dist/data/categories.js.map +1 -1
  58. package/dist/hooks/chat-params.d.ts +2 -0
  59. package/dist/hooks/chat-params.js +182 -16
  60. package/dist/hooks/chat-params.js.map +1 -1
  61. package/dist/hooks/config.d.ts +14 -2
  62. package/dist/hooks/config.js +538 -60
  63. package/dist/hooks/config.js.map +1 -1
  64. package/dist/hooks/event.d.ts +3 -11
  65. package/dist/hooks/event.js +5 -9
  66. package/dist/hooks/event.js.map +1 -1
  67. package/dist/index.js +21 -14
  68. package/dist/index.js.map +1 -1
  69. package/dist/intent/model-family.d.ts +2 -0
  70. package/dist/intent/model-family.js +11 -0
  71. package/dist/intent/model-family.js.map +1 -1
  72. package/dist/intent/prompt-loader.d.ts +3 -3
  73. package/dist/intent/prompt-loader.js +3 -3
  74. package/dist/permissions/index.d.ts +3 -0
  75. package/dist/permissions/index.js +43 -28
  76. package/dist/permissions/index.js.map +1 -1
  77. package/dist/review-agents/expand.d.ts +36 -0
  78. package/dist/review-agents/expand.js +157 -0
  79. package/dist/review-agents/expand.js.map +1 -0
  80. package/dist/review-agents/names.d.ts +16 -0
  81. package/dist/review-agents/names.js +55 -0
  82. package/dist/review-agents/names.js.map +1 -0
  83. package/dist/routing/effective-route.d.ts +19 -0
  84. package/dist/routing/effective-route.js +133 -0
  85. package/dist/routing/effective-route.js.map +1 -0
  86. package/dist/routing/model-upgrades.d.ts +5 -0
  87. package/dist/routing/model-upgrades.js +59 -11
  88. package/dist/routing/model-upgrades.js.map +1 -1
  89. package/dist/routing/resolver.d.ts +8 -1
  90. package/dist/routing/resolver.js +29 -9
  91. package/dist/routing/resolver.js.map +1 -1
  92. package/dist/routing/route-registry.d.ts +13 -0
  93. package/dist/routing/route-registry.js +84 -0
  94. package/dist/routing/route-registry.js.map +1 -0
  95. package/dist/routing/variant-translator.js +7 -4
  96. package/dist/routing/variant-translator.js.map +1 -1
  97. package/dist/runtime-fallback/dispatcher.d.ts +1 -0
  98. package/dist/runtime-fallback/dispatcher.js +7 -5
  99. package/dist/runtime-fallback/dispatcher.js.map +1 -1
  100. package/dist/runtime-fallback/error-classifier.d.ts +3 -1
  101. package/dist/runtime-fallback/error-classifier.js +135 -1
  102. package/dist/runtime-fallback/error-classifier.js.map +1 -1
  103. package/dist/runtime-fallback/event-handler-generic-fallback.d.ts +26 -0
  104. package/dist/runtime-fallback/event-handler-generic-fallback.js +54 -0
  105. package/dist/runtime-fallback/event-handler-generic-fallback.js.map +1 -0
  106. package/dist/runtime-fallback/event-handler-idle-continuation.d.ts +9 -0
  107. package/dist/runtime-fallback/event-handler-idle-continuation.js +48 -0
  108. package/dist/runtime-fallback/event-handler-idle-continuation.js.map +1 -0
  109. package/dist/runtime-fallback/event-handler-support.d.ts +39 -0
  110. package/dist/runtime-fallback/event-handler-support.js +194 -0
  111. package/dist/runtime-fallback/event-handler-support.js.map +1 -0
  112. package/dist/runtime-fallback/event-handler-test-fixtures.d.ts +874 -0
  113. package/dist/runtime-fallback/event-handler-test-fixtures.js +150 -0
  114. package/dist/runtime-fallback/event-handler-test-fixtures.js.map +1 -0
  115. package/dist/runtime-fallback/event-handler.d.ts +13 -1
  116. package/dist/runtime-fallback/event-handler.js +334 -192
  117. package/dist/runtime-fallback/event-handler.js.map +1 -1
  118. package/dist/runtime-fallback/fallback-state.d.ts +8 -5
  119. package/dist/runtime-fallback/fallback-state.js +9 -6
  120. package/dist/runtime-fallback/fallback-state.js.map +1 -1
  121. package/dist/runtime-fallback/index.d.ts +21 -1
  122. package/dist/runtime-fallback/index.js +7 -1
  123. package/dist/runtime-fallback/index.js.map +1 -1
  124. package/dist/runtime-fallback/interruption-output-adapter.d.ts +7 -0
  125. package/dist/runtime-fallback/interruption-output-adapter.js +91 -0
  126. package/dist/runtime-fallback/interruption-output-adapter.js.map +1 -0
  127. package/dist/runtime-fallback/subagent-429-controller-fixture.d.ts +105 -0
  128. package/dist/runtime-fallback/subagent-429-controller-fixture.js +116 -0
  129. package/dist/runtime-fallback/subagent-429-controller-fixture.js.map +1 -0
  130. package/dist/runtime-fallback/subagent-429-controller.d.ts +167 -0
  131. package/dist/runtime-fallback/subagent-429-controller.js +334 -0
  132. package/dist/runtime-fallback/subagent-429-controller.js.map +1 -0
  133. package/dist/runtime-fallback/subagent-429-policy.d.ts +13 -0
  134. package/dist/runtime-fallback/subagent-429-policy.js +37 -0
  135. package/dist/runtime-fallback/subagent-429-policy.js.map +1 -0
  136. package/dist/runtime-fallback/subagent-429-session.d.ts +48 -0
  137. package/dist/runtime-fallback/subagent-429-session.js +316 -0
  138. package/dist/runtime-fallback/subagent-429-session.js.map +1 -0
  139. package/dist/shared/opencode-events.d.ts +22 -0
  140. package/dist/shared/opencode-events.js +75 -0
  141. package/dist/shared/opencode-events.js.map +1 -0
  142. package/dist/shared/types.d.ts +12 -1
  143. package/package.json +1 -1
  144. package/plugins/deepwork/.codex-plugin/plugin.json +1 -1
  145. package/plugins/deepwork/README.md +3 -2
  146. package/plugins/deepwork/agents/dw-builder.toml +3 -3
  147. package/plugins/deepwork/agents/dw-clarifier.toml +2 -2
  148. package/plugins/deepwork/agents/dw-code-search.toml +2 -2
  149. package/plugins/deepwork/agents/dw-coding.toml +2 -2
  150. package/plugins/deepwork/agents/dw-complex.toml +2 -2
  151. package/plugins/deepwork/agents/dw-creative.toml +2 -2
  152. package/plugins/deepwork/agents/dw-deep.toml +3 -3
  153. package/plugins/deepwork/agents/dw-doc-search.toml +2 -2
  154. package/plugins/deepwork/agents/dw-documenting.toml +2 -2
  155. package/plugins/deepwork/agents/dw-explore.toml +2 -2
  156. package/plugins/deepwork/agents/dw-frontend.toml +2 -2
  157. package/plugins/deepwork/agents/dw-hard-reasoning.toml +2 -2
  158. package/plugins/deepwork/agents/dw-media-reader.toml +2 -2
  159. package/plugins/deepwork/agents/dw-normal-task.toml +2 -2
  160. package/plugins/deepwork/agents/dw-oracle-2nd.toml +8 -0
  161. package/plugins/deepwork/agents/dw-oracle.toml +3 -3
  162. package/plugins/deepwork/agents/dw-orchestrator.toml +2 -2
  163. package/plugins/deepwork/agents/dw-plan-critic.toml +2 -2
  164. package/plugins/deepwork/agents/dw-planner.toml +3 -3
  165. package/plugins/deepwork/agents/dw-quick.toml +2 -2
  166. package/plugins/deepwork/agents/dw-research.toml +2 -2
  167. package/plugins/deepwork/agents/dw-reviewer.toml +2 -2
  168. package/plugins/deepwork/dist/cli/shim.d.ts +4 -2
  169. package/plugins/deepwork/dist/cli/shim.js +26 -11
  170. package/plugins/deepwork/dist/cli/shim.js.map +1 -1
  171. package/plugins/deepwork/dist/shared/opencode-events.d.ts +22 -0
  172. package/plugins/deepwork/dist/shared/opencode-events.js +75 -0
  173. package/plugins/deepwork/dist/shared/opencode-events.js.map +1 -0
  174. package/plugins/deepwork/dist/shared/types.d.ts +12 -1
  175. package/plugins/deepwork/package.json +1 -1
  176. package/plugins/deepwork/skills/deepwork/SKILL.md +74 -58
  177. package/plugins/deepwork/skills/deepwork-requesting-code-review/SKILL.md +53 -27
  178. package/plugins/deepwork/skills/deepwork-requesting-code-review/code-reviewer.md +11 -7
  179. package/plugins/deepwork/skills/deepwork-subagent-driven-development/SKILL.md +34 -21
  180. package/plugins/deepwork/skills/deepwork-subagent-driven-development/implementer-prompt.md +10 -3
  181. package/prompts/codex/agents/clarifier.md +4 -0
  182. package/prompts/codex/agents/orchestrator.md +12 -2
  183. package/prompts/codex/agents/plan-critic.md +4 -0
  184. package/prompts/codex/agents/planner.md +15 -10
  185. package/prompts/codex/agents/reviewer.md +8 -2
  186. package/prompts/codex/deepwork/gpt-5.6.md +20 -37
  187. package/prompts/omo/agents/clarifier.md +4 -0
  188. package/prompts/omo/agents/orchestrator.md +11 -0
  189. package/prompts/omo/agents/plan-critic.md +4 -0
  190. package/prompts/omo/agents/planner.md +15 -3
  191. package/prompts/omo/agents/reviewer.md +8 -2
  192. package/prompts/omo/deepwork/gpt-5.6.md +20 -37
  193. package/prompts/v1/agents/clarifier.md +4 -0
  194. package/prompts/v1/agents/orchestrator.md +12 -2
  195. package/prompts/v1/agents/plan-critic.md +4 -0
  196. package/prompts/v1/agents/planner.md +15 -10
  197. package/prompts/v1/agents/reviewer.md +8 -2
  198. package/prompts/v1/deepwork/gpt-5.6.md +20 -37
  199. package/skills/v1/requesting-code-review/SKILL.md +53 -27
  200. package/skills/v1/requesting-code-review/code-reviewer.md +11 -7
  201. package/skills/v1/subagent-driven-development/SKILL.md +34 -21
  202. package/skills/v1/subagent-driven-development/implementer-prompt.md +10 -3
@@ -7,9 +7,10 @@ description: Use after all implementation tasks complete, after major features a
7
7
  Upstream: obra/superpowers v6.0.3.
8
8
  Adjustments: removed executing-plans and subagent-driven-development
9
9
  cross-references (v1 uses subagent-driven as the only path); added
10
- Reviewer Selection section for oracle/reviewer duality (oracle =
11
- self-supervision, reviewer = external review). See docs/v1-maintenance.md
12
- for sync rules. -->
10
+ Reviewer Selection section for ordered Oracle slot semantics and logical
11
+ tiers (oracle slots = model-priority ordering, reviewer = external review
12
+ lane, tiers = low/normal/high/max). See docs/v1-maintenance.md for sync
13
+ rules. -->
13
14
 
14
15
  # Requesting Code Review
15
16
 
@@ -31,12 +32,28 @@ Dispatch a code reviewer subagent to catch issues before they cascade. The revie
31
32
 
32
33
  ## How to Request
33
34
 
34
- **1. Get git SHAs:**
35
+ **1. Choose the review input:**
36
+
37
+ Use a committed range only when an orchestrator-owned, user-authorized commit already exists:
38
+
35
39
  ```bash
36
40
  BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
37
41
  HEAD_SHA=$(git rev-parse HEAD)
42
+ git diff --stat $BASE_SHA..$HEAD_SHA
43
+ git diff $BASE_SHA..$HEAD_SHA
38
44
  ```
39
45
 
46
+ Working-tree diff review (use this when implementation subagents returned uncommitted changes):
47
+
48
+ ```bash
49
+ git diff --stat
50
+ git diff
51
+ git diff --cached --stat
52
+ git diff --cached
53
+ ```
54
+
55
+ Do not require implementation subagents to commit, stage, or push merely to create a review range. The orchestrator owns any Git write and performs it only after explicit user authorization.
56
+
40
57
  **2. Dispatch code reviewer subagent:**
41
58
 
42
59
  Use Task tool with `general-purpose` type, fill template at `code-reviewer.md`
@@ -44,8 +61,7 @@ Use Task tool with `general-purpose` type, fill template at `code-reviewer.md`
44
61
  **Placeholders:**
45
62
  - `{DESCRIPTION}` - Brief summary of what you built
46
63
  - `{PLAN_OR_REQUIREMENTS}` - What it should do
47
- - `{BASE_SHA}` - Starting commit
48
- - `{HEAD_SHA}` - Ending commit
64
+ - `{REVIEW_INPUT}` - Commit range plus commands, or working-tree/staged diff commands and output
49
65
 
50
66
  **3. Act on feedback:**
51
67
  - Fix Critical issues immediately
@@ -57,31 +73,39 @@ Use Task tool with `general-purpose` type, fill template at `code-reviewer.md`
57
73
 
58
74
  ## Reviewer Selection
59
75
 
60
- Two reviewer agents are available, with distinct semantics:
76
+ Review selection has two independent axes: role/model priority and logical rigor.
61
77
 
62
- | Agent | Role | Model default |
63
- |---|---|---|
64
- | `oracle` | Self-supervision — review work the current agent itself produced | Cross-gen (different generation from main, to avoid self-confirmation bias) |
65
- | `reviewer` | External review — review code not produced by the current agent | Flagship (same family as main) |
78
+ ### Axis 1 Role/Model Priority
66
79
 
67
- **Selection by task complexity:**
80
+ - Oracle slots are ordered as `oracle`, `oracle-2nd`, then configured `oracle-3rd` through `oracle-9th`.
81
+ - `oracle-2nd` and every later slot have lower selection priority, never greater capability.
82
+ - The external review lane is `reviewer`; `reviewer-2nd` does not exist.
68
83
 
69
- | Task shape | Reviewer(s) | Rationale |
70
- |---|---|---|
71
- | Simple / single-stage (1-2 tasks, one module, no architectural change) | `oracle` (default) | plan-critic already reviewed the plan; self-supervision suffices |
72
- | Complex / large (3+ tasks, cross-module, architectural change, security/performance sensitive) | `oracle` + `reviewer` (both, in parallel) | cross-gen self-supervision AND external review catch orthogonal issues |
73
- | User habit override | user-specified | user may prefer reviewer for all cases, or oracle for all cases |
84
+ ### Axis 2 Logical Rigor Tiers
85
+
86
+ - Logical tiers are `low`, `normal`, `high`, `max`.
87
+ - `normal` is the unsuffixed profile (`oracle`, `reviewer`).
88
+ - Tier-suffixed profiles are used only when configured and available.
74
89
 
75
- **How to dispatch:**
90
+ **Selection by work shape:**
76
91
 
77
- - Single reviewer: dispatch one subagent with the chosen reviewer agent type (`oracle` or `reviewer`), passing the work SHAs and context via the `code-reviewer.md` template.
78
- - Both reviewers: dispatch two subagents in parallel (one `oracle`, one `reviewer`), each with the same SHAs and context. Collect both feedback sets before acting.
92
+ | Work shape | Reviewer(s) | Tier choice |
93
+ |---|---|---|
94
+ | Simple / single-stage (1-2 tasks, one module, no architectural change) | first available Oracle | `normal` |
95
+ | Complex / cross-module / large integration | first available Oracle + `reviewer` (parallel) | configured `high`, otherwise `normal` |
96
+ | Security / performance / data-loss / release / runtime-safety work | first available Oracle + `reviewer` (parallel) | configured `max`, otherwise `high`, otherwise `normal` |
97
+ | Additional evidence requested | additional Oracle slots in order (`oracle-2nd`, then later configured slots) | keep the intentionally selected tier; user override is still subject to availability/disabled profiles/floors |
98
+
99
+ **Dispatch semantics:**
79
100
 
80
- **Default:** `oracle` for simple tasks. Upgrade to both when the orchestrator judges the task complex or large.
101
+ - Configuring several slots or tiers never triggers automatic fan-out by itself.
102
+ - A higher logical tier can be selected without adding more reviewers.
103
+ - A later Oracle slot is another configured model perspective, not a stronger reviewer.
104
+ - User overrides are allowed, but availability, disabled profiles, and floor constraints still apply.
81
105
 
82
- `oracle` can also be an optional independent consultation for a high-risk implementation plan. It does not replace the `plan-critic` receipt, does not make dual plan review mandatory, and a timeout or partial response is not a conclusion.
106
+ `oracle` can also be an optional independent consultation for a high-risk implementation plan. It does not replace the current `plan-critic` receipt, does not make dual plan review mandatory, and a timeout or partial response is not a conclusion.
83
107
 
84
- **GPT/Codex reasoning policy:** `reviewer` and `oracle` use `xhigh` minimum. For complex or high-risk review or verification, request local `max`; the adapter maps it to the target's maximum supported effort (currently `xhigh` for GPT/Codex). `plan-critic` remains `xhigh`.
108
+ **Reasoning policy:** Every parsed Oracle/Reviewer profile retains an `xhigh` minimum floor when the selected model family exposes that control; otherwise use the highest supported review effort for that family. This floor remains in effect while logical tier selection still includes `low`/`normal`/`high`/`max` semantics. GPT-5.6 supports native `max`, so complex or high-risk review/verification on GPT-5.6 can request local `max` directly; other model families use local `max` only when their cataloged controls expose a maximum-effort level. `plan-critic` uses `xhigh` minimum and may be raised by explicit local configuration. Example model names are references only; explicit user configuration and currently available models decide the actual selection.
85
109
 
86
110
  ## Example
87
111
 
@@ -90,14 +114,16 @@ Two reviewer agents are available, with distinct semantics:
90
114
 
91
115
  You: Let me request final acceptance review before declaring this done.
92
116
 
93
- BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
94
- HEAD_SHA=$(git rev-parse HEAD)
117
+ [Implementation subagents returned uncommitted changes, so review the working tree:]
118
+ git diff --stat
119
+ git diff
120
+ git diff --cached --stat
121
+ git diff --cached
95
122
 
96
123
  [Dispatch code reviewer subagent]
97
124
  DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
98
125
  PLAN_OR_REQUIREMENTS: docs/superpowers/plans/deployment-plan.md
99
- BASE_SHA: a7981ec
100
- HEAD_SHA: 3df7661
126
+ REVIEW_INPUT: working-tree diff commands and output above
101
127
 
102
128
  [Subagent returns]:
103
129
  Strengths: Clean architecture, real tests
@@ -20,16 +20,21 @@ Task tool (general-purpose):
20
20
 
21
21
  {PLAN_OR_REQUIREMENTS}
22
22
 
23
- ## Git Range to Review
23
+ ## Git Range or Working-Tree Diff to Review
24
24
 
25
- **Base:** {BASE_SHA}
26
- **Head:** {HEAD_SHA}
25
+ {REVIEW_INPUT}
26
+
27
+ If this is a committed range, inspect it with the provided `git diff <base>..<head>` commands. If this is uncommitted work, inspect the supplied working-tree/staged diff commands:
27
28
 
28
29
  ```bash
29
- git diff --stat {BASE_SHA}..{HEAD_SHA}
30
- git diff {BASE_SHA}..{HEAD_SHA}
30
+ git diff --stat
31
+ git diff
32
+ git diff --cached --stat
33
+ git diff --cached
31
34
  ```
32
35
 
36
+ Do not request that an implementation subagent create a commit; ask the orchestrator for missing diff evidence instead.
37
+
33
38
  ## What to Check
34
39
 
35
40
  **Plan alignment:**
@@ -124,8 +129,7 @@ Task tool (general-purpose):
124
129
  **Placeholders:**
125
130
  - `{DESCRIPTION}` — brief summary of what was built
126
131
  - `{PLAN_OR_REQUIREMENTS}` — what it should do (plan file path, task text, or requirements)
127
- - `{BASE_SHA}` — starting commit
128
- - `{HEAD_SHA}` — ending commit
132
+ - `{REVIEW_INPUT}` — commit range plus commands, or working-tree/staged diff commands and output
129
133
 
130
134
  **Reviewer returns:** Strengths, Issues (Critical / Important / Minor), Recommendations, Assessment
131
135
 
@@ -11,12 +11,13 @@ description: Use when executing implementation plans with independent tasks in t
11
11
  inline in v1); final code review uses requesting-code-review skill only.
12
12
  Synced v6.1.1+: Model Selection rewrite (explicit model dispatch, turn-count
13
13
  beats token price, tiered guidance); Constructing Reviewer Prompts section
14
- (no pre-judging, no open-ended directives, verbatim global constraints, no
15
- history pasting, findings handling by severity); Narration discipline rule;
16
- task-type analysis hint (prefer dispatching-parallel-agents for independent
17
- tasks). v1 intentionally replaces per-task reviewer loops with
18
- completion/integration checks plus one final acceptance review; ⚠️ Items
19
- section (reviewer "Cannot verify from diff" items). Did NOT sync:
14
+ (no pre-judging, no open-ended directives, verbatim global constraints, no
15
+ history pasting, findings handling by severity); Narration discipline rule;
16
+ task-type analysis hint (prefer dispatching-parallel-agents for independent
17
+ tasks); Final Acceptance Review stage updated with ordered Oracle slot
18
+ priority and logical tiers. v1 intentionally replaces per-task reviewer loops with
19
+ completion/integration checks plus one final acceptance review; ⚠️ Items
20
+ section (reviewer "Cannot verify from diff" items). Did NOT sync:
20
21
  review-package/task-brief bash scripts (Windows incompatible); progress
21
22
  ledger (v1 uses TodoWrite); File Handoffs/Durable Progress sections
22
23
  (depend on scripts).
@@ -48,12 +49,14 @@ Execute plan by dispatching a fresh subagent per task, running a completion/inte
48
49
  2. **Per task:**
49
50
  a. Dispatch implementer subagent (use implementer-prompt.md template)
50
51
  b. If implementer asks questions, answer and re-dispatch
51
- c. Implementer implements, tests, commits, self-reviews
52
+ c. Implementer implements, tests, self-reviews, and reports changed files plus a suggested commit message. Subagents do not commit, stage, push, or run any Git write command.
52
53
  d. **Completion/Integration check (not a full review):** Read the agent's summary, inspect touched files/diff, run targeted tests or record implementer evidence, verify the task is complete, and check whether the change conflicts with earlier tasks or needs follow-up by the same implementer
53
54
  e. If the completion check finds gaps, re-dispatch the same implementer to fix them
54
55
  f. Mark task complete in TodoWrite
55
56
  3. **After all tasks:** Dispatch final code reviewer subagent for the entire implementation (use requesting-code-review skill)
56
57
 
58
+ **Git ownership:** Subagents do not commit, stage, push, or run any Git write command. They return changed files and a suggested commit message to the orchestrator, along with verification evidence. The orchestrator performs any Git write only after explicit user authorization.
59
+
57
60
  ## Model Selection
58
61
 
59
62
  Use the least powerful model that can handle each role — but **always specify the model explicitly** when dispatching a subagent. Omitting it inherits the session model, which is usually the most expensive.
@@ -76,7 +79,7 @@ Use the least powerful model that can handle each role — but **always specify
76
79
 
77
80
  Implementer subagents report one of four statuses. Handle each appropriately:
78
81
 
79
- **DONE:** Run the completion/integration check, then continue to the next task. Do not dispatch spec-reviewer or code-quality-reviewer for a clean DONE result.
82
+ **DONE:** Run the completion/integration check, then continue to the next task. Do not dispatch spec-reviewer or code-quality-reviewer for a clean DONE result. If the work needs a commit, the implementer reports the intended files and message; the orchestrator handles any Git write only after explicit user authorization.
80
83
 
81
84
  **DONE_WITH_CONCERNS:** The implementer completed the work but flagged doubts. Read the concerns before proceeding. If the concerns are about correctness or scope, resolve them before continuing. If the concerns indicate high risk or cross-task conflict, consult a reviewer early; otherwise note them and continue after the completion check.
82
85
 
@@ -151,7 +154,7 @@ Each implementation task follows TDD:
151
154
  - Repeat only until that blocker is resolved
152
155
 
153
156
  **If subagent fails task:**
154
- - Dispatch fix subagent with specific instructions
157
+ - Dispatch a fix subagent with specific instructions; the fix subagent also reports changes instead of committing.
155
158
  - Don't try to fix manually (context pollution)
156
159
 
157
160
  ## Completion / Integration Check
@@ -195,7 +198,7 @@ The reviewer must evaluate the diff on its merits. If you have context the revie
195
198
 
196
199
  **Do not paste accumulated history into dispatch prompts.** Each dispatch gets exactly the context it needs — the task text, the diff, the constraints. A real session once dispatched 42k characters where 99% was pasted conversation history. The reviewer cannot use that; it dilutes focus.
197
200
 
198
- **Dispatch the diff, not a summary.** When early consultation or final acceptance review is needed, the reviewer needs the actual diff with context, not your description of it. Structure the dispatch with the commit range, the diff, and the task description. The final acceptance review uses `code-reviewer.md` via the requesting-code-review skill; `spec-reviewer-prompt.md` and `code-quality-reviewer-prompt.md` are optional narrow-consult tools only, not routine per-task gates.
201
+ **Dispatch the diff, not a summary.** When early consultation or final acceptance review is needed, the reviewer needs the actual diff with context, not your description of it. Structure the dispatch with the review input, the diff, and the task description; the review input may be a committed range or a working-tree/staged diff. The final acceptance review uses `code-reviewer.md` via the requesting-code-review skill; `spec-reviewer-prompt.md` and `code-quality-reviewer-prompt.md` are optional narrow-consult tools only, not routine per-task gates.
199
202
 
200
203
  **Handling findings:**
201
204
  - **Critical + Important** → dispatch a fix subagent. Each fix dispatch must include: the test name that covers the fix, the command to run it, and the expected output.
@@ -209,24 +212,34 @@ The reviewer must evaluate the diff on its merits. If you have context the revie
209
212
 
210
213
  After all plan tasks are marked complete, before declaring the work done, run a final acceptance review over the full change set. This is distinct from completion/integration checks — it evaluates the work as a whole.
211
214
 
212
- **1. Assess complexity:**
215
+ **1. Assess complexity and choose reviewers deliberately:**
216
+
217
+ Review selection has two independent axes: role/model priority and logical rigor.
218
+
219
+ - Oracle slots are ordered by selection priority as `oracle`, `oracle-2nd`, then configured `oracle-3rd` through `oracle-9th`.
220
+ - `oracle-2nd` and later slots mean lower selection priority, never stronger capability.
221
+ - Logical rigor tiers are `low`, `normal`, `high`, `max` (`normal` is the unsuffixed profile; other tiers are used only when configured and available).
213
222
 
214
- | Complexity | Signal | Reviewer(s) |
223
+ | Complexity / evidence shape | Reviewer(s) | Tier choice |
215
224
  |---|---|---|
216
- | Simple | 1-2 tasks, single module, no architectural change | `oracle` (self-supervision) |
217
- | Complex | 3+ tasks, cross-module, architectural change, security/performance sensitive, migration | `oracle` + `reviewer` (both, in parallel) |
225
+ | Simple | 1-2 tasks, single module, no architectural change | first available Oracle at `normal` |
226
+ | Complex / cross-module | 3+ tasks, cross-module integration, architectural change, migration | first available Oracle + `reviewer` in parallel; configured `high`, otherwise `normal` |
227
+ | Security / performance / data-loss / release / runtime-safety | high-impact risk profile regardless of file count | first available Oracle + `reviewer` in parallel; configured `max`, otherwise `high`, otherwise `normal` |
228
+ | Additional evidence requested | user/orchestrator asks for more independent model evidence | additional Oracle slots in order (start with `oracle-2nd`, then later configured/available slots in ordinal order) while keeping the intentionally selected tier |
218
229
 
219
- The orchestrator judges complexity from the plan scope and actual changes. When unsure, upgrade to both.
230
+ The orchestrator performs this selection after all tasks complete. Do not fan out reviews merely because several Oracle slots or tiers are registered. Collect only intentionally requested reviews. A later Oracle slot is another configured model perspective, not a stronger reviewer.
220
231
 
221
232
  **2. Dispatch the acceptance review:**
222
233
 
223
- Use the `requesting-code-review` skill. Pass the full change range:
224
- - `BASE_SHA` = commit before the first task of the plan
225
- - `HEAD_SHA` = current HEAD (after all tasks)
226
- - `DESCRIPTION` = summary of the complete feature/work
227
- - `PLAN_OR_REQUIREMENTS` = the plan file path
234
+ Use the `requesting-code-review` skill. Pass either a committed range or an uncommitted working-tree/staged diff:
235
+ - committed range: `BASE_SHA`, `HEAD_SHA`, `DESCRIPTION`, and `PLAN_OR_REQUIREMENTS` when the orchestrator has already created a user-authorized commit;
236
+ - working-tree/staged diff: `git diff --stat`, `git diff`, `git diff --cached --stat`, `git diff --cached`, `DESCRIPTION`, and `PLAN_OR_REQUIREMENTS` when implementation subagents returned uncommitted changes.
237
+
238
+ Do not require implementation subagents to commit, stage, or push merely to create review SHAs. The orchestrator owns any Git write and performs it only after explicit user authorization.
239
+
240
+ For baseline dispatch: use the selected first available Oracle, and add `reviewer` only when the complexity table says so.
228
241
 
229
- For both-reviewer dispatch: spawn two subagents in parallel (one `oracle`, one `reviewer`), each with the same SHAs and context. Collect both feedback sets before proceeding.
242
+ For additional evidence: add the next configured/available Oracle slot(s) in ordinal order, each with the same review input and context. Do not add slots automatically without an intentional evidence need.
230
243
 
231
244
  **3. Process feedback:**
232
245
 
@@ -32,9 +32,16 @@ Task tool (general-purpose):
32
32
  1. Implement exactly what the task specifies
33
33
  2. Write tests (following TDD if task says to)
34
34
  3. Verify implementation works
35
- 4. Commit your work
36
- 5. Self-review (see below)
37
- 6. Report back
35
+ 4. Self-review (see below)
36
+ 5. Report back with changed files, verification evidence, and a suggested commit message if a commit is needed
37
+
38
+ ## Delegation Boundary
39
+
40
+ Use direct tools first. If direct tools are insufficient and a separate bounded utility result materially improves this task, you may call only utility leaves permitted by your effective Task tool: `quick`, `code-search`, `explore`, `doc-search`, `research`, and `media-reader`. If the Task tool exposes fewer targets, use only the exposed subset.
41
+
42
+ Do not launch `planner`, `plan-critic`, any Reviewer profile (`reviewer`, `reviewer-low`, `reviewer-high`, `reviewer-max`), or any Oracle profile (`oracle`, `oracle-2nd`, configured `oracle-3rd`…`oracle-9th`, and their `low`/`high`/`max` tier variants). Do not launch another implementation or coordination workflow agent. If a skill requests a disallowed review or handoff, report that need to the orchestrator instead of dispatching it.
43
+
44
+ After local verification, return status, changed files, commands, and evidence to the orchestrator. The orchestrator owns formal plan review and final acceptance review. It also owns planner, plan-critic, and review dispatch.
38
45
 
39
46
  Work from: [directory]
40
47