Skip to content

fix(review): stop tool-free cross-model reviews when Claude invokes advisor #158

Description

@BaseInfinity

Problem

The Opus 4.8 xhigh fallback reviewer twice violated the intended tool-free review boundary. The runner launched Claude with --safe-mode --tools "" --disable-slash-commands --strict-mcp-config, but Claude still emitted a server_tool_use event for the built-in advisor tool.

Both attempts then consumed the full 600-second wall timeout instead of returning the required structured code-review verdict. The second attempt spent roughly 39k thinking tokens before requesting advisor.

This is reviewer infrastructure failure, not a finding on the frozen #109 candidate. The candidate did not change, its canonical proof remained 11/11, and no review receipt was created.

Related: #109, #137, #143.

Evidence

  • Reproduced twice on the same frozen staged tree.
  • Sol High completed normally.
  • Claude stream emitted server_tool_use with name: advisor despite the declared tool-free CLI flags.
  • Runner correctly ended TIMED_OUT, exit 2, with no certification.
  • Current log: .git/worktrees/codex-sdlc-issue109-v4/codex-sdlc/review-logs/1786937693307-915130665ff2/cross-model-initial-attempt-1.log.
  • Local claude --help documents --tools "" as disabling all tools; official CLI docs also expose allow/deny tool controls.

Acceptance criteria

  • Add a focused RED regression that feeds a Claude stream containing server_tool_use: advisor.
  • A tool-free cross-model reviewer must reject any tool-use event immediately; it must not wait for the wall timeout.
  • Classify the attempt truthfully as reviewer infrastructure/invalid execution, never CLEAN/CERTIFIED.
  • Terminate and clean the full reviewer process tree.
  • Retain the structured failure summary and bound log.
  • Do not invalidate or rerun an unchanged candidate's ordinary proof solely because reviewer infrastructure failed.
  • Keep the Opus 4.8 xhigh subscription fallback available; do not silently downgrade or fabricate a receipt.
  • Focused tests and canonical proof pass before merge.

Non-goals

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority: P0Stop-the-line critical path; work before lower-priority roadmap items

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions