Skip to content

release: v0.7.0 — remove CodexRuntime adapter#14

Merged
pofallon merged 1 commit into
mainfrom
remove/codex-adapter
May 19, 2026
Merged

release: v0.7.0 — remove CodexRuntime adapter#14
pofallon merged 1 commit into
mainfrom
remove/codex-adapter

Conversation

@pofallon

Copy link
Copy Markdown
Contributor

Summary

  • Removes CodexRuntime, CodexOptions, the [codex] pip extra (openai-codex-sdk>=0.1.11), examples/probe_codex.py, docs/adapters/codex.md, and the four Codex test modules — plus every cross-reference in src docstrings, per-adapter docs, README, and CLAUDE.md.
  • Breaking change for direct users of CodexRuntime or airframe-agents[codex]. Per pre-1.0 SemVer convention the minor is bumped: 0.6.3 → 0.7.0. CHANGELOG entry under ## [0.7.0] — 2026-05-19.
  • Reserves the \"codex\" provider ID for a possible future adapter wrapping the official openai-codex Python SDK once it leaves alpha. The ID is not re-usable for any other vendor.
  • This PR also bundles the previously-merged KimiRuntime additions (PR feat(kimi): KimiRuntime scaffolding (Iteration A) #11) into the same release section, so v0.7.0 is the combined Kimi-add + Codex-remove cut.

Why remove CodexRuntime?

Two things converged into the same root cause:

  1. Murky provenance of what we were wrapping. openai-codex-sdk on PyPI self-declares author: OpenAI but it does not live in OpenAI's official github.com/openai/codex repo, and it has fallen behind the Codex CLI's recent releases.
  2. The actually-official Python SDK is a different package and a different architecture. OpenAI ships openai-codex (currently v0.131.0a4 — still alpha) at github.com/openai/codex/sdk/python, structured as a JSON-RPC app-server v2 over stdio. Not a drop-in replacement. And — critically — neither Python package exposes client.models.list() (only the Node @openai/codex SDK does).

That made the post-v0.6.3 doctor false-negative Maverick hit — list_models() rejecting ChatGPT OAuth tokens against api.openai.com/v1/models — fundamentally unfixable from inside CodexRuntime.list_models() without hand-rolling more code on top of a package whose maintainership we can't verify. Wrapping uncertain-provenance code isn't earning its weight pre-1.0; cleaner to remove and revisit once the official openai-codex package stabilises.

Migration

Direct users of CodexRuntime should either:

  • pin airframe-agents<0.7, or
  • migrate to a still-supported adapter: ClaudeCodeRuntime, CopilotRuntime, BedrockRuntime, or an OpenAI-compat gateway (OpenCodeZenRuntime / OpenCodeGoRuntime / OpenRouterRuntime). Codex subscription holders can route through opencode adapters, which already accept the Codex provider on the opencode side.

Test plan

  • make ci green locally — 855 passed, 34 skipped after the scrub.
  • uv lock refreshed; openai-codex-sdk v0.1.11 no longer pinned.
  • No remaining CodexRuntime / CodexOptions / codex.py references in src, tests, docs, README, or CLAUDE.md (verified with grep).
  • CI green on the PR.
  • Manually verify post-merge release-on-tag workflow publishes 0.7.0 to PyPI.

🤖 Generated with Claude Code

Removes CodexRuntime, CodexOptions, the [codex] pip extra, the
openai-codex-sdk dependency, and every test/probe/doc reference.
The "codex" provider ID stays reserved for a future adapter
wrapping OpenAI's official openai-codex Python SDK once it leaves
alpha.

Why: openai-codex-sdk on PyPI (what we wrapped) has murky
provenance — it self-declares author "OpenAI" but isn't in
github.com/openai/codex, and it's fallen behind the Codex CLI.
The actually-official Python SDK is openai-codex (v0.131.0a4
alpha) with a different JSON-RPC architecture; neither package
exposes models.list(). That made the post-v0.6.3 doctor
false-negative (ChatGPT-OAuth tokens rejected by api.openai.com/
v1/models) fundamentally unfixable from inside the adapter.
Wrapping uncertain-provenance code isn't earning its weight
pre-1.0.

Migration: pin airframe-agents<0.7 or move to ClaudeCodeRuntime,
CopilotRuntime, BedrockRuntime, or an OpenAI-compat gateway
adapter (OpenCodeZen / OpenCodeGo / OpenRouter).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@pofallon pofallon merged commit 36bb0b0 into main May 19, 2026
4 checks passed
@pofallon pofallon deleted the remove/codex-adapter branch May 19, 2026 00:34
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