Repository navigation
[Phase 1] Extend the model-ab.yml liveness probe: headroom probe, effort levels and the real triage engine path for any candidate #2105
Copy link
Copy link
Closed
Labels
initiativeEpic / initiative tracking issueEpic / initiative tracking issue
Description
Story
As a maintainer onboarding a new triage-tier model,
I want the candidate's liveness proven through the real engine path, the headroom probe, and the effort levels triage might use,
so that CLI or API differences (adaptive thinking, rejected parameters, new content blocks) surface before a swap rather than on live PRs, as the Opus 5.5 deep tier did in #1957.
Acceptance Criteria
- The
Liveness & effort probestep in.github/workflows/model-ab.ymlalso sends the headroom probe's rawmax_tokens:1Messages request (the same requestscripts/engine.shsends) to the candidate and records whether it returns 2xx withx-ratelimit-*-tokensheaders. - The probe records separately whether
--effort lowand--effort mediumare accepted by the candidate, as well as the existing--effort high. - The probe runs one triage prompt through
run_triagewithCLAUDE_TRIAGE_MODEL_CHAIN=<candidate>and records whether the result parses as triage JSON. This covers thinking or other new content blocks in the output path. - All new results appear in the step summary table. Every probe stays bounded by the existing
PROBE_TIMEOUT_SECS/--kill-afterbudget. - No model id is hard-coded in the new steps. They use the
candidateinput, so the probe is reusable by the onboarding pipeline.
Tasks / Subtasks
- Add the headroom probe check (AC: test issue from agent #1, Optimize review: small-PR and incremental fast paths #4, feat: add Copilot engine support via REVIEW_ENGINE toggle #5)
- Add low/medium effort acceptance checks (AC: Go-live improvements for PR review agent #2, Optimize review: small-PR and incremental fast paths #4, feat: add Copilot engine support via REVIEW_ENGINE toggle #5)
- Add the real-engine triage parse check (AC: Add @claude delegation, auto-merge, and rebase handling #3, Optimize review: small-PR and incremental fast paths #4, feat: add Copilot engine support via REVIEW_ENGINE toggle #5)
Dev Notes
- Workflow class: org-private automation, not a thin caller stub. Any new third-party action must be SHA-pinned via the GitHub API, never guessed (AGENTS.md).
- The headroom probe is in
scripts/engine.sh(the curl to/v1/messageswithmax_tokens:1against the first triage-chain model). Haiku 5.5 has adaptive thinking on by default, so confirm this still returns 200. - Haiku 5.5 rejects
temperature!=1,top_kand assistant prefill with 400 (migration guide via the research pass). The engine path must not send them. Record any 400 as FAIL. - Testing: keep the probe's pass/fail parsing in a shell function covered by bats where practical. Run
shellcheckon extracted scripts. The live run itself is the evidence story.
Project Structure Notes
Extends the existing probe step rather than adding a new workflow.
References
- .github/workflows/model-ab.yml
- scripts/evals/model-ab-dispatch.sh
- scripts/engine.sh
- tests/test_model_ab_dispatch.bats
- AGENTS.md
- issue [Phase 2 blocker] Deep-tier reviews fail on v1-next: invalid claude-sonnet-5-0 ID (404), stale cached Claude Code CLI 2.1.138, and a rate-limit regex that hides every Claude error #1957
Likely target surface
.github/workflows/model-ab.yml
Story prepared by the BMAD Scrum Master (Bob) for epic #2101. Status: ready-for-dev.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
initiativeEpic / initiative tracking issueEpic / initiative tracking issue
Activity
github-actions commentedon Oct 9, 2026
Superseded by the re-planned initiative epic #2113 (re-planned from idea discussion #2095).