[codex] Prefer latest Codex verifier models - #1899
Conversation
Automated Status SummaryHead SHA: 40f11b6
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeSync/Dependabot Campaign QueueRemote GitHub Actions owns discovery for sync-generated and Dependabot PR rounds. Local Codex should only claim items from this issue when SummaryContext for AgentRelated Issues/PRs
Tasks
Acceptance criteria
|
🤖 Keepalive Loop StatusPR #1899 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
Keepalive Work Log (click to expand)
|
There was a problem hiding this comment.
Pull request overview
Updates the Codex-based verifier workflow to prefer newer default models and add runtime fallback behavior, while ensuring terminal-disposition metadata reflects the model actually used.
Changes:
- Bumped the default Codex verifier model and introduced an ordered fallback list.
- Added a retry loop in the verifier run step to fall back when a model appears unavailable.
- Updated terminal-disposition collection/writing to prefer the runtime-selected model outputs, with test updates to match.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/reusable-agents-verifier.yml |
Switches default model to gpt-5.5, adds fallback candidates + runtime retry loop, and records the selected model/reason for terminal disposition. |
tests/workflows/test_verifier_terminal_disposition.py |
Updates assertions to reflect new default/fallback model env vars and runtime-selected model outputs. |
| fi | ||
|
|
||
| if [ "$attempt" -lt "$model_count" ] && | ||
| grep -Eiq "model.*(not supported|not available|unsupported|unavailable)|not compatible" \ |
There was a problem hiding this comment.
The fallback detection grep pattern treats any occurrence of "not compatible" as a model-unavailable signal, even when the message isn't about the model (e.g., sandbox/config incompatibility). This can incorrectly trigger model fallback and mask the real failure. Consider tightening the regex to only match model-availability errors that clearly reference the model (e.g., patterns that include both "model" and "not compatible" / "unsupported"), or match Codex CLI’s specific error strings.
| grep -Eiq "model.*(not supported|not available|unsupported|unavailable)|not compatible" \ | |
| grep -Eiq "(model.*(not supported|not available|unsupported|unavailable|not compatible))|((not supported|not available|unsupported|unavailable|not compatible).*model)" \ |
Related to campaign issue #1836
Automated Status Summary
Scope
Sync/Dependabot Campaign Queue
Remote GitHub Actions owns discovery for sync-generated and Dependabot PR rounds. Local Codex should only claim items from this issue when
needs-local-codexwork is queued.Summary
Context for Agent
Related Issues/PRs
Tasks
Acceptance criteria
Head SHA: c8df7aa
Latest Runs: ❔ in progress — Gate
Required: gate: ❔ in progress