Skip to content

cmux NEXT: Go to What Needs Me, and marked tabs in Needs you - #24336

Closed
teamleaderleo wants to merge 12 commits into
feat-cmux-nextfrom
sp-attn-c
Closed

teamleaderleo wants to merge 12 commits into
feat-cmux-nextfrom
sp-attn-c

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

HOLD: Current palette captures are blank; replace and visually verify them before landing.

Leo, 2026-10-22:

idk where things are man i dont see anything other than the current workspace which is you and you have a cmux next github brwoser tab open (we need to have cmux expose this harder if it isn't already/hve better instructions)

Leo-ask: ask-12231fbe5e

Third slice of "needs you here". #24286 adds the daemon mark (cmux attention request --tab T --reason R, tab.update {attention}). #24311 draws it with the existing blue unread dot and ring. This PR adds two ways to get to a marked tab from anywhere:

  • Needs you list. Each marked tab is a kind: "tab" item. It shows the agent's reason, then the workspace and tab titles (never an id). Go to shows that tab. A marked tab offers no answers and no Ask about this, because it belongs to no chat.
    • Native side: AgentPaneAttentionTabs pushes [{kind, tabId, reason, workspaceTitle, tabTitle, atMs}] to every agent page as the attentionTabs host event, at load, at handshake and on every change.
    • Go to calls chat.attention.open {tabId}. It shows only a tab the page was listed, through the user jump revealTab.
  • Palette: Go to What Needs Me (attention.goTo). A page of the marked tabs, newest first. Return goes through the same Go to. It has no default key, so it takes no Ghostty-reserved key. It is also in the Window menu.

AttentionTabsWatch observes the daemon store across every connected machine and updates the list. Nothing polls; it reads only the marked tabs' titles. A mark never moves focus: only the person's Go to or Return does.

The attention projection, navigation, machine-scoped clear behavior, and regression tests stay together because they share the same mark lifecycle. Most additional lines are localized strings and tests.

The webview diff stays inside the item data and its row: model.ts, useNeedsYou.ts, the row in NeedsYou.tsx, plus a gallery variant. It does not touch needsYou.css, so it does not collide with #24068's popover restyle. The branch is reconciled with the current base recorded below.

Changelog

Added: Go to What Needs Me in the command palette, and tabs an agent marked for you in the Needs you list.

Tests

  • Tests/CmuxNextAgentPaneTests/AgentPaneAttentionTabsTests.swift:
    • chat.attention.open decodes and refuses malformed params.
    • The pushed shape.
    • Go to opens only a listed tab, and only once the App has wired the jump.
  • Tests/CmuxNextAppTests/AttentionTabsTests.swift:
    • The watch lists only marked tabs, newest first, by their titles, and a cleared mark leaves the list.
    • The palette page lists each mark with no id shown, listing it jumps nowhere, and its row jumps to the tab.
    • The action is in the palette with no default key.
  • webviews/test/agent-pane-needs-you-tabs.test.tsx:
    • The push is parsed and malformed entries are dropped.
    • A marked tab becomes one tab item.
    • The panel row shows the titles but not the id, with Go to and no Ask about this.
    • Go to calls chat.attention.open only.
    • A cleared mark leaves the list.
  • Gallery: agent-pane.needs-you variant marked-tab.

Validation and remaining work

Observed PR head: 4b0cc7fb1af0be03f8cebb102530cc4ee7531c4f, based on f8bd6ac189bc193a2b66ce3eea1c13db91b8f791; merged prerequisite #27497 is included.

  • The Home inbox routes marked tabs through chat.attention.open, retaining empty-session tab items and avoiding fallback chat selection.
  • Focused Home inbox tests passed in run 41140214713. Web lint and changed-code prepush checks passed.
  • Independent gpt-6-astra review returned BLOCK at 4b0cc7fb1af0be03f8cebb102530cc4ee7531c4f: both palette captures were blank. An earlier SHIP at 491a6027 does not cover this head.
  • The capture driver completed its steps and privacy check, but that is not visual acceptance. The current images below are failed evidence, and the visual HOLD remains.
  • The dropped DEBUG palette snapshot route has been restored in committed local work, with a stronger inbox regression that asserts no fallback selection. These repairs have not been confirmed pushed: SSH stalled, a bounded HTTPS push timed out, and the focused red/green test snapshot push timed out before CI dispatch. Fresh runtime capture and exact-head review remain pending publication of those repairs.
  • No merge is approved by the existing evidence.

Real before/after attention palette capture

The current head was captured on the fleet at 2x in a clean fixture. It creates a workspace, marks its current tab with “Confirm demo access,” opens the command palette, searches “What Needs Me,” and opens the marked tab page. The driver accepted every step and the privacy scan passed, but visual inspection found both palette images blank; these images are failed evidence.

Capture steps-3842a30fea-2x at 491a60270189 (fleet build, capture mini, text checked for private data)

Light Dark
light dark
attention-palette light attention-palette dark

Viewed after image: yes
Visual verdict: BLOCK — both palette captures are blank and do not prove the marked-tab layout.


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


Summary by cubic

Tabs an agent marked for you (cmux attention request) now appear in the Needs you list and in a new Go to What Needs Me palette command, so you can reach them from anywhere. Both paths go through chat.attention.open {tabId}, which shows only a tab the page listed, and AttentionTabsWatch keeps the lists current by observing the daemon store across connected machines without polling.

New Features

  • A marked tab is a tab item in Needs you: it shows the agent's reason, then the workspace and tab titles, never an id, and offers no answers or Ask about this.
  • Go to What Needs Me (attention.goTo) lists the marked tabs newest first, has no default key, and is in the Window menu.

Bug Fixes

  • Opening a marked tab from the Home inbox shows it without leaving the tab selected.
  • A click, keystroke, or strip press resolves on the machine and window that began it, so a remote tab id never clears a matching local mark.
  • The debug window dump renders floating palette panels with the palette renderer, so captured fixtures show the panel's content without Screen Recording permission.

Written for commit dad7e40. Summary will update on new commits.

View guided diff Turn on auto-fix

Agent session: agent session

@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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

Review dad7e40: 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=pr24336 -f ref=sp-attn-c -f platform=macos -f backend_mode=local

Probably yours: subtle-elevation.test.ts fails here but not on main's latest full suite. Seen on other PRs too (likely flaky): MessageGroupRow.test.tsx, gallery-control-surfaces.test.ts, check-layers.test.ts and 4 more.

CI failed on dad7e40348 (run 41150242376 attempt 1): 1 code, 1 unknown.

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

Failures:

  • seen on other PRs MessageGroupRow.test.tsx a run with a message going out starts open, names its target and ticks only while it goes: failed (job)
  • seen on other PRs gallery-control-surfaces.test.ts every web gallery entry keeps trailing surfaces clear and hover inside its control: failed (job)
  • seen on other PRs check-layers.test.ts check-layers > this checkout passes with its baseline: failed (job)
  • seen on other PRs effect-interval-cleanup.test.ts removing the existing cleanup from real direct and nested interval effects fails: failed (job)
  • seen on other PRs harnesses-page.test.tsx a failed sign-in retries its saved login after health refresh marks the row ready: failed (job)
  • seen on other PRs new-tab-no-entry-menus.test.ts on a New Tab, every surface it opens appears at once (no-preference): failed (job)
  • seen on other PRs new-tab-no-entry-menus.test.ts on a New Tab, every surface it opens appears at once (reduce): failed (job)
  • new in this PR subtle-elevation.test.ts one subtle elevation scale > no drop shadow blurs except through the scale: failed (job)
Matched log lines
web / react-apps-base-check (2): (fail) a run with a message going out starts open, names its target and ticks only while it goes [8.93ms]

Not re-run automatically: web / react-apps-base-check (2), 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.

web and size checks: green

Default changes

This pull request changes 16 defaults at dad7e4034812 (what everyone gets without configuring anything):

  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:id: (none) -> "8c2eb0eea80ab38023b8d63807b71d3b2265f0cb2f0d3ceb4357818c0721b7c3"
  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:needsFocus: (none) -> "d293a918651a0fc51f5b29b1c97ae855e19886d2015ee263de228c7efe878ca3"
  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:needsFocus#: (none) -> "505e48e63991f10702bf92bed0dcae38ab67cda69136d0241a8cf126da389773"
  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:nothing: (none) -> "0d000b8c0501ccc4a7ad1c15df6f95fc5e7f633022a1f5bd0a6819b3fca24637"
  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:nothing#: (none) -> "3192a9af5700c4accbc542aa8bc8c5e68d4a5552e924f9b661163310ee9e1b7b"
  • tunable-source.CmuxNextAgentPane/AttentionPalettePage.swift:pageID: (none) -> "d883bc36e62652cfed17612efba8dc70354e76b73ceedaa3d49a0ff17cbee661"
  • tunable-source.CmuxNextAgentPane/AttentionTabsWatch.swift:key: (none) -> "eda951b3275e346acb42d70849c4f954f86787446aa30d46d3e2266c38076e6f"
  • tunable-source.CmuxNextAgentPane/AttentionTabsWatch.swift:locate: (none) -> "ee6a08dbf0c057f8992d8b4789ecccd3d10c0ef1349c0b6cb04d93d23666b49e"
  • tunable-source.CmuxNextAgentPane/AttentionTabsWatch.swift:machineDigest: (none) -> "8563f3cf53a16c52bfb094c200c84f2f87c9ef0d085ea03e4e58bbe538c85a26"
  • tunable-source.CmuxNextApp/AppActions.swift:bind: "9760ef56c3a4aa1c335bdeafcd9602897769726ec3636742c0b75877d47f367a" -> "c005cc04cc7aafdcbc312b12816df3e5749439604734b2c07cf0a6e0fc741edd"
  • tunable-source.CmuxNextApp/AppActions.swift:bindAttentionPalette: (none) -> "bcc842707f7a3b8358abd251f8f1dcf1d9cbd786020db35cbb11eed6a86f23ae"
  • tunable-source.CmuxNextApp/Control/DebugWindowSnapshot.swift:captureAsync: "99a80ceb7c309a0c16500f8063d61cdfe7c75682dbb377d300af8c0bb9155d46" -> "8f8c4599b1c7a6a2a0947629a3e829f09bbd7d049998d0f5344b80f683fdffca"
  • tunable-source.CmuxNextApp/Focus/DebugPaletteCapture.swift:capture: (none) -> "e1e8506762513bd02bc6d44c0b0981c9bc59d40ea5798e26f3ca000816e4ef5c"
  • tunable-source.CmuxNextApp/Focus/DebugPaletteCapture.swift:capture#: (none) -> "1b69f9bf30ca43008b10045a4425d5f815662134bb9e619cd3984682d6ac221d"
  • tunable-source.CmuxNextApp/Focus/DebugPaletteCapture.swift:windowImage: (none) -> "3d059baef38f99e15106ecafa09569e4d19af0d712fdc11409e3c5ac1790794b"
  • tunable-source.CmuxNextDaemon/State/TabAttention.swift:validRequestID: (none) -> "d45aac3280bdb59dc7dec89eb63b517a5c9a722bfcc54129042e3f4fa2c99ebc"

Needs a review. It passes with an independent review receipt on this commit: a comment or review whose first line is Review (<reviewer>): SHIP at dad7e4034812d71c3c995cd696e166e480e59d5f, from a member, not a self-review (the newest verdict naming the head decides; a later BLOCK beats an earlier SHIP), or with an approving review on this commit from @lawrencecchen or @austinywang (the call owners in .github/defaults-call-owners.json, never the author). A receipt posted as a review re-runs this check; after a plain comment, re-run it. The needs a call label alone does not pass, and a new push needs a new receipt.

Regenerate the snapshot with python3 scripts/ci/defaults_guard.py snapshot.

Gallery before/after for dad7e40: 16 states rendered, 0 images differ, 2536 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 41150267117 -R manaflow-ai/cmux -n gallery-advisory-24336-dad7e4034812d71c3c995cd696e166e480e59d5f (then read gallery-review.json)

States
State Theme Status Diff Picked by
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.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
agent-pane.continuation-spacing/two-thirds Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/two-thirds Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/half-tucked Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/half-tucked Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/before Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/before Apple System Colors unchanged 0% own App.tsx
agent-pane.copy-controls/output Apple System Colors Light unchanged 0% own App.tsx
agent-pane.copy-controls/output Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/new-chat Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/new-chat Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/after-turn Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/after-turn Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/working Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/working Apple System Colors unchanged 0% own App.tsx

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

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

blacksmith-sh Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Found 16 test failures on Blacksmith runners:

Failures

Test View Logs
src/agent-session/acpmux/conversation/MessageGroupRow.test.tsx/MessageGroupRow.test.tsx View Logs
src/agent-session/acpmux/conversation/MessageGroupRow.test.tsx/MessageGroupRow.test.tsx View Logs
test/browser/gallery-control-surfaces.test.ts/gallery-control-surfaces.test View Logs
test/browser/gallery-control-surfaces.test.ts/gallery-control-surfaces.test View Logs
test/check-layers.test.ts/check-layers.test View Logs
test/check-layers.test.ts/check-layers.test View Logs
test/effect-interval-cleanup.test.ts/effect-interval-cleanup.test View Logs
test/effect-interval-cleanup.test.ts/effect-interval-cleanup.test View Logs
test/harnesses-page.test.tsx/harnesses-page.test.tsx View Logs
test/harnesses-page.test.tsx/harnesses-page.test.tsx View Logs

...and 6 more test failures. View all on Blacksmith

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-fld97 created for this PR by the cmux coordinator.

@cursor

cursor Bot commented Oct 22, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@github-actions github-actions Bot added the risk:high Risk tier (docs/ci/risk-tiers.md) label Oct 22, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Orphaned: no activity for 13 h, and no lane holds a lease on it. The orphan sweep could not merge feat-cmux-next in: conflicts in webviews/src/agent-session/acpmux/needsYou/NeedsYou.tsx. Listed for a lane to resolve.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / nightly-guards / workflow-guard-tests / release-notary is red on 11 of 12 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next / cmux-next checks (god files, concurrency, crash safety, l10n) › Checks job structure is red on 11 of 12 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next / cmux-next checks (god files, concurrency, crash safety, l10n) › No new SwiftUI (macOS UI is AppKit) is red on 11 of 12 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Held for dogfooding: this PR is stacked on #24311 and so includes its left-sidebar change: a workspace row gets the unread dot for a tab an agent marked, and the row's notification line shows the mark's reason. It stays open with #24311 until that change has been dogfooded. Its own changes do not touch the sidebar.

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Review (independent gpt-6-astra high, fast mode): SHIP at ed8f930

Relaying the completed independent review of the full diff: no blocking defects found. Machine scoping, stale-generation checks, gesture gating, and attention-clear rollback are coherent. Source-only review; the reviewer ran no tools, builds, or tests.

This records the existing review for the defaults guard; it does not clear the Swift or sidebar dogfood HOLD.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Base evidence for the two gallery-health states. They fail on base f0c09561eb56b49db70ad68628c31c7ac65871cd too, the same way and every time, so this is a base red and not something this PR introduced.

I ran scripts/gallery-matrix/health.ts with the same arguments gallery-health.yml uses (chromium, component frame, --retries 2), limited to these two entries, 3 times on Linux CI (fast-checks run 40811333100):

Run agent-pane.empty-state#search (attempts 0/1/2) agent-pane.model-picker#many-harnesses (attempts 0/1/2) Verdict
1 5874 / 5688 / 5679 ms 5684 / 5701 / 5702 ms both fresh: play: waitFor did not hold within 5000 ms
2 5695 / 5693 / 5674 ms 5702 / 5687 / 5689 ms both fresh, same reason
3 5686 / 5681 / 5652 ms 5704 / 5685 / 5687 ms both fresh, same reason

These are not slow renders close to a budget. The play's waitFor reaches its 5000 ms cap, and the ~5.7 s is that cap plus page overhead. The condition never holds, on base or on this head (5.7-6.0 s, same reason).

This PR's run had no base comparison because it rendered merge e51d050b on the older base 82d8267b. That version of gallery-health.yml did not yet have the "Judge the red states against the base" step, so it never re-rendered these states on base. On a newer base, that step should classify both as base reds.

#27194 doesn't affect these states. It changes ci-web.yml and webview tests, not gallery-health or scripts/gallery-matrix.

🤖 Generated with Claude Code

Agent session: agent session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, next-review): BLOCK at cecd056

  • webviews/src/agent-session/acpmux/HomeInbox.tsx:248-251 — Home Inbox now receives kind: "tab" items via useNeedsYou, but its Go to handler still opens item.sessionId. Tab items deliberately have an empty sessionId, so clicking a marked-tab row sends an empty chat-open request and never calls chat.attention.open; the tab cannot be reached from Home Inbox.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, router-review): BLOCK at afa9a4e

