Skip to content

chore(cli-version): verify codex against 0.149.1 - #932

Merged
kaizhou-lab merged 1 commit into
mainfrom
chore/bump-codex-01491
Aug 24, 2026
Merged

chore(cli-version): verify codex against 0.149.1#932
kaizhou-lab merged 1 commit into
mainfrom
chore/bump-codex-01491

Conversation

@kaizhou-lab

Copy link
Copy Markdown
Contributor

Moves VERIFIED_CODEX_VERSION from 0.149.0 to 0.149.1.

Gate Result
A — contract PASS — 401 → 401 schema files, +0 -0 ~0 after canonicalization; no method, no enum value touched
B — live e2e PASS 11/11, 321.63s
C — release notes CLEAR — but the release body is empty, so the range was triaged from the compare instead (below)

Zero release notes is not a pass on its own

release_notes.py returned CLEAR (1 releases, 0 notes). The standing rule is that a gate which could not run is not a gate that passed, so the emptiness was checked rather than accepted. The release body is 105 characters — a heading and a compare link, no itemised notes. The compare is the content, so it was triaged from there: 5 commits, 23 files.

  • Allow exec callers to classify new threads (#40161)
  • Budget retained images during remote compaction (#40280)
  • Identify detached memory requests as memory consolidation (#40186)
  • Adapt image compaction backport for pre-annotation releases

Off our surface: everything under codex-rs/exec/ and sdk/typescript/. This repo spawns codex app-server --stdio and never codex exec (codex_conn.rs:66), so the exec CLI and SDK changes cannot reach us.

On our surface, and unmoved: the rest is core remote-compaction and context-manager work. Gate A is the check for that and it came back byte-identical — an internal compaction change that leaves the wire contract untouched is not observable from here.

A schema changed that gate A does not cover

codex-rs/core/config.schema.json was modified. That is the config-file schema, a different document from the app-server protocol schema gate A diffs, so it would have gone unexamined if the empty notes had been taken at face value. The change is purely additive:

             "collaboration_modes": { "type": "boolean" },
+            "compaction_image_budget": { "type": "boolean" },
             "computer_use": { "type": "boolean" },

One new boolean feature flag, in two places. Nothing removed or renamed, and we do not set it.

The candidate is proven from the suite log

direct CLI version detected session_id=26779425 cli=codex version=codex-cli 0.149.1
direct CLI version drift    session_id=26779425 cli=codex version=codex-cli 0.149.1

All 11 sessions report the candidate, each with a drift line that only appears because the binary disagrees with the not-yet-bumped constant.

Tests

Three pinned fixtures re-pointed above the new constant rather than loosened; the literal verified-release assertion now names codex-cli 0.149.1. cargo test -p aionui-session --lib cli_version: 14/14. Clippy clean, fmt clean.

Record: ~/aion/protocols/samples/codex-cli/0.149.1/

Constants and record only — no source change.

Gate A (contract): 401 -> 401 schema files, +0 -0 ~0 after canonicalization.
Nothing added, removed or reshaped in the app-server protocol -- what a patch
release should look like.

Gate B (live e2e): 11/11, 321.63s. All eleven sessions log
'cli=codex version=codex-cli 0.149.1' with a matching drift line, which only
appears because the binary disagrees with the constant that had not been bumped
yet. Run through a PATH shim; the operator's CLIs were untouched.

Gate C (release notes): CLEAR, but the release ships with an EMPTY body -- 105
characters, a heading and a compare link. Zero notes is not a pass on its own,
so the range was triaged from the compare instead: 5 commits, 23 files.
Everything under exec/ and sdk/typescript/ is off our surface because this repo
spawns 'app-server --stdio' and never 'codex exec' (codex_conn.rs:66). The core
changes are remote-compaction image budgeting, which gate A shows left the wire
contract byte-identical.

One schema DID change that gate A does not cover: core/config.schema.json, the
config-file schema rather than the protocol one. It gained a single boolean
feature flag, compaction_image_budget, in two places -- additive, and we do not
set it. It would have gone unexamined if the empty notes had been taken at face
value.

Record: ~/aion/protocols/samples/codex-cli/0.149.1/, including gate-c-notes.md
@kaizhou-lab
kaizhou-lab enabled auto-merge (squash) August 24, 2026 18:11
@kaizhou-lab
kaizhou-lab merged commit 6800a7f into main Aug 24, 2026
6 checks passed
@kaizhou-lab
kaizhou-lab deleted the chore/bump-codex-01491 branch August 24, 2026 18:31
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