Agent chat: reasoning as a closed Thought row (cx-ncc.73)
Summary
In the agent chat, a thought (the agent's reasoning) now draws as one "Thought" row titled by its first line. The row is closed by default, as in the Codex desktop app, and opens to the full text. Before, a long thought printed in full among the tool rows and pushed them down.
- While a thought streams, it grows behind its one-line title, so the rows below it stay put.
- Find in Chat opens a thought that holds the current match. The row's own "Thought" label is never counted or highlighted.
- The title line shows only while the row is closed, because the open text starts with it. An empty thought draws nothing, and the title and text follow their own text direction.
- New string
tools.thought("Thought"), added to the pane catalog in all 21 locales and regenerated intogenerated/strings.json.
Not in this slice: "Thought for Ns". acpmux sends no timing for thought chunks, so the duration needs a Rust change first and will be a follow-up.
Testing
Gallery play agent-pane.transcript#thought-row, driven by webviews/test/transcript-thought.test.ts with CMUX_BROWSER_TESTS=1:
e29528fefd77(red): the thought printed in full, with no Thought row.31a7d18b646f(green): passes, twice in a row. One earlier run failed only on a single 55 ms frame during the click while the host was under load.
Gallery play agent-pane.transcript#thought-find (review fix, same test file):
68a8a6c7263d(red): searching "thought" put the current match on the row'scv-thought__label.08c9afd4ceea(green): the match lands in the thought's text, and both plays pass on two runs in a row.
That play's step lets one frame reach 120 ms, with a reason, and accepts a "warn" result. Typing the query opens the turn's closed Worked for fold, which costs one 72โ91 ms frame. That cost belongs to Find, not to this row, and is tracked as cx-ncc.76.
Also passing: chat-find.test.ts, bun run typecheck, bun run lint, vp fmt --check, gen-strings.mjs --check, and the ui-rules, gallery-coverage and ui-a11y suites. The Release compile ran on the head.
Changelog
- Changed: The agent chat shows reasoning as a closed Thought row that opens to the full text.
๐ค Generated with Claude Code