Skip to content

fix(review): dispatch fanout's Codex surface through a path the model may run #12495

Closed

Description

@kyle-sexton

Problem

/review:fanout names /codex:review --wait --base <review-base> as its cross-vendor orchestrator (plugins/review/skills/fanout/SKILL.md:165). The installed Codex plugin, codex@openai-codex 1.0.6, marks every one of its commands disable-model-invocation: true (commands/review.md:4, and likewise adversarial-review.md, status.md, result.md, cancel.md, transfer.md), so the model cannot invoke them. A fanout run therefore never runs Codex; in #12151's pilot the run reported the surface as skipped while still listing it.

#12151 found this while measuring the Codex arms. Changing fanout was out of scope there, so its rule (3), "add /codex:review to the default sweep", is recorded as not measurable under codex 1.0.6 (owner decision, 2026-11-02).

Done when

  • Fanout dispatches Codex through a path the model may run, such as the Codex plugin's companion runtime script that its codex-cli-runtime skill documents, with the review base passed through, and reports Codex as skipped (never as ran) when the CLI or its login is absent.
  • A test or eval case shows a run with no Codex CLI reports the surface as skipped, and a run with it lists Codex findings.
  • test(review): run the fanout reviewer-diversity eval and post its probe result #12151's X-arm cases are rerun once this lands, or a follow-up issue records why not.

Parent: #7584

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  2. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    I understand /review:fanout names /codex:review, which codex 1.0.6 marks disable-model-invocation: true. Fanout therefore never runs Codex. The fix is to dispatch Codex through a path the model may run, such as the companion runtime script. That path must pass the review base through and report Codex as skipped when the CLI or its login is missing. You also want a test or eval case covering both the absent and present cases, and a rerun of #12151's X-arm cases afterward.

    Reading the Codex plugin's runtime documentation should settle the exact invocation. The rerun in the third item is checkable once the change lands.

    No duplicates found. #12504 depends on this work, so this issue doesn't wait on it.

    Automated triage, applied by the lanes App.

  3. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 2, 2026
  5. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 2, 2026
  6. 3 remaining items

  7. kyle-sexton commented on Nov 2, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  8. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    The lanes App's pull request #12514 merged with Refs:, so this issue stays open and nothing starts the lane on it again. work-unblock removed status: ready and agent-ready, so the hourly triage sweep sends it back to intake triage. Admission then parks it at status: confirmed for a check of what that pull request left, until a **Decision recorded.** comment says what is left or someone closes it.

  9. removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 2, 2026
  10. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor

    The triage sweep dispatched intake triage for this issue (attempt 1 of 2).

  11. added
    status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Nov 2, 2026
  12. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane: merged pull request #12514 names it with Refs: after its newest decision or refinement comment, so its work may already be done: close the issue if it is, or post a comment whose first line is **Decision recorded.** saying what is left, which sends it back through intake. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).

  13. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    The latest triage verdict holds nothing: admission moved the issue to status: confirmed; its comment says why.

  14. kyle-sexton commented on Nov 3, 2026

    @kyle-sexton
    MemberAuthor

    Done when holds. (1) Fanout runs Codex through its companion runtime script with the review base passed through, and reports it skipped when the CLI or login is absent: #12514. (2) plugins/review/skills/fanout/scripts/codex-review.test.sh covers the no-CLI skip and the ran path; a real run also took the skip path (price-cents L+X index 0 printed codex: skipped (Codex CLI not logged in), and the arm check refused it). (3) #12151's X arms were rerun, 71 of 72 runs valid: #12151 (comment). #12587 adds the trace grader for codex: ran and states how the X arms run.

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

Metadata

Metadata

Assignees

Labels

priority: mediumReal value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Type

Fields

Work status

confirmed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions