Repository navigation
Read a completed Codex web search as done, so it folds again (CF-4) - #288
Merged
Merged
Conversation
Since #284, a tool whose outcome is unknown stays in view when its turn finishes. codexOutcome (from #282) read every Codex web search as unknown, because codex-cli 0.163.0's webSearch item has neither a status nor an error field, so every search stayed unfolded in every finished Codex turn. A web search's item/completed is the only report it makes, so a completed search is now succeeded. Unknown keeps meaning work that never reported. The contract doc's mapping table says so. Part of #277; follows #282 and #284. Coven-Harness: Claude Code / claude-opus-5-5
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Coven-Harness: Claude Code / claude-opus-5-5
This was referenced Oct 18, 2026
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
Both entries kept in docs/status.md. Coven-Harness: Claude Code / claude-opus-5-5
This was referenced Oct 18, 2026
Both entries kept in docs/status.md. Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev
added a commit
that referenced
this pull request
Oct 19, 2026
Both entries kept in docs/status.md. Coven-Harness: Claude Code / claude-opus-5-5
BunsDev
added a commit
that referenced
this pull request
Oct 19, 2026
Brings in #288 (CF-4: completed Codex web searches fold again). Coven-Harness: Claude Code / claude-opus-5-5
BunsDev
added a commit
that referenced
this pull request
Oct 19, 2026
Both entries kept in docs/status.md. Coven-Harness: Claude Code / claude-opus-5-5
This was referenced Oct 19, 2026
This branch was successfully deployed
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.
Part of #277 (CF-4). Follows #282 (CF-1) and #284 (CF-4 typed turns), tracker #273.
The bug, on
main(since8e26534)#284 stopped folding tools whose outcome is
unknown, so unresolved work stays in view when a turn finishes. ButcodexOutcome(from #282) returnsunknownfor every Codex web search. codex-cli 0.163.0'swebSearchitem has neither astatusnor anerrorfield (codex app-server generate-ts:{ id, query, action, … }), so no completed search could be anything else. The result: every web search in every finished Codex turn stays unfolded under "Worked for …", although nothing about it is unresolved.I raised this in review on #284 before it merged (comment). It merged without the fix.
The fix
A web search's
item/completedis the only report Codex makes about it, so a completed web search with no status reads assucceeded. Everything else keeps its current mapping.unknownkeeps meaning work that never reported: a tool still open when its attempt ended, or a status-less item of another kind. That is the case #284's folding rule is for.backends/codex.tscodexOutcome: three lines, plus its comment.test/conversation-events.test.ts: the assertion that pinned web search asunknownnow expectssucceeded, with the reason.docs/conversation-events.md: the Codex mapping row says the same.docs/status.md: one line under "On main, unreleased".Evidence
Base
fb76aac, heade188b6d, one signed commit (rebased from8e26534).8e26534the updated assertion fails withactual: 'unknown'("a web search that completed finished").conversation-events24/24,codex-backend27/27,tool-summary3/3.Full local run on
e188b6d, macOS (Apple Silicon), Node 24.18.1, pnpm 10.34.5:pnpm install --frozen-lockfilepnpm buildpnpm typecheckpnpm testpnpm test:e2ewas not run locally. This PR changes no renderer code, and no e2e exercises a Codex web search; CI runs the full e2e. An earlier run on8e26534failed its build and two worktree-script tests withENOSPCwhile the machine's disk was full. That run is superseded by the clean one above.No live Codex web search was run for this PR. The mapping rests on the generated 0.163.0 protocol types, not on a live capture.
Latest head:
a258228e188b6dpassed every check, includingunit + e2e (macOS).a258228mergesmainatd3711c6(Show the command that ran, its exit code, bounded output and honest source labels (CF-5, first part) #287) without conflicts. Show the command that ran, its exit code, bounded output and honest source labels (CF-5, first part) #287 leftcodexOutcomeand the web-search row unchanged.a258228: typecheck and build pass;conversation-events24/24,codex-backend27/27,tool-summary3/3,evidence6/6.a258228passed every check (run 39119028864). The first attempt ofCLI and installers (win32)crashed:node.exeexited0xC0000005inside electron-builder's icon conversion on the runner. The re-run passed. Merge state: CLEAN.Ready:
2c7a68f2c7a68fmergesmainatd3dfe76(#294). Before pushing, typecheck, build, unit tests 54/54 andconversation-fidelitye2e 4/4 passed. CI then passed every check. Merge state: CLEAN, current withmain.