Skip to content

Admit codex-cli 0.151.0 - #394

Merged
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-08-30-schickling-2026-08-30-codex-151
Aug 30, 2026
Merged

Admit codex-cli 0.151.0#394
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-08-30-schickling-2026-08-30-codex-151

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Problem

st2's fail-closed native Codex driver rejects the installed codex-cli 0.151.0 before app-server initialization because the exact protocol allowlist stops at 0.147.0.

Goal

Admit exactly codex-cli 0.151.0 after source and live-wire verification, while keeping later versions rejected until independently proven.

Decisions

  • Keep the exact string allowlist; no semver range or compatibility fallback.
  • Re-pin context arithmetic to the 0.151.0 source tag after verifying the 12,000-token baseline is unchanged.
  • Preserve the existing loose handling of additive notifications and update the ThreadItem note from 18 to 19 variants.
  • Record only the live receipt path actually observed: the initial native turn completed, and restart reconciliation accepted the matching clientId from typed thread/resume history. The live item/completed notification did not independently advance the persisted receipt before restart.

Verification

  • cargo test -p st2 --lib codex_app_server::tests::protocol_version_gate_accepts_only_the_exact_allowlist -- --exact: 1 passed.
  • cargo test -p st2 --lib codex_app_server::tests::codex_context_recomputes_the_captured_reading_and_pins_its_verified_version -- --exact: 1 passed.
  • Installed codex --version: codex-cli 0.151.0.
  • Real native driver proof: exact version gate passed; control reached controlInitialized; a fresh thread bound; st2 submitted a native turn/start; Codex completed the turn; a deliberate driver restart reached tuiThreadLoaded/threadBound, subscribed via thread/resume, found the matching typed-history clientId, and persisted delivery phase accepted. The account had quota and both model turns completed.

Complexity

No new abstraction or dependency; this is an exact admission plus evidence/test/documentation updates.

Concerns

The live item/completed notification did not independently move the receipt from attempted before restart. Durable thread/resume reconciliation did move it to accepted, so the proven receipt path is restart-backed rather than notification-backed.

PR #386 overlaps this file and proposes replacing the exact gate with generated schema checks. This PR intentionally retains the current fail-closed exact admission policy; merge order will require an explicit policy choice.

Friction & bottlenecks

The default Codex app-server control path is a symlink in this environment, while Codex requires the path itself to be a directory. The live proof used the already-resolved account home; no repository workaround was added. No measurable bottleneck was encountered.

Follow-ups

  • Determine why the live typed item/completed notification did not independently advance the receipt; this does not block the proven durable resume-reconciliation path.

References

Refs #267
Related: #386

Posted on behalf of @schickling
field value
agent_identity dev3.direct.omp.jmg9x29x
session dev3.jmg9x29x
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.0.11
agent_runtime OMP 18.0.11
tooling_profile dotfiles@2161b9c

agent-identity: dev3.direct.omp.jmg9x29x
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.0.11
agent-runtime: OMP 18.0.11
tooling-profile: dotfiles@2161b9c
@schickling-assistant schickling-assistant added type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual area:driver Harness drivers: launch, MCP, app-server, native delivery · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual harness:codex Codex-specific behavior · Set: manual labels Aug 30, 2026
@schickling-assistant
schickling-assistant marked this pull request as ready for review August 30, 2026 20:03
@schickling-assistant
schickling-assistant merged commit af9e20c into main Aug 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:driver Harness drivers: launch, MCP, app-server, native delivery · Set: manual harness:codex Codex-specific behavior · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant