Skip to content

Add single-critic bounce arms H and I - #58

Merged
alanshurafa merged 1 commit into
masterfrom
claude/swebench-poc-arms-hi
Sep 2, 2026
Merged

Add single-critic bounce arms H and I#58
alanshurafa merged 1 commit into
masterfrom
claude/swebench-poc-arms-hi

Conversation

@alanshurafa

Copy link
Copy Markdown
Owner

Condition C runs Fable's patch past a three-model panel (Codex, GLM, Kimi) before
Fable repairs it. If C beats B, the result is unattributable: the gain could come
from the panel as a whole or from any one critic in it. H and I isolate one
critic each — GLM for H, Kimi for I — so C becomes readable.

Id Label Phases Fable calls
H fable-glm-bounce fable-implement, glm-critique, fable-repair 2
I fable-kimi-bounce fable-implement, kimi-critique, fable-repair 2

Both are tier agentic because Fable implements and repairs with file tools and
test runs. Their critics are single-shot: GLM and Kimi read the candidate patch
out of the prompt and answer once, with no file access. The conditions table and
the README both say so.

Supporting changes

  • code_write_repair_prompt replaces the inlined three-reviewer prompt builder,
    so the same code serves a panel of three and a panel of one. Reviews stay
    anonymous and numbered.
  • The critique dispatch walks an ordered critics roster. That one string drives
    the dispatch loop, the repair prompt, the dry-run plan, and run-manifest.json,
    so an arm cannot declare one panel and run another.
  • run-canary.sh gains --task for naming a single instance, and routes each
    cell by its declared tier. Naming F or G in --conditions previously sent a
    single-shot condition into the agentic driver, which refuses it — the arms had
    to be run by hand. The routing reads the tier, so a future single-shot arm
    routes itself.
  • A swebench-verified-poc suite pins one task (pallets__flask-5014). A
    proof-of-concept run against the 5-task canary would render as "1 / 5"; against
    this suite the denominator matches what actually ran.

Verification

bash tests/run-all.sh --jobs 4: 42/42 suites passed in 821s.
test-code-bench.sh goes from 29 to 37 assertions, covering the H and I phase
plans and rosters, C's roster, the repair prompt's reviewer sections and its
refusal of an empty review list, --task validation, and that all nine arms on
one task fit a ten-dispatch Fable cap.

🤖 Generated with Claude Code

C runs a three-model panel, so a win over B cannot be attributed: it could be
the panel, or it could be any one critic in it. H (GLM) and I (Kimi) isolate one
critic each, which makes C's result readable.

The C repair prompt is generalized to take N reviews instead of exactly three,
and the critique dispatch now walks an ordered roster shared by the manifest and
the dry-run plan, so an arm cannot declare one panel and run another.

The canary runner gains --task, and routes a cell by its declared tier instead
of assuming every condition is agentic -- F and G previously died in the agentic
driver when named in --conditions. Adds a one-task POC suite so a proof-of-
concept run reports against a denominator of one rather than of five.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T20:45:52.227963Z a83c900 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a83c900e02

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

TASK=""
MAX_CLAUDE=""
DRY_RUN=false
SUITE=$(code_suite_id)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Select the POC suite for named POC runs

When the planned run-canary --task pallets__flask-5014 command is used without CODE_BENCH_SUITE, this still selects the five-task canary, so the newly added one-task POC suite is never used and downstream validation/site rendering retains a five-task denominator. Add a --suite option (and use it in the POC invocation) or otherwise select swebench-verified-poc; merely naming a task does not change the suite.

Useful? React with 👍 / 👎.

Comment on lines +39 to +42
if [[ -n "$TASK" ]]; then
jq -e --arg id "$TASK" 'any(.instances[]; .instance_id == $id)' "$subset" >/dev/null \
|| { code_die "task is outside suite $SUITE: $TASK"; exit 1; }
TASK_LIMIT=1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reuse prepared cells for named-task retries

When --task is used to retry a provider failure with the same run ID, this block only restricts task selection; the loop still calls prepare-swebench-instance.sh, whose existing-cell guard exits immediately. A partial nine-arm run therefore cannot be resumed with the documented same command and instead reruns already completed, billable cells under a new ID; reuse existing inputs and pass --resume to the workflow, or skip completed cells.

AGENTS.md reference: AGENTS.md:L44-L44

Useful? React with 👍 / 👎.

@alanshurafa
alanshurafa merged commit b5a7abb into master Sep 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant