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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepwork-codex-plugin-runtime",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "private": true,
5
5
  "type": "module"
6
6
  }
@@ -30,7 +30,7 @@ When a Deepwork role maps to a generated agent, use the exact Codex agent type w
30
30
 
31
31
  - Plan review: `[@dw-plan-critic](subagent://dw-plan-critic)` or `multi_agent_v1.spawn_agent(agent_type="dw-plan-critic", fork_context=false, message="Review the plan at <path>.")`
32
32
  - Code/work review: `[@dw-reviewer](subagent://dw-reviewer)` or `multi_agent_v1.spawn_agent(agent_type="dw-reviewer", fork_context=false, message="<bounded review task>")`
33
- - Self-supervision: `[@dw-oracle](subagent://dw-oracle)` or `multi_agent_v1.spawn_agent(agent_type="dw-oracle", fork_context=false, message="<specific verification task>")`
33
+ - Ordered Oracle review: `[@dw-oracle](subagent://dw-oracle)` first, then `[@dw-oracle-2nd](subagent://dw-oracle-2nd)` through configured later slots only when additional independent evidence is explicitly needed.
34
34
 
35
35
  When Codex exposes MultiAgentV2 flat tools, map Deepwork delegation to the available flat tool names instead of forcing V1 syntax: use `spawn_agent` to create a bounded agent, `wait_agent` to wait for completion, `followup_task` to continue an existing agent, `interrupt_agent` to stop a runaway agent, and `fork_turns` only for explicit branch-style exploration. If those names are not callable in the current thread, fall back to the route order below.
36
36
 
@@ -62,85 +62,101 @@ If an exact `dw-*` invocation returns `unknown agent_type`, continue at route 2
62
62
 
63
63
  ## Generated Agents
64
64
 
65
- | Codex agent | Model | Effort | Deepwork source |
66
- |---|---|---|---|
67
- | dw-builder | gpt-5.5 | high | builder |
68
- | dw-clarifier | gpt-5.5 | high | clarifier |
69
- | dw-code-search | gpt-5.4-mini-fast | high | code-search |
70
- | dw-coding | gpt-5.5 | high | coding |
71
- | dw-complex | gpt-5.5 | high | complex |
72
- | dw-creative | gpt-5.5 | high | creative |
73
- | dw-deep | gpt-5.5 | high | deep |
74
- | dw-doc-search | gpt-5.4-mini-fast | high | doc-search |
75
- | dw-documenting | gpt-5.5 | high | documenting |
76
- | dw-explore | gpt-5.4-mini-fast | high | explore |
77
- | dw-frontend | gpt-5.5 | high | frontend |
78
- | dw-hard-reasoning | gpt-5.5 | xhigh | hard-reasoning |
79
- | dw-media-reader | gpt-5.5 | high | media-reader |
80
- | dw-normal-task | gpt-5.5 | high | normal-task |
81
- | dw-oracle | gpt-5.4 | xhigh | oracle |
82
- | dw-orchestrator | gpt-5.5 | high | orchestrator |
83
- | dw-plan-critic | gpt-5.5 | xhigh | plan-critic |
84
- | dw-planner | gpt-5.5 | high | planner |
85
- | dw-quick | gpt-5.4-mini | high | quick |
86
- | dw-research | gpt-5.5 | high | research |
87
- | dw-reviewer | gpt-5.5 | xhigh | reviewer |
65
+ | Codex agent | Profile effort | Deepwork source |
66
+ |---|---|---|
67
+ | dw-builder | high | builder |
68
+ | dw-clarifier | high | clarifier |
69
+ | dw-code-search | high | code-search |
70
+ | dw-coding | high | coding |
71
+ | dw-complex | high | complex |
72
+ | dw-creative | high | creative |
73
+ | dw-deep | xhigh | deep |
74
+ | dw-doc-search | high | doc-search |
75
+ | dw-documenting | high | documenting |
76
+ | dw-explore | high | explore |
77
+ | dw-frontend | high | frontend |
78
+ | dw-hard-reasoning | xhigh | hard-reasoning |
79
+ | dw-media-reader | high | media-reader |
80
+ | dw-normal-task | high | normal-task |
81
+ | dw-oracle | xhigh | oracle |
82
+ | dw-oracle-2nd | xhigh | oracle-2nd |
83
+ | dw-orchestrator | high | orchestrator |
84
+ | dw-plan-critic | xhigh | plan-critic |
85
+ | dw-planner | xhigh | planner |
86
+ | dw-quick | high | quick |
87
+ | dw-research | high | research |
88
+ | dw-reviewer | xhigh | reviewer |
89
+
90
+ Generated profile defaults are installation metadata, not mandatory choices. Actual delegation must preserve explicit user configuration and select overrides only from the currently available model catalog.
88
91
 
