diff --git a/docs/plans/2026-09-26-accept-codex-0157.md b/docs/plans/2026-09-26-accept-codex-0157.md new file mode 100644 index 000000000..6b4bf14c0 --- /dev/null +++ b/docs/plans/2026-09-26-accept-codex-0157.md @@ -0,0 +1,30 @@ +# Accept Codex 0.157.1 (#234, codex-headless#16), with its known gaps filed + +Size: short. This is a compatibility review; the only code change is the accepted version. + +## Evidence (verified 2026-09-26) +- **Release notes, 0.149.1 → 0.157.1** (19 releases), scanned for rollouts, session/resume, the TUI composer and footer, approvals/trust, the Responses stream, proxy and config: + - 0.157.0 #47096 keeps TUI hints "immediately above the composer". The 0.157.1 PTY recording (`codex-headless testing/fixtures/composer-0157/tall-draft-ctrlc.json`) still shows the idle `? for shortcuts` hint on the row under the status row, which is what the composer classifier reads. + - 0.157.0 #47113 persists thread-creator identity in rollouts, and 0.153 #41912 persists token usage. Both are checked in the corpus below. + - 0.152/0.153 add rollout compression for shared lineages. None of the 1,850 files on disk is compressed. +- **Rollout corpus** (`~/.codex/sessions`, read line by line). The counts are a 2026-09-26 snapshot; the corpus grows while agents run (the reviewers counted 2,396–2,407 files, 219–233 of them 0.157.x). Record and payload types per minor version: + - The only top-level type in 0.150–0.157 not seen in 0.144–0.149 is `token_usage_record` (from 0.153). It is opaque to the parser's classifier: agent-transcript-parser#38. + - 0.157 writes no `event_msg:user_message`/`agent_message`. The prompt is a role-user `response_item` plus `event_msg:item_completed` (`UserMessage`). Fresh-rollout ownership (`codex-headless FreshRolloutClaim`) matches every durable user observation, including `response_item`, so it still finds the prompt. +- **Known gaps found in review.** Each was filed; all but #1289 are confirmed inherited from the already-accepted 0.149.1. **Status on 2026-09-27:** #1362, #1363 and #1289 are closed (#1363 by #1407). The two surviving prompt-extraction mutations from round-2 review b (the transcript reader's role-user `response_item`, and `foldCodexRecord`'s `response_item` branch) are both KILLED on origin/main `6dd23a49`. Disabling either fails a test there (16 transcript-reader tests; "lists prompts for a sampled rollout newest first"), so no new issue is needed: + - codex-headless#59: `listCodexSessions` summaries show the injected AGENTS/environment block (Agent Code's picker reads Codex's own index and is unaffected); + - codex-headless#62: the semantic tool lifecycle ignores `item_completed` (`CommandExecution`/`McpToolCall`), the only tool form since 0.149; + - #1362: `read_agent_transcript` drops `custom_tool_call` exec commands; + - #1363: the conversation source's no-index fallback reads only `event_msg:user_message`, so 0.157 prompts are lost when `state_N.sqlite` is unusable; + - #1289 (existing): 0.157 `compacted` payloads have no `type` and never render a compaction boundary; + - codex-headless#60: the recorded rollout-ownership tests run past 5 s under load. +- **Screen:** 0.157.0 and 0.157.1 raw PTY recordings pin the composer classifier: idle, a draft and Ctrl+C in 0.157.0; a 20-line draft in 0.157.1 (`tall-draft-ctrlc.json`, from codex-headless #57). This PR does not move the app's codex-headless pointer, but the pointer it already has (`d42cc1da`) contains both files, and `codexSession.nativeComposer.test.ts` replays the tall recording (round-2 reviews a and b). + - 0.157.0 #47178 **enabled the fullscreen transcript by default**. The 0.157.1 recording uses the alternate screen (`\x1b[?1049h`), so the classifier is pinned in that mode, and Agent Code passes no override. + - Trust and approval overlays have no 0.157 recording. They are unverified in the new default mode: a stated residual. +- **Runtime:** Agent Code has driven codex-cli 0.157.1 panes daily since 2026-09-25 (the #1319/#1327 work used them); the proxy recordings in `~/.config/agent-code/proxy` come from 0.157.1 sessions. + +## Change +- `support/upstream-versions.json`: Codex `accepted` 0.130.0 → 0.157.1, with `checkedAt` 2026-09-26. +- The same in codex-headless (0.149.1 → 0.157.1), with notes pointing at this evidence. + +## Out of scope +Cataloguing `token_usage_record` (agent-transcript-parser#38). diff --git a/support/upstream-versions.json b/support/upstream-versions.json index b796b2cde..35ad28be2 100644 --- a/support/upstream-versions.json +++ b/support/upstream-versions.json @@ -12,8 +12,8 @@ "label": "Codex", "pkg": "@openai/codex", "changelog": "https://github.com/openai/codex/releases", - "accepted": "0.130.0", - "checkedAt": "2026-05-16" + "accepted": "0.157.1", + "checkedAt": "2026-09-26" }, "opencode": { "label": "OpenCode",