Skip to content

Transcript: a finished Claude turn folds under one Worked for, its runs inside - #34774

Merged
teamleaderleo merged 9 commits into
feat-cmux-nextfrom
lane/claude-worked-for
Nov 4, 2026
Merged

teamleaderleo merged 9 commits into
feat-cmux-nextfrom
lane/claude-worked-for

Conversation

@teamleaderleo

Copy link
Copy Markdown
Collaborator

Leo (2026-11-04): "ofc claude code doesn't actually have the worked for... but i think we should be able to do that replacing the top level thingy maybe"

Leo-ask: ask-36b88e65be

A finished Claude Code turn now gets the same top-level "Worked for" fold a Codex turn has, in place of the per-run summary lines that used to sit at the top level of the turn. Those run lines (the Claude-desktop grouping from #30176) now draw inside the fold when it's opened: each run of calls with its short notes on its own line, and longer messages between runs left where they were. A closed fold behaves as Codex's: the answer stays below it, a steer and the reply before it stay in sight, and the task line the fold hides shows beside it. The footer no longer repeats the time, because the fold line now shows it.

The change is in conversation/turns.ts shapeTurn: Claude turns no longer force the fold open or skip the Worked for row. Per-run folding inside the open fold (mergeShortNotes with Claude grouping) is unchanged. transcript-claude-turn-groups.test.ts covers both states, closed and opened, for the recorded 81-call turn and the steered turn.

Risk: every Claude chat's finished turns render differently (folded by default). Thinking and Verbose views still open each turn's fold, as they do for Codex.

Agent session: agent session

🤖 Generated with Claude Code

…ns inside

Leo (2026-11-04): "ofc claude code doesn't actually have the worked for... but i
think we should be able to do that replacing the top level thingy maybe".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review b423cda: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr34774 -f ref=lane/claude-worked-for -f platform=macos -f backend_mode=local

Gallery before/after for b423cda: 16 states rendered, 8 images differ, 3504 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41792606288 -R manaflow-ai/cmux -n gallery-advisory-34774-b423cda7a22ec3913c4e9c3b1ec4bdb37601c1f5 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.approved-tool-row/ask-mode-approved Apple System Colors Light changed 4.66% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/ask-mode-approved Apple System Colors changed 4.54% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/run-one-approved Apple System Colors Light changed 0.942% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/run-one-approved Apple System Colors changed 0.508% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/mcp-approved Apple System Colors Light changed 4.98% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/mcp-approved Apple System Colors changed 4.86% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/bypass-nothing Apple System Colors Light changed 4.51% own ApprovedToolRow.gallery.ts
agent-pane.approved-tool-row/bypass-nothing Apple System Colors changed 4.39% own ApprovedToolRow.gallery.ts
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/standard Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/wide-edge Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-edge/wide-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/no-edge Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-edge/no-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-40 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-40 Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-56 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-56 Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-72 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-72 Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/shipped Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/shipped Apple System Colors unchanged 0% own App.tsx

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

Probably yours: transcript-cohesion.test.ts, transcript-cohesion.test.ts fails here but not on main's latest full suite. Seen on other PRs too (likely flaky): agent-pane-reply-actions-frame.test.tsx, composer-permission-pill.test.ts. This PR merged before its CI finished: fix forward on main.

CI failed on b423cda7a2 (run 41792606089 attempt 1): 1 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (5) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs agent-pane-reply-actions-frame.test.tsx a personal steer keeps reply A and final reply B expanded while other chatter collapses: failed (job)
  • seen on other PRs composer-permission-pill.test.ts codex: permission control keeps the shared capsule geometry: failed (job)
  • new in this PR transcript-cohesion.test.ts claude keeps the activity rhythm (light): failed (job)
  • new in this PR transcript-cohesion.test.ts claude keeps the activity rhythm (dark): failed (job)
Matched log lines
web / react-apps-base-check (5): (fail) a personal steer keeps reply A and final reply B expanded while other chatter collapses [38.82ms]

Not re-run automatically: web / react-apps-base-check (5), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Base-red classifier (per test) (+1 more) is not red on the base dc602e7; do not merge until green; see lane-rules

Shipped in:

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 6 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpfvz76up3/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpkwwimix3/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…efore its run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
…open the Worked for

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 0723316

Reviewer: codex gpt-6-astra high, fast tier.

Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward.

SHIP at 0723316

Visual verdict: no images; Leo tries the build

I found no correctness or regression issues in the changed code. Bun is unavailable, so focused tests could not run.

Follow-ups:

  • [P2] [follow-up] [category:tooling] [finding:F1] [outcome:pending] No after screenshot or gallery artifact is present (review/images/selection.json:2); rerun the gallery capture.

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmux-bot approves 0723316: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Awareness note from an agent lane that does not own this PR; it is not a review or a request to take the PR over.


Same ask, second cluster: this PR also covers Leo-ask: ask-38a66c7f61 (2026-11-04T01:58Z). Leo's words:

"Worked for 12m 16s" time: on Claude turns it's just a line showing the time, not a fold
uh i think it should be the top level collapsible thing IF POSSIBLE...
SOMETIMES there's just claude chatter that we could prob group up... i feel like some of these MAY be thoughts or whatever... idk tho if we truly cant then fine just codex has it
but we're just sometimes missing these end-of-turn situations i feel lik

One gap this head doesn't cover yet: his last line. A Claude turn that ended with no turnSummary row and isn't the last turn goes through settledWithoutSummary (turns.ts:1112) and still draws every row unfolded, with no Worked for. It looks like the "missing end-of-turn situations" he means. Fixing it here or as a follow-up is the owner's call. Please put Leo-ask: ask-38a66c7f61 in the body as well, so both clusters close when this merges.

…he turn's Worked for

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
…rk under it

A received message's turn folds under Worked for now, a Claude turn's too, so the
spec measures the received line to that line and that line to the work, at the room
a Codex turn's fold already has.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
…-worked-for

# Conflicts:
#	webviews/test/transcript-claude-turn-groups.test.ts
… line and the work

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-640e13a91fec3ce8b4b8
@teamleaderleo teamleaderleo added the leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel label Nov 4, 2026
@teamleaderleo
teamleaderleo merged commit 2fa7c63 into feat-cmux-next Nov 4, 2026
186 of 191 checks passed
@teamleaderleo
teamleaderleo deleted the lane/claude-worked-for branch November 4, 2026 07:41
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
…for (#35410)

#34774 folded a finished Claude turn under one Worked for, but
transcript-cohesion still asserted the Claude variant draws no header,
which left the file red on feat-cmux-next. The Claude variant now
checks the same 22px header and 16px reply gap as closed Codex.


Agent-Session: https://cmux.com/deeplink/agent?id=aid-82f54cd5a2280880c43b

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
cmux-bot Bot pushed a commit that referenced this pull request Nov 4, 2026
…-turn Worked for is an opt-in (#35537)

* Agent pane: a finished Claude turn keeps its runs in place; its whole-turn Worked for is an opt-in

Leo (2026-11-04): "you can't do it for Claude ... it's just too lossy if you do it for Claude".
The claude row of TURN_FOLD_STYLES stops folding a whole turn; the Worked for fold #35113 made
Claude's default is the opt-in arm of a new claude-turn-fold experiment. The tests and gallery
plays #34774 moved to Claude's Worked for go back to its per-run lines. Codex, Gemini and Muse
are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa

* gallery: the per-harness fold entry covers the rows it draws

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa

* test: a finished Claude turn of the send loop draws its run in place, no Worked for

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa

* test(transcript): the Claude cohesion variant draws no whole-turn Worked for again (undoes #35410's expectation)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
… for fold, and declares its 4-minute run (#35516)

#34774 and #35113 fold a finished Claude turn under one Worked for, so the claude variant's
'no header' expectation no longer held. The file's 48 browser cases take about 240 s, past the
runner's 120 s default, so CI timed it out (and shard 1 with it).


Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — b423cda7 Deployed Nov 4, 2026 by teamleaderleo via cmux-tui tree preflight #110416
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant