Skip to content

Read a completed Codex web search as done, so it folds again (CF-4) - #288

Merged
BunsDev merged 15 commits into
mainfrom
codex-websearch-done
Oct 19, 2026
Merged

BunsDev merged 15 commits into
mainfrom
codex-websearch-done

Conversation

@BunsDev

@BunsDev BunsDev commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Part of #277 (CF-4). Follows #282 (CF-1) and #284 (CF-4 typed turns), tracker #273.

The bug, on main (since 8e26534)

#284 stopped folding tools whose outcome is unknown, so unresolved work stays in view when a turn finishes. But codexOutcome (from #282) returns unknown for every Codex web search. codex-cli 0.163.0's webSearch item has neither a status nor an error field (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/completed is the only report Codex makes about it, so a completed web search with no status reads as succeeded. Everything else keeps its current mapping. unknown keeps 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.ts codexOutcome: three lines, plus its comment.
  • test/conversation-events.test.ts: the assertion that pinned web search as unknown now expects succeeded, 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, head e188b6d, one signed commit (rebased from 8e26534).

  • Red: on 8e26534 the updated assertion fails with actual: 'unknown' ("a web search that completed finished").
  • Green: conversation-events 24/24, codex-backend 27/27, tool-summary 3/3.

Full local run on e188b6d, macOS (Apple Silicon), Node 24.18.1, pnpm 10.34.5:

Command Result
pnpm install --frozen-lockfile passed
pnpm build passed
pnpm typecheck passed
pnpm test passed: desktop 1,512 passed and 16 skipped of 1,528 (existing skips); worktree scripts 109/109, core 16/16, desktop native/update 21/21, site 10/10, Store desktop 16/16

pnpm test:e2e was 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 on 8e26534 failed its build and two worktree-script tests with ENOSPC while 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: a258228

Ready: 2c7a68f

2c7a68f merges main at d3dfe76 (#294). Before pushing, typecheck, build, unit tests 54/54 and conversation-fidelity e2e 4/4 passed. CI then passed every check. Merge state: CLEAN, current with main.

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
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
modex Ready Ready Preview Oct 19, 2026 5:30am UTC

Request Review

Coven-Harness: Claude Code / claude-opus-5-5
@github-code-quality

github-code-quality Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Code coverage overview

Languages: TypeScript

TypeScript / code-coverage-agent

main f85a5b3 codex-websearch-done bea1d4c +/-
63% 63% 0%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 19, 2026 05:54 UTC

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
Both entries kept in docs/status.md.

Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
@BunsDev
BunsDev merged commit fa66324 into main Oct 19, 2026
13 checks passed
@BunsDev
BunsDev deleted the codex-websearch-done branch October 19, 2026 05:54
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 branch was successfully deployed

1 active deployment
Preview — bea1d4c5 Deployed Oct 19, 2026 by vercel[bot]
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