fix(codex): correct rollout tail ownership — feed clearing during MCP turns (#159)#160
Merged
Merged
Conversation
6 tasks
fec4314 to
0c9fde3
Compare
Bumps packages/codex-headless to include the rollout-tail-ownership fix (Juliusolsson05/codex-headless#9). The committed-transcript tailer could go permanently silent after bootstrap: it pinned to a single rollout JSONL and, when a resumed Codex session's conversation was written into a forked rollout file, kept reading the dead one. The renderer still received live proxy semantics, so the feed appeared to "clear" every couple of turns during MCP / tool-call runs while runtime.entries stayed frozen. The submodule fix makes the tailer follow a forked rollout — gated by cwd plus copied-history lineage so sibling orchestration agents in the same directory are not latched — and releases the proxy flow slot on response.completed so MCP follow-up turns are not starved. Root-cause analysis: #159. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0c9fde3 to
8613591
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #159 — feed-clearing / missing-user-row failure during MCP/tool-call turns. Full root-cause investigation is in the issue thread.
What this PR does
Bumps the
packages/codex-headlesssubmodule to Juliusolsson05/codex-headless#9, which fixes the actual root cause: the Codex committed-transcript tailer.The bug, briefly
During MCP / client-tool runs the feed appears to "clear" every couple of turns and stops growing. It is not a renderer or ghost-system bug —
runtime.entriesis frozen because the committed-transcript channel goes permanently silent after bootstrap:CodexHeadlesspinned its rollout tailer to a single JSONL file. When a resumed Codex session's conversation was written into a forked/reconstructed rollout file, the tailer kept reading the dead one — zero livejsonl-entryevents for the whole session.response-end, which for MCP follow-up turns can lag or never arrive, starving the legitimate follow-up flow.Evidence (issue #159): a 559s session with 67 Responses turns produced exactly one
jsonl_entriesevent — the bootstrap burst.The submodule fix (#9)
..-normalised).response.completedso MCP follow-up turns publish; completed flows stop accumulating buffer and are reaped.Scope / notes
fix/codex-rollout-tail-ownershipbranch commit; re-point to the merged SHA once Track primary and active worktree context #9 lands. Merge Track primary and active worktree context #9 first, then fix(codex): correct rollout tail ownership — feed clearing during MCP turns (#159) #160.tscbuild of the submodule. Not yet exercised against a live Codex resume/fork — recommend a live smoke test (resume a Codex pane, run an MCP-heavy turn, confirm the committed feed grows) before merge.🤖 Generated with Claude Code