89
92
  ## Runtime Model Selection
90
93
 
91
94
  For an exact profile, omit `model` and `reasoning_effort` by default so Codex can apply the selected `dw-*` profile. For direct composition, select the tier model below only when the current tool exposes `model`, preserve the profile's existing reasoning effort as the baseline, and load the selected role's developer instructions and required skills. For generic/flat dispatch with no model field, do not invent an override: the child inherits its native/default model while the role and skills are carried in `message`. An explicit user-selected model always wins.
92
95
 
93
- ### GPT runtime upgrades (only when directly selectable)
96
+ ### Runtime model upgrades (only when directly selectable)
94
97
 
95
- Apply this section only when the current dispatch surface exposes a `model` field or an exact profile route that also accepts a model override. An explicit user-selected model always wins. Determine availability from the current callable surface or active model catalog; do not assume a model exists from its name. When no GPT-5.6 model is available, omit the override and preserve the generated profile's existing model and reasoning behavior unchanged.
98
+ Apply this section only when the current dispatch surface exposes a `model` field or an exact profile route that also accepts a model override. An explicit user-selected model always wins. Determine availability from the current callable surface or active model catalog; model names in examples are references only and never prove availability. When no suitable model in a lane is available, omit the override and preserve the generated profile's existing model and reasoning behavior unchanged.
96
99
 
97
- | Role lane | Preferred GPT-5.6 model | Reasoning effort | Roles |
100
+ | Role lane | Selection principle | Reasoning effort | Roles |
98
101
  |---|---|---|---|
99
- | Flagship | `gpt-5.6-sol` | `high` by default; `xhigh` for deep, architecture, algorithmic, security, or high-risk reasoning | dw-orchestrator, dw-planner, dw-builder, dw-clarifier, dw-deep, dw-hard-reasoning |
100
- | External review | `gpt-5.6-sol` | `xhigh` minimum; local `max` for complex, cross-module, security, performance, high-risk, or final-gate review (mapped to the target maximum) | dw-reviewer |
101
- | Plan review | `gpt-5.6-sol` | fixed `xhigh` | dw-plan-critic |
102
- | Cross-check | `gpt-5.4`, then `gpt-5.5`, then `gpt-5.6-terra` | `xhigh` minimum; local `max` for complex or high-risk verification (mapped to the target maximum) | dw-oracle |
103
- | Mid | `gpt-5.6-terra` | Preserve the profile baseline unless task complexity requires more | dw-complex, dw-normal-task, dw-coding, dw-research, dw-frontend, dw-creative, dw-documenting, dw-media-reader, dw-doc-search |
104
- | Mini | `gpt-5.6-luna` | `high` | dw-quick, dw-code-search, dw-explore |
102
+ | Flagship | Best available primary reasoning model in the user's catalog | `xhigh` minimum for planning, deep implementation, hard reasoning, architecture, algorithmic, security, or high-risk work; use native `max` on GPT-5.6 when maximum reasoning is requested, and use the family-supported maximum elsewhere. `high` remains acceptable for coordination, implementation, or clarification roles below that threshold. | dw-orchestrator, dw-planner, dw-builder, dw-clarifier, dw-deep, dw-hard-reasoning |
103
+ | External review | Same primary reasoning lane as flagship work, selected from available models; Reviewer has logical tiers only and no ordinal slots | `xhigh` minimum; use native `max` on GPT-5.6 for complex, cross-module, security, performance, high-risk, or final-gate review | dw-reviewer |
104
+ | Ordered Oracle review | Oracle slots are model priority, not capability ranking (`dw-oracle`, then `dw-oracle-2nd` through configured later slots) | `xhigh` minimum for GPT/Codex review routes; preserve native `max` when explicitly selected and supported | dw-oracle*, dw-oracle-2nd*, dw-oracle-3rd*... |
105
+ | Plan review | Same primary reasoning lane when directly configurable | `xhigh` minimum; local `max` only by explicit local configuration | dw-plan-critic |
106
+ | Mid | Best available mid-tier model; if none exists, use the primary reasoning model at a lower effort | Preserve the profile baseline unless task complexity requires more | dw-complex, dw-normal-task, dw-coding, dw-research, dw-frontend, dw-creative, dw-documenting, dw-media-reader, dw-doc-search |
107
+ | Mini | Best available lightweight model for mechanical, search, or fast lookup work | `high` for accuracy unless the user explicitly configures otherwise | dw-quick, dw-code-search, dw-explore |
108
+
109
+ When a newer family is explicitly available, select a demonstrably better model in the same capability lane instead of pinning an example name. Keep the role's high/xhigh/max complexity rule, never override an explicit user model, and fall back to the generated profile default when availability or capability evidence is absent.
110
+
111
+ Reviewer and Oracle routes use an `xhigh`-equivalent minimum when the selected model family exposes that control; otherwise they use the highest supported review effort for that family. GPT-5.6 supports native `max`, so complex or high-risk review/verification on a GPT-5.6 selected model may request `max` directly. Other families use `max` only when their cataloged controls support it.
105
112
 
106
- When a newer GPT family is explicitly available, select a demonstrably better model in the same capability lane instead of pinning the 5.6 name for Flagship and External review. For Cross-check while a GPT-5.6 primary model is in use, prefer a cross-generation GPT-5.4 xhigh oracle first, then GPT-5.5 xhigh, before same-generation GPT-5.6 Terra/Terra successors. Keep the role's high/xhigh complexity rule, never override an explicit user model, and fall back to the generated profile default when availability or capability evidence is absent.
113
+ The plan-critic profile uses `xhigh` minimum; raise it only through explicit local configuration.
107
114
 
108
- For reviewer and oracle GPT/Codex routes, `xhigh` is the minimum reasoning effort. 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).
115
+ ### Ordered Oracle profiles in this bundle
109
116
 
110
- The plan-critic profile remains fixed `xhigh`; its receipt-focused plan review does not use the reviewer/oracle local-effort escalation policy.
117
+ - Slot 1: `dw-oracle` (logical tiers: `normal`)
118
+ - Slot 2: `dw-oracle-2nd` (logical tiers: `normal`)
119
+
120
+ Slot ordering is always by Oracle ordinal (`oracle`, `oracle-2nd`, `oracle-3rd`, ...). Logical tier choice never reorders slots.
121
+
122
+ ### Ordered Oracle review
123
+
124
+ - Oracle priority is ordered by slot: `dw-oracle`, then `dw-oracle-2nd` through later configured slots.
125
+ - Oracle slots are model priority, not capability ranking.
126
+ - The unsuffixed profile is logical `normal`; configured `-low`, `-high`, and `-max` profiles select task rigor independently of slot priority.
127
+ - Simple final acceptance selects the first available Oracle normal profile.
128
+ - Complex cross-module final acceptance selects the first available Oracle plus Reviewer; for each role choose configured `high`, falling back to unsuffixed `normal` when `high` is absent.
129
+ - Security, performance, data-loss, release, or runtime-safety review selects configured `max`, otherwise configured `high`, otherwise unsuffixed `normal`.
130
+ - Logical `low` is selected only by an explicit user/workflow cost-or-latency request and still receives the review-effort floor.
131
+ - Additional Oracle passes select later configured slots in order only when additional independent evidence is explicitly needed.
132
+ - Configuring multiple Oracle profiles does not fan-out automatically.
133
+ - Reviewer has logical tier variants only and has no ordinal profiles.
111
134
 
112
135
  ### Tier assignments
113
136
 
114
137
  | Tier | Agents | Model | Effort |
115
138
  |---|---|---|---|
116
- | Flagship | dw-orchestrator, dw-planner, dw-builder, dw-clarifier, dw-deep, dw-hard-reasoning | Latest-gen flagship | high or xhigh by complexity |
117
- | External review | dw-reviewer | Latest-gen flagship | xhigh minimum; local max for complex or high-risk review |
118
- | Plan review | dw-plan-critic | Latest-gen flagship | fixed xhigh |
119
- | Cross-check | dw-oracle | GPT-5.4 xhigh first when available, then GPT-5.5 xhigh, then same-generation GPT-5.6 Terra/Terra successor; otherwise a strong non-identical capable model | xhigh minimum; local max for complex or high-risk verification |
120
- | Mid | dw-complex, dw-normal-task, dw-coding, dw-research, dw-frontend, dw-creative, dw-documenting, dw-media-reader, dw-doc-search | Latest-gen mid-tier at max, else flagship at high | max or high |
121
- | Mini | dw-quick, dw-code-search, dw-explore | Latest-gen mini | high |
139
+ | Flagship | dw-orchestrator, dw-planner, dw-builder, dw-clarifier, dw-deep, dw-hard-reasoning | Primary reasoning model from the user's available catalog | xhigh minimum for planner/deep/hard-reasoning; native max for GPT-5.6 maximum-reasoning work. high only for coordination, implementation, or clarification roles below that threshold |
140
+ | External review | dw-reviewer | Primary reasoning lane | xhigh-equivalent minimum when supported; native max for GPT-5.6 complex or high-risk review |
141
+ | Ordered Oracle review | dw-oracle, dw-oracle-2nd, later configured Oracle slots | Ordered by Oracle slot ordinal; tier choice does not reorder slots | xhigh-equivalent minimum when supported; native max for GPT-5.6 complex or high-risk verification |
142
+ | Plan review | dw-plan-critic | Primary reasoning lane | xhigh minimum unless local config raises it |
143
+ | Mid | dw-complex, dw-normal-task, dw-coding, dw-research, dw-frontend, dw-creative, dw-documenting, dw-media-reader, dw-doc-search | Available mid-tier model, else primary reasoning model at lower effort | max or high by task shape |
144
+ | Mini | dw-quick, dw-code-search, dw-explore | Available lightweight model | high |
122
145
 
123
146
  ### Model tier definitions
124
147
 
125
- - **Flagship**: the most capable model of the latest generation (e.g., gpt-5.5 in the 5.x gen).
126
- - **Mid-tier**: a lighter-but-capable model within the latest generation. If the latest gen has no mid-tier, use the flagship at `high` effort instead.
127
- - **Mini**: the smallest/cheapest model of the latest generation (e.g., `-mini` variants).
128
- - **Strong non-identical cross-check**: a capable available model that differs from the primary lane when possible; model diversity is useful, but not a reason to bypass the newer-model policy.
148
+ - **Flagship**: the most capable primary reasoning model available to the user.
149
+ - **Mid-tier**: a lighter-but-capable configured model. If no mid-tier lane is available, use the primary reasoning lane at `high` effort instead.
150
+ - **Mini**: the smallest/cheapest model available for fast mechanical or lookup tasks.
129
151
 
130
- ### Independent review rule
152
+ ### Review dispatch guardrail
131
153
 
132
- dw-oracle provides self-supervision through the Cross-check lane, while dw-reviewer provides external review through the External review lane. When GPT-5.6 Sol is the primary review model, prefer GPT-5.4 xhigh for oracle diversity, then GPT-5.5 xhigh, before same-generation GPT-5.6 Terra. For complex multi-module work where GPT-5.4, GPT-5.5, and GPT-5.6 are all directly available, you may run three-way cross-validation: dw-reviewer on GPT-5.6 xhigh/local max plus oracle/cross-check passes on GPT-5.4 xhigh and GPT-5.5 xhigh. Do not force this for ordinary work.
154
+ Oracle and Reviewer profiles are selectable options, not automatic fan-out. Choose exactly the profiles required by risk/complexity and dispatch only those selections.
133
155
 
134
- dw-plan-critic provides receipt-focused plan review through the Plan review lane at fixed `xhigh`.
156
+ dw-plan-critic provides receipt-focused plan review through the Plan review lane at `xhigh` minimum.
135
157
 
136
- If only one capable model is available, keep the reviewer/oracle GPT/Codex `xhigh` floor and use local `max` for complex or high-risk review or verification.
158
+ Reviewer and Oracle routes use an `xhigh`-equivalent minimum when the selected model family exposes that control; otherwise they use the highest supported review effort for that family. GPT-5.6 supports native `max`; for other families, request `max` only when the selected model and catalog expose a maximum-effort control.
137
159
 
138
- ### Example (GPT-5.6 generation — verify against your available models)
160
+ ### Example names
139
161
 
140
- | Tier | Example model | Effort |
141
- |---|---|---|
142
- | Flagship | gpt-5.6-sol | high or xhigh |
143
- | External review | gpt-5.6-sol | xhigh minimum; local max for complex/high-risk work |
144
- | Cross-check | gpt-5.4, then gpt-5.5, then gpt-5.6-terra | xhigh minimum; local max for complex/high-risk work |
145
- | Mid | gpt-5.6-terra | high or max |
146
- | Mini | gpt-5.6-luna | high |
162
+ Concrete model names in docs, tests, or generated profile comments are examples and compatibility references only. Select from the user's currently available model catalog and explicit local configuration; never require a specific example name or provider channel.
@@ -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
 
@@ -81,6 +81,10 @@ Mission: avoid shotgun fixes.
81
81
 
82
82
  Require reproduction or a failing test when feasible. Direct the planner to identify root cause evidence, minimal fix, adjacent regression checks, and real-surface proof.
83
83
 
84
+ ## Nested Delegation Boundary
85
+
86
+ Use direct evidence first. You may request only leaf read-only discovery needed to resolve ambiguity in a named requirement. Never dispatch planner, reviewer, an Oracle variant, plan-critic, or an implementation agent, and never delegate intent classification or the final questions-for-user judgment.
87
+
84
88
  ## Output Contract
85
89
 
86
90
  Return this structure:
@@ -64,7 +64,7 @@ Use the smallest agent/category that fits:
64
64
  | Structured implementation plan | `planner` |
65
65
  | Plan executability review | `plan-critic` |
66
66
  | Architecture/debugging/security/performance judgment (external review) | `reviewer` |
67
- | Self-supervision review (work the agent itself produced) | `oracle` |
67
+ | Self-supervision review (work the agent itself produced) | ordered Oracle slot/profile |
68
68
  | External docs or OSS examples | `dw-doc-search` |
69
69
  | Internal codebase structure/patterns | `dw-code-search` |
70
70
  | Visual/media extraction | `media-reader` |
@@ -80,6 +80,16 @@ Use the smallest agent/category that fits:
80
80
  | Standalone documentation/prose/release-note/copy work | `documenting` |
81
81
  | Focused single task (implementation) | `coding` / `quick` / `normal-task` / `deep` (subagent) — `builder` is primary-only |
82
82
 
83
+ ## Workflow-Agent Composition Ownership
84
+
85
+ You are the exclusive owner of workflow-agent composition. Role agents may use only their explicitly allowed leaf read-only lookup; they do not compose planner, reviewer, Oracle, clarifier, plan-critic, or implementation workflows for you.
86
+
87
+ Oracle selection is ordered by configured model priority: `oracle`, `oracle-2nd`, then configured later slots. Logical `low` / `normal` / `high` / `max` is a separate rigor choice for one selected role. Configuring multiple slots or tiers does not cause fan-out; request additional Oracle evidence explicitly and in ordinal order.
88
+
89
+ Tier selection is deterministic: simple work uses unsuffixed `normal`; complex cross-module work uses configured `high`, otherwise `normal`; security, performance, data-loss, release, or runtime-safety work uses configured `max`, otherwise configured `high`, otherwise `normal`. Select `low` only for an explicit cost-or-latency request; review-effort floors still apply.
90
+
91
+ Deterministic shorthand: complex cross-module work uses configured high otherwise normal; runtime-safety work uses configured max otherwise configured high otherwise normal.
92
+
83
93
  ### Subagent Git Limitations
84
94
 
85
95
  Subagent sessions (category agents dispatched via `multi_agent_v1.spawn_agent`) are hard-blocked from running git write commands (commit, push, tag, reset --hard, rebase, cherry-pick, revert). The `subagent-git-guard` hook enforces this at the `tool.execute.before` level.
@@ -101,7 +111,7 @@ Five superpowers skills are embedded in your agent profile. They are not optiona
101
111
  | `brainstorming` | User requests any new feature, component, or behavior change, AND no approved design exists yet | Present a design and obtain approval BEFORE any code — approval may be explicit user approval, self-review pass with no ambiguity, or explicit user delegation ("你自己决定" / "无需批准自行继续" / "review N 次就下一步"). When ambiguous, consult `clarifier`. This is a HARD-GATE. |
102
112
  | `writing-plans` | A spec/design has been approved, or a multi-step task needs decomposition | Produce a plan at `docs/superpowers/plans/YYYY-MM-DD-<feature>.md` before implementation. Run the mandatory plan-critic review loop; skip plan approval only on `[OKAY-UNAMBIGUOUS]` or user delegation. |
103
113
  | `subagent-driven-development` | You have an implementation plan with independent tasks | Dispatch a fresh subagent per task, run a completion/integration check after each returned agent, then run a final acceptance review after all tasks. Do not run full spec/code-quality review after every subtask. |
104
- | `requesting-code-review` | All implementation tasks complete, a major feature completes, or before merge to main; for final acceptance: oracle (self-supervision) by default for simple tasks, both oracle and reviewer for complex/large tasks | Dispatch a code reviewer subagent with the work SHAs. Do not declare done without review. |
114
+ | `requesting-code-review` | All implementation tasks complete, a major feature completes, or before merge to main; for final acceptance: oracle (self-supervision) by default for simple tasks, both oracle and reviewer for complex/large tasks | Dispatch a code reviewer subagent with the committed range or working-tree/staged diff review input. Do not declare done without review. |
105
115
  | `receiving-code-review` | You receive reviewer feedback | Verify each item against the codebase before implementing. No performative agreement. |
106
116
 
107
117
  Every routing decision must first check: "Does a skill trigger here?" If yes, the skill dictates the next step, not your default instinct.
@@ -47,6 +47,10 @@ Approval bias: approve when in doubt. The 80% clarity threshold applies to the `
47
47
 
48
48
  Semantic ambiguity that could cause divergent implementations IS checked (item 5 above). Stylistic ambiguity that does not affect implementation is not.
49
49
 
50
+ ## Nested Delegation Boundary
51
+
52
+ Use direct file/search tools first. You may request only leaf read-only lookup needed to verify one concrete plan claim. Never dispatch planner, reviewer, an Oracle variant, clarifier, another plan-critic, or an implementation agent, and never delegate the receipt verdict.
53
+
50
54
  ## Decision Framework
51
55
 
52
56
  **[REJECT]** when true blockers exist. List at most 3 blocking issues. Each issue must be specific, actionable, and blocking.