Skip to content

Outside-voice Claude-subagent fallback mislabeled as 'cross-model coverage' #2735

Description

@hui-zheng

Outside-voice Claude-subagent fallback is mislabeled as "cross-model coverage"

When Codex is absent, not authed, or fails at runtime, the plan-review skills (plan-eng-review, plan-devex-review, plan-ceo-review) fall back to dispatching a Claude subagent for the "outside voice" pass. The messaging around that fallback oversells it as independent/cross-model review, when it's actually the same model family reviewing itself (and under some configurations, a lighter member of that family):

  • not_installed status line: "Codex not installed — using Claude subagent. Install for cross-model coverage: npm install -g @openai/codex."
  • Fallback framing: "Dispatch via the Agent tool. The subagent has fresh context — genuine independence."
  • Summary bullet: "Outside Voice (optional): Independent plan review from a different AI model."

These lines appear (with identical wording) in:

  • plan-eng-review/sections/review-sections.md (~lines 376, 378, 435)
  • plan-devex-review/sections/review-sections.md (~lines 281, 340, 649)
  • plan-ceo-review/sections/review-sections.md (~lines 295, 354, 675)

A Claude subagent reviewing a Claude-authored plan is not "cross-model coverage" or "genuine independence" — it's same-family review. That's still useful (fresh context, no memory of the original plan's rationale), but the current copy actively misleads users into thinking they got outside-model verification when Codex wasn't available.

Suggested fix:

  1. Drop "cross-model coverage" from the not_installed/not_authed status lines — replace with something like "using a same-family Claude subagent (fresh context, not an outside model)."
  2. Print the resolved subagent's model in the fallback status line, so users can see exactly what ran (e.g. "using Claude subagent (model: )").
  3. Reword "genuine independence" → something like "fresh context, but same model family — not a substitute for Codex's outside view."
  4. Update the "Outside Voice" summary bullet to note the fallback is same-family, not cross-model, when Codex isn't available.

Happy to send a PR with the wording fix if useful — flagging here first since it's copy across 3 files and I wanted to check the preferred phrasing before touching all three.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions