diff --git a/skills/subagent-driven-development/scripts/review-package b/skills/subagent-driven-development/scripts/review-package index 26c9c985..a6432e2f 100755 --- a/skills/subagent-driven-development/scripts/review-package +++ b/skills/subagent-driven-development/scripts/review-package @@ -20,6 +20,8 @@ if [ "${1:-}" = "--role" ]; then shift 2 fi +# Model/effort values are mirrored in using-superpowers/references/codex-tools.md +# (they track Codex's spawn_agent allowlist) — update both together. case "$role" in task-review) hint_role=task-reviewer; hint_effort=high ;; re-review) hint_role=scoped-re-reviewer; hint_effort=medium ;; diff --git a/skills/subagent-driven-development/scripts/task-brief b/skills/subagent-driven-development/scripts/task-brief index e5cd4e88..814df8aa 100755 --- a/skills/subagent-driven-development/scripts/task-brief +++ b/skills/subagent-driven-development/scripts/task-brief @@ -42,4 +42,6 @@ echo "wrote ${out}: $(wc -l < "$out" | tr -d ' ') lines" # The dispatch hint rides this output because the controller reads it # immediately before spawning the implementer; skill text loaded at session # start does not survive context compaction, but this line reprints per task. +# Model/effort values are mirrored in using-superpowers/references/codex-tools.md +# (they track Codex's spawn_agent allowlist) — update both together. echo "dispatch (codex spawn_agent): role=implementer fork_turns=none model=gpt-5.6-terra reasoning_effort=high" diff --git a/skills/using-superpowers/references/codex-tools.md b/skills/using-superpowers/references/codex-tools.md index f7126e26..15fca4bd 100644 --- a/skills/using-superpowers/references/codex-tools.md +++ b/skills/using-superpowers/references/codex-tools.md @@ -21,29 +21,28 @@ model and effort overrides. Never omit the parameter, and never pass Before Task 1, check your `spawn_agent` tool schema for `model` and `reasoning_effort` parameters (present on Codex 0.145+). -**If the parameters exist**, set both explicitly on every dispatch: +**If the parameters exist**, set both explicitly on every dispatch. The +task-brief and review-package scripts print the exact values for each +dispatch as a `dispatch (codex spawn_agent):` line with their output — +copy that line's values onto the spawn_agent call verbatim, every time, +even late in a long session. The mapping they print: every SDD seat runs +`gpt-5.6-terra` — implementers and reviewers at `reasoning_effort: high`, +scoped re-reviews at `medium`. On Codex this mapping IS the Model +Selection section — including the final review, which stays on +terra/high rather than "most capable available." Never give a subagent +your session's model when you run a frontier config (sol at xhigh or +max): reviewer tier never exceeds implementer tier, and a fix round +never gets an effort bump. Rounds 4-5's "more capable model" means a +fresh implementer at the same tier; a task that genuinely needs more +than terra/high is a BLOCKED escalation to your human partner, not a +quiet tier climb. Inherited frontier-tier subagents are a measured cause +of SDD runs spinning out for hours: review seats that inherit a frontier +model at maximum effort find real-but-endless defects every round, and +fix diffs balloon instead of converging. -| Role | model | reasoning_effort | -|------|-------|------------------| -| Implementer (all rounds) | `gpt-5.6-terra` | `high` | -| Task reviewer | `gpt-5.6-terra` | `high` | -| Scoped re-review | `gpt-5.6-terra` | `medium` | -| Final whole-branch review | `gpt-5.6-terra` | `high` | - -On Codex this table IS the Model Selection mapping — including the final -review, which stays on terra/high rather than "most capable available." -The task-brief and review-package scripts reprint the applicable row as a -`dispatch (codex spawn_agent):` line with their output — copy those values -onto the spawn_agent call verbatim, every time, even late in a long session. -Never give a subagent your session's model when you run a frontier config -(sol at xhigh or max): reviewer tier never exceeds implementer tier, and -a fix round never gets an effort bump. Rounds 4-5's "more capable model" -means a fresh implementer at the same tier; a task that genuinely needs -more than terra/high is a BLOCKED escalation to your human partner, not -a quiet tier climb. Frontier-tier subagents at inherited effort are the -measured top driver of Codex SDD runs spinning out to 8+ hours -(PRI-2672): review seats that inherited sol found real-but-endless -defects every round, and fix diffs ballooned instead of converging. +The model names here track Codex's `spawn_agent` allowlist (currently +`gpt-5.6-sol` and `gpt-5.6-terra`). When the allowlist changes, update +this file and the hint lines in task-brief and review-package together. **If the parameters do not exist** (Codex 0.144 and earlier), every child inherits your session's model and effort and no override is possible —