BLOCK
Visual verdict: Viewed both supplied after screenshots (light and dark); no missing images or visible layout regressions.

  1. webviews/src/agent-session/acpmux/HomeLists.tsx:96 — onOpen?.(item) ?? onSelect(item.sessionId) always calls onSelect because onOpen returns void/undefined. Clicking a marked tab therefore performs the intended chat.attention.open, then calls selectSession(""); normal inbox rows are also selected twice. Use an explicit if (onOpen) ... else ... branch.

@cursor

cursor Bot commented Oct 30, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 491a602

SHIP
Visual verdict: PASS — viewed both light and dark after screenshots; layout is intact.

  1. No blocking findings.

Validation note: Runtime tests were unavailable because Bun and Xcode are not installed in the review box.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, router-review): BLOCK at 4b0cc7f

BLOCK

Visual verdict: Viewed all four after captures. The normal light/dark windows render, but both attention-palette captures are blank/off-screen.

  1. Packages/macOS/CmuxNext/Sources/CmuxNextApp/AppActions.swift:173-178 — The new “Go to What Needs Me” page produces no visible palette content in review/images/attention-palette-light-03.png or attention-palette-dark-04.png; only a narrow left rail is captured. The feature’s primary new UI is therefore unusable/off-screen.

@lawrencecchen

Copy link
Copy Markdown
Contributor

Conflict wave: not merged. Both #24336 and #24345 (stacked) have an open BLOCK on their own code, so a merge with feat does not make them landable: #24336's "Go to What Needs Me" palette renders off-screen in the captures (review at 4b0cc7f), and #24345's AgentPageProvider passes chat.attention.open twice into Dictionary(uniqueKeysWithValues:), which traps (review at 9cc3b7b). These need the owner's fix first. I pushed nothing.

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


Carried to #32215: this branch merged with current feat-cmux-next, conflicts resolved, original commits and authorship kept. The owner session has been idle since 2026-11-01, and the broker refused to move the claim, so I couldn't push here. That PR goes through an exact-head review and lands. This PR stays open for its owner to close.

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


The feature in this PR landed on feat-cmux-next through #32213. The one fix that remained, a palette window snapshot keeping its normalized path, landed through #32215 (d94d657).

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by #32213: it landed this PR's Go to What Needs Me (attention.goTo), the marked-tab kind: "tab" Needs you items, chat.attention.open, AgentPaneAttentionTabs, AttentionPalettePage, AttentionTabsWatch, the Home inbox routing and the debug palette snapshot. The core files and their tests (AgentPaneAttentionTabsTests, AttentionTabsTests, agent-pane-needs-you-tabs, home-inbox) are byte-identical on feat-cmux-next. What still differs here is only older code that base has since moved past (for example AttentionTabsWatch's per-machine baseline and the Go to Next Agent Needing Input action). Closing so the branch doesn't revert them.

This branch was previously deployed

4 inactive (3 outdated) deployments
ci-routing-agent — dad7e403 Deployed Oct 31, 2026 by teamleaderleo via wait for same-key tree publisher #85968
artifacts — 4b0cc7fb Deployed Oct 30, 2026 by teamleaderleo via add the Windows daemon to the tree #85506
sentry-dsyms — 4b0cc7fb Deployed Oct 30, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #85506
cmux-tui-merge-tree — 4a9c57df Deployed Oct 23, 2026 by teamleaderleo via publish the merge tree #5194
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:high Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants