Skip to content

cmux NEXT Needs you: the header list is glass with native metrics - #24068

Merged
teamleaderleo merged 5 commits into
feat-cmux-nextfrom
sp-needsyou-popover
Oct 22, 2026
Merged

teamleaderleo merged 5 commits into
feat-cmux-nextfrom
sp-needsyou-popover

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Leo-ask: ask-e37374af1f

Leo, on the top-right Needs you popover (the chat header's badge and its list): "styling is shit on the top right bit".

This restyles that list only. Every behaviour stays: one-click answers, Go to source, Ask about this, compact mode, the empty state and the row a link opened the list on. It doesn't touch the bottom pill (JumpPill.tsx), useNeedsYou.ts, App.tsx, or the --acpmux-needs-you-mark token definition. That token is owned by #23877, and this PR only uses it.

What changed

  • Glass, one layer: the list is the shared popup glass (Popover's .ui-popup.ui-glass) and paints no fill of its own. The title used to paint a second frosted band over the rows. It's now a plain heading, and the rows scroll inside the list under it.
  • Header: the pin glyph is gone. "Needs you" is a muted 12px section heading, and the count is plain text instead of a grey badge.
  • Rows: native list metrics. 13px text, a 16px mark with no grey disc, rows padded 6/8px with 6px radius. The name is medium weight instead of bold. The kind ("Waiting", "Approval") is plain muted text instead of a chip. The ask shows two lines at most (it was three), and one line in compact mode.
  • Tools: Go to source (→) and Ask about this (?) are plain 20px icons with no border, sitting in the age's slot at the end of the row. They appear on row hover and on keyboard focus inside the row (:focus-within), and they stay in the Tab order (hidden with opacity only). The lone "Ask about this" text link under each row is gone. When the list opens, focus goes to the list itself, so no focus ring lands on the first row's arrow (that ring was the bordered square).
  • Answers and side question: the answer rows keep the permission-card look. The side question loses its own tinted box, and both use slightly tighter metrics.

Tests

  • New webviews/test/agent-pane-needs-you-popover.test.tsx checks:
    • the title has no pin glyph and the count has no chip chrome
    • the ask is clamped to 2 lines (1 in compact)
    • the kind has no chip chrome
    • both tools are named and have no border or fill
    • the tools are hidden at rest and shown on hover and :focus-within, never display:none or visibility:hidden
    • the list paints no fill or backdrop of its own
  • The existing agent-pane-needs-you.test.tsx passes unchanged. .acpmux-needs-you-ask-about and .acpmux-needs-you-go keep their classes.
  • scripts/web-lint.sh and prepush-gate.py both pass. The bun tests run on the fleet, since this Mac blocks local test runs. Fleet app compile-check at 397ea9e: passed (59 s).

Observed / Not run

  • Observed: web-lint (oxfmt, oxlint, type check) and prepush-gate pass locally.
  • Not run locally: bun tests (fleet run below), gallery renders (gallery-compare below).

Before / after

Gallery compare (agent-pane.needs-you, merge-base vs head): https://cmux-lawrences-mac-mini.tail137216.ts.net:18796/compare/sp-needsyou-popover/?entry=agent-pane.needs-you (tailnet)

No capture: webview-only

Changelog

Changed: The Needs you list in the chat header is lighter glass with tighter rows. Its tools show on hover or keyboard focus.

Agent session: cosmic-gray

🤖 Generated with Claude Code

Leo, on the top-right Needs you popover: "styling is shit on the top
right bit". The list keeps every behaviour and drops the chrome:

- one layer of the shared popup glass; the title no longer paints a
  second frosted band (the rows scroll inside the list under it)
- the title is a muted section heading with no pin glyph; the count is
  plain text, not a grey badge
- rows at 13px with a 16px mark, the kind as plain muted text (no chip),
  the ask in two lines at most (one in compact)
- Go to source and Ask about this are plain icon tools at the row's end,
  in the age's slot: shown on row hover and on keyboard focus within the
  row, still in the Tab order; the list itself takes focus on open so no
  ring lands on the arrow
- the answer rows and side question keep their controls, tightened

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16037-16c2-7a73-b063-2e37ed40b9c4&host=cosmic-gray
@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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by session-panel on cosmic-gray · session

@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 804b853: 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=pr24068 -f ref=sp-needsyou-popover -f platform=macos -f backend_mode=local

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

gh run download 39731144150 -R manaflow-ai/cmux -n gallery-advisory-24068-804b853f1566922582e23b85bb7e6fbda886d6e1 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.needs-you/list Apple System Colors Light changed 14.1% own NeedsYou.tsx
agent-pane.needs-you/list Apple System Colors changed 12.8% own NeedsYou.tsx
agent-pane.needs-you/badge-and-pill Apple System Colors Light unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/badge-and-pill Apple System Colors unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/pill-one-ask Apple System Colors Light unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/pill-one-ask Apple System Colors unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/ask-about-this Apple System Colors Light changed 16.3% own NeedsYou.tsx
agent-pane.needs-you/ask-about-this Apple System Colors changed 14.4% own NeedsYou.tsx
agent-pane.needs-you/compact Apple System Colors Light changed 8.28% own NeedsYou.tsx
agent-pane.needs-you/compact Apple System Colors changed 8.03% own NeedsYou.tsx
agent-pane.needs-you/empty Apple System Colors Light changed 1.23% own NeedsYou.tsx
agent-pane.needs-you/empty Apple System Colors changed 0.903% own NeedsYou.tsx
agent-pane.needs-you/not-installed Apple System Colors Light unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/not-installed Apple System Colors unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/before Apple System Colors Light unchanged 0% own NeedsYou.tsx
agent-pane.needs-you/before Apple System Colors unchanged 0% own NeedsYou.tsx
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.chat-width/wide Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/new-chat Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/new-chat Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/after-turn Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/after-turn Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/working Apple System Colors Light unchanged 0% imports NeedsYou.tsx (1 hops)
agent-pane.docked-chat/working Apple System Colors unchanged 0% imports NeedsYou.tsx (1 hops)

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

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 804b853f15 (run 39745329846 attempt 1): 2 code, 1 unknown.

Job Verdict Why
web / react-apps-check (4) code a web test failed
web / react-apps-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 agent-pane-jump-latest-motion.test.ts chromium: a reply streaming in during Jump to latest's glide is followed to its latest row: failed (job)
  • seen on other PRs agent-pane-jump-latest-motion.test.ts webkit: a reply streaming in during Jump to latest's glide is followed to its latest row: failed (job)
  • seen on other PRs agent-pane-no-capsules.test.ts agent pane page > rounds its controls as small-radius rects, not capsules: failed (job)
  • seen on other PRs agent-pane-peer-chat.test.ts a chat on an SSH machine > counts its running turn from the prompt and offers no machine switch mid-...: failed (job)
  • seen on other PRs changelog-pictures.test.tsx a change's picture opens enlarged on a click, and Close closes it: failed (job)
  • seen on other PRs chat-inspector-environment.test.tsx every Environment row does something: folders open in Files, the repository and branch link to GitHu...: failed (job)
  • seen on other PRs chat-inspector-environment.test.tsx without the App's actions the rows are plain text, and no Remote Control row is drawn: failed (job)
  • seen on other PRs composer-location-strip.test.ts the chat composer: no hairline across the seam under the strip: failed (job)
  • seen on other PRs agent-pane-older-rows-fade.test.ts rows of an older page fade in once as they come into view; opened and live rows do not: failed (job)
  • seen on other PRs agent-pane-older-rows-fade.test.ts Reduce Motion draws rows of an older page in full ink at once: failed (job)
  • ... 1 more in the job logs
Matched log lines
web / react-apps-check (4): (fail) chromium: a reply streaming in during Jump to latest's glide is followed to its latest row [4065.71ms]
web / react-apps-check (2): (fail) rows of an older page fade in once as they come into view; opened and live rows do not [4363.72ms]

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

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Checks job structure (+1 more) is not red on the base c4a8483; do not merge until green; see lane-rules
red: web / Web status; NEW: green on the base c4a8483; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on c4a8483 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (2); no finished base run on c4a8483 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (4); no finished base run on c4a8483 to compare; do not merge until green; see lane-rules

Tour of 804b853f15 (run): no media. The tour did not run: only webview code changed (3 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label, then re-add media-tour, to tour it on a Mac.

@teamleaderleo teamleaderleo added the risk:low 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 43 test failures on Blacksmith runners:

Failures

Test View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
---/--- View Logs
/tmp/tmpf5qi7z_t/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpkgtwc3yr/summary-missing.json (live):/summary-missing.json (live): View Logs

...and 33 more test failures. View all on Blacksmith: run 39731144160, run 39731144308, run 39745329846

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

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 22, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent): BLOCK at 397ea9e

Blocking: two of the six new tests in webviews/test/agent-pane-needs-you-popover.test.tsx fail at this head. I ran the test's own rules()/declared() helpers against needsYou.css in plain node; that is the same JS regex code bun runs.

  1. "the tools hide at rest and show on row hover and on keyboard focus inside the row":
    • declared(".acpmux-needs-you-tools", "opacity") returns ["0", "1"], not ["0"]. The @media (hover: none) { .acpmux-needs-you-tools { opacity: 1; } } block also matches the ([^{}]+)\{([^{}]*)\} scan, because the regex restarts after the @media {.
    • rules(".acpmux-needs-you-item:is(:hover, :focus-within) .acpmux-needs-you-tools") returns []. rules() splits the selector list on every ,, including the one inside :is(:hover, :focus-within), so no part equals the whole selector. The toMatch(/opacity:\s*1/) check then fails on "".
    • Fix: split selector lists only on top-level commas, e.g. split(/,(?![^(]*\))/) as agent-pane-no-capsules.test.ts does. Then either skip rules inside @media or assert declared(...)[0] === "0".

The CSS and TSX look right. The defect is in the test's parser, but it is this PR's own red.

Checked and fine:

  • Base UI 1.8.0 initialFocus={panelRef}: FloatingFocusManager calls resolveRef(ref) and focuses the element. A tabIndex={-1} div takes programmatic focus. An empty ref falls back to the first tabbable. outline: none on the panel means no ring. Tab from the panel reaches the first row's Ask about this, then Go to source.
  • Scroll moved to .acpmux-needs-you-list (popup overflow: hidden, flex column with min-height: 0): scrollIntoView({block:"center"}) in the ask-about-this gallery play scrolls the list. The playRunner's trusted Playwright click moves the pointer over the row first, so :hover reveals the tools. opacity: 0 does not affect hit testing in any case, and the tools come after the age in the shared grid cell, so the button is the top hit at its centre.
  • Existing agent-pane-needs-you.test.tsx selectors are all still rendered: .acpmux-needs-you-go (first row first), .acpmux-needs-you-ask-about, .acpmux-needs-you-total, .acpmux-needs-you-side-*, and the answer buttons.
  • Ask about this is now in every non-compact row's meta, including rows with no answers, as before. Compact keeps Go to source and still has no ask-about.
  • popup-one-hairline: no box-shadow on .acpmux-needs-you (the old [data-focused] inset ring is gone). popup-surface: no fill on .acpmux-needs-you, the panel or the head; the sticky frosted head is removed. no-capsules: tools are 20x20 at r5, the side field is 24 high at r6, and the count chip is gone. Tooltip rules: both icon-only buttons have title + aria-label, and aria-expanded stays on Ask about this.
  • Requirements: 13px rows (--text-body), ask clamped to 2 lines (1 in compact), kind has no chip styling, no pin icon in the header, data-focused is now a wash of the mark with no ring. --acpmux-needs-you-mark is not redefined. The diff touches only NeedsYou.tsx, needsYou.css and the new test; JumpPill.tsx, useNeedsYou.ts and App.tsx are untouched. No new user-facing strings.

Non-blocking nits:

  • The title row is 12px (--text-detail, muted). That is fine for a section heading, but it is the one place that is not 13px.
  • font-family: -apple-system, ... on .acpmux-needs-you repeats what desktop.css and the popup already give. It is harmless and matches styles.css precedent.
  • In Chromium, a pointer click on an answer leaves :focus-within on the row, so its tools stay shown until focus moves. WebKit does not focus buttons on click, so the app is unaffected.
  • The age is hidden while the row is hovered or focused. This is by design, but the age is not available anywhere else then.

Its selector split broke inside :is(...) and its scan counted the
touch-screen @media rule, so two checks failed at the first head.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16037-16c2-7a73-b063-2e37ed40b9c4&host=cosmic-gray
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent): SHIP at 61afa24

Reviewed the whole PR diff (merge-base 1877593..61afa24), focusing on 61afa24, which changes only the helpers in webviews/test/agent-pane-needs-you-popover.test.tsx.

The two failures from the last review are fixed

  • topLevel removes comments and both @media blocks (prefers-reduced-motion, hover: none). After that, no @media is left, and every top-level rule after those blocks is still there.
  • The selector split /,(?![^(]*\))/ now keeps .acpmux-needs-you-item:is(:hover, :focus-within) .acpmux-needs-you-tools in one piece. The old split(",") matched 0 rules for that selector; the new split matches 1 (opacity: 1). So this check failed before the fix and passes after it.

Every CSS assertion checked
I ran the test's rules/declared logic with plain node against needsYou.css at this head. All 29 checks pass:

  • the total has no background or radius;
  • the line clamp is 2, and 1 in compact mode;
  • the kind has no background, padding, radius, shadow or border;
  • go and ask-about have border: 0, background: none and no shadow;
  • the tools sit at opacity 0 at rest and 1 on hover or focus-within, with no display: none and no visibility rule;
  • go has exactly one focus-visible outline;
  • .acpmux-needs-you, the panel and the head have no background or backdrop-filter.

Markup assertions, worked out from NeedsYou.tsx and Icon.tsx

  • The header holds only the title and total spans, with no <Icon>, so it has no data-icon.
  • The non-greedy acpmux-needs-you-meta match stops at that div's own </div>. Avatar/AgentMark, the spans and the two buttons inside it render only span, button and svg, with no inner div. Both aria-labels are inside it, and the English strings need no HTML escaping.
  • In compact mode, acpmux-needs-you-go is still rendered and acpmux-needs-you-ask-about appears nowhere (the button is behind !compact, and the side form is behind asking).

Requirements
All met:

  • glass: no fill or backdrop of its own; popup-surface.test.ts still pairs needsYou.css with the shared popup glass;
  • 13px body text;
  • the ask clamped to 2 lines;
  • the kind as plain text, with no chip;
  • the go arrow as a plain icon, shown on hover and on :focus-within, and always shown under hover: none;
  • no pin icon;
  • one-click answers, Go to source, Ask about this, compact mode, the empty state and the link-focused row are all kept;
  • the list takes initial focus through Popover's existing initialFocus prop.

JumpPill.tsx, useNeedsYou.ts and App.tsx are not in the diff, and --acpmux-needs-you-mark is still the original definition at line 8. The selectors and markup that agent-pane-needs-you.test.tsx relies on (-go, -ask-about, -total, -side*, no -answer in compact mode) are still there.

Non-blocking nits

  • The @media stripper handles only one level of nesting, and the comma split assumes no nested parentheses after a comma. That is enough for this sheet, but a future nested @supports/@media, or a selector like :is(a, :not(b)), would break it quietly.
  • For items without answers, Ask about this used to be an always-visible labelled button. It is now an icon that shows only on hover or focus. That is what was asked for; I mention it only because it is the one place where the control is harder to find.

I did not run bun test; the CSS logic was checked with node, and the markup by reading the code.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent): SHIP at 7c41404

  • Delta 61afa24..7c41404 is formatting only: one file (webviews/test/agent-pane-needs-you-popover.test.tsx), the chained css.replace(...).replace(...) that builds topLevel joined onto one line. Same two regexes, same order, same arguments; no other test, assertion or source line changed. Behaviour is identical to the head the prior SHIP covered.
  • Re-skimmed the full PR diff against merge-base 1877593 with origin/feat-cmux-next (NeedsYou.tsx, needsYou.css, the new test). No new correctness issues:
    • initialFocus={panelRef} matches Popover's initialFocus?: RefObject<HTMLElement | null> prop. NeedsYouPanel has no other callers in webviews/src, so the optional panelRef and tabIndex={-1} affect only this popover.
    • The tools are hidden by opacity alone, so they stay in the Tab order. :focus-within, an open Ask about (:has([aria-expanded="true"])) and @media (hover: none) all show them. Compact mode drops Ask about and keeps Go to source.
    • Moving the scroll from the popover to the list (overflow: hidden on the container, min-height: 0 and overflow-y: auto on the list) is consistent, and the header no longer needs to be sticky.
    • The test's CSS assertions match the sheet (for example, background: none and border: 0 on the tool rule, and line-clamp 2 and 1).
  • Not run here: bun test or builds (read-only review). CI's fast gate covers the format check.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / nightly-guards / workflow-guard-tests / release-notary is red on 12 of 18 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

Review (sonnet, correctness first): SHIP at 804b853

A different-model review (Sonnet; the lane runs on Opus), read-only on the head, using the diff 804b853f^2..804b853f. The fleet app compile passed at this head (job d2a894f0877860773bf173b8, 46 s).

  • Behaviour holds:
    • Ask about this is now a named icon <button> in the tools slot. It is reachable by Tab, it still toggles the side question, and it keeps aria-expanded.
    • Compact mode drops the same things it did before: the answers, Ask about this and the detail. Go to source stays, and the ask is clamped to one line.
    • The side question still renders when an ask has no answers.
    • Popover's initialFocus accepts RefObject<HTMLElement | null>, so the panel ref fits.
  • The CSS matches the spec:
    • The pin is gone.
    • The count is plain tabular text and the kind is a word, with no chip fill.
    • The ask is clamped to two lines.
    • The tools hide by opacity only. They show on :hover and :focus-within, and always on (hover: none), and have focus-visible outlines.
    • The list paints no fill, blur or shadow of its own.
    • --acpmux-needs-you-mark is read, never defined.
    • No new capsule radii.
  • Tests: the new popover test checks the shipped CSS and markup, and every import is used. The existing needs-you, app-store and mark-color tests use only selectors that still exist.

The reds at this head are not the PR's:

  • gallery health: composer#steer-read-hover, which this PR doesn't touch;
  • react-apps-check (4): .acpmux-drop-mark capsule, the Jump to latest glide and the SSH chat test, which fail the same way on cmux NEXT: remove the Needs your input pill over the transcript #24108's head;
  • cmux-next checks: Swift convention errors in AttentionHighlightLook.swift and AgentPaneNeedsYouSetting.swift, both outside this PR;
  • release-notary and Guard status.

Nits, not blocking: Ask about this has no aria-controls. The age isn't announced while the tools have focus.

@teamleaderleo teamleaderleo added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 22, 2026
@teamleaderleo
teamleaderleo merged commit 592dc54 into feat-cmux-next Oct 22, 2026
1 check passed
@teamleaderleo
teamleaderleo deleted the sp-needsyou-popover branch October 22, 2026 11:31
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant