Skip to content

fix(codex): strip openai/ provider prefix from Codex model identifiers - #60423

Merged
pelikhan merged 2 commits into
mainfrom
copilot/aw-systemic-fix-model-not-supported-error
Sep 12, 2026
Merged

fix(codex): strip openai/ provider prefix from Codex model identifiers#60423
pelikhan merged 2 commits into
mainfrom
copilot/aw-systemic-fix-model-not-supported-error

Conversation

Copilot AI commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

engine: codex workflows declaring model: openai/gpt-5.3-codex failed daily with model_not_supported_error and produced no safe outputs. codexModelID only stripped the copilot/ prefix, so the provider-scoped name was forwarded verbatim to the Codex CLI:

# compiled lock file, before
GH_AW_MODEL_AGENT_CODEX: openai/gpt-5.3-codex
codex exec --model "openai/gpt-5.3-codex"   # OpenAI has no such model → model_not_supported_error

Changes

  • pkg/workflow/codex_engine.gocodexModelID now strips openai/ alongside copilot/ (case-insensitive), so both providers resolve to the bare name (gpt-5.3-codex). Unrecognized prefixes are left untouched rather than blindly splitting on /.
  • pkg/workflow/codex_engine_test.go — extended TestCodexModelID with openai/, mixed-case OpenAI/, and a non-matching-provider case.
  • Lock filesmake recompile updated 38 workflows; the diff is exclusively GH_AW_MODEL_{AGENT,DETECTION,EVALS}_CODEX values losing the prefix. Detection and evals phases share the same env builder, so all three phases were affected.
  • Changeset added.

Scope note

The issue also lists workflows on copilot/gpt-5.3-codex (Metrics Collector, PureLock, Daily Evals Feature Report). Those already compiled to a correct bare model name over the Copilot BYOK path, so their failures point at the org/account policy hypothesis rather than a compiler defect — they are intentionally not downgraded to gpt-5.2-codex here, since that cannot be verified from CI and would be a speculative behavior change. Policy verification and a day-over-day failure-rate guard remain open follow-ups.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix model not supported error in codex engine fix(codex): strip openai/ provider prefix from Codex model identifiers Sep 12, 2026
Copilot AI requested a review from pelikhan September 12, 2026 15:02
@pelikhan
pelikhan marked this pull request as ready for review September 12, 2026 15:03
Copilot AI balanced review requested due to automatic review settings September 12, 2026 15:03
@pelikhan
pelikhan merged commit b2e3ceb into main Sep 12, 2026
@pelikhan
pelikhan deleted the copilot/aw-systemic-fix-model-not-supported-error branch September 12, 2026 15:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The normalization is narrowly scoped, adequately tested, and consistently reflected in generated workflows.

Pull request overview

This PR fixes Codex workflows by passing bare OpenAI model identifiers to the Codex CLI.

Changes:

  • Strips recognized openai/ and copilot/ prefixes.
  • Adds case-insensitive unit coverage.
  • Regenerates 38 workflow lock files and adds a patch changeset.
File summaries
File Description
pkg/workflow/codex_engine.go Normalizes Codex model IDs.
pkg/workflow/codex_engine_test.go Tests recognized and unknown prefixes.
.changeset/codex-openai-model-prefix.md Documents the patch.
.github/workflows/update-astro.lock.yml Regenerates bare Codex model values.
.github/workflows/spec-enforcer.lock.yml Regenerates bare Codex model values.
.github/workflows/schema-consistency-checker.lock.yml Regenerates bare Codex model values.
.github/workflows/repo-audit-analyzer.lock.yml Regenerates bare Codex model values.
.github/workflows/poem-bot.lock.yml Regenerates bare Codex model values.
.github/workflows/notion-issue-summary.lock.yml Regenerates bare Codex model values.
.github/workflows/lint-monster.lock.yml Regenerates bare Codex model values.
.github/workflows/issue-arborist.lock.yml Regenerates bare Codex model values.
.github/workflows/gpclean.lock.yml Regenerates bare Codex model values.
.github/workflows/functional-pragmatist.lock.yml Regenerates bare Codex model values.
.github/workflows/example-permissions-warning.lock.yml Regenerates bare Codex model values.
.github/workflows/example-failure-category-filter.lock.yml Regenerates bare Codex model values.
.github/workflows/eslint-monster.lock.yml Regenerates bare Codex model values.
.github/workflows/designer-drift-audit.lock.yml Regenerates bare Codex model values.
.github/workflows/dependabot-go-checker.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-spending-forecast.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-semgrep-scan.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-regulatory.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-fact.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-documentation-diagram.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-doc-updater.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-cli-tools-tester.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-cli-performance.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-cache-strategy-analyzer.lock.yml Regenerates bare Codex model values.
.github/workflows/daily-awf-spec-compiler-surfacing.lock.yml Regenerates bare Codex model values.
.github/workflows/commit-changes-analyzer.lock.yml Regenerates bare Codex model values.
.github/workflows/cloclo.lock.yml Regenerates bare Codex model values.
.github/workflows/chaos-pr-bundle-fuzzer.lock.yml Regenerates bare Codex model values.
.github/workflows/changeset.lock.yml Regenerates bare Codex model values.
.github/workflows/bot-detection.lock.yml Regenerates bare Codex model values.
.github/workflows/avenger.lock.yml Regenerates bare Codex model values.
.github/workflows/auto-triage-issues.lock.yml Regenerates bare Codex model values.
.github/workflows/audit-workflows.lock.yml Regenerates bare Codex model values.
.github/workflows/artifacts-summary.lock.yml Regenerates bare Codex model values.
.github/workflows/agentic-token-trend-audit.lock.yml Regenerates bare Codex model values.
.github/workflows/agent-persona-explorer.lock.yml Regenerates bare Codex model values.
.github/workflows/ace-editor.lock.yml Regenerates bare Codex model values.
.github/workflows/ab-testing-advisor.lock.yml Regenerates bare Codex model values.
Review details
  • Files reviewed: 41/41 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.89.9

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.

[aw] Systemic: codex engine + gpt-5.3-codex recurring model_not_supported_error across 12+ workflows

3 participants