Skip to content

cmux NEXT: the host pressure indicator ships on - #32179

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/host-pressure-on-by-default
Nov 2, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/host-pressure-on-by-default

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Leo asked for cmux NEXT itself to warn on CPU and RAM pressure:

i mean cmux next itself should be more cpu and ram aware... with stat or whatenot. maybe even acpmux itself.. just warn for now instead of prenveting stuff

The indicator, popover and monitor already landed (#24298, #24507, #24518), but hostPressure.enabled shipped off as a Debug toggle. A feature Leo asked for ships on by default, so this flips that one default to true. Release and RC never activate the tunable store, so they now read the new default and show the indicator too.

  • On: the top-row gauge after the toolbar band. A normal host shows nothing. Warning and critical show a still glyph with the existing popover: the load against its limit, acpmux's reasons and the busiest sessions. It only warns and prevents nothing.
  • Unchanged: the critical banner (hostPressure.banner) stays off.
  • Cost: one app-wide 15 s DispatchSourceTimer (2 s leeway), so 4 reads a minute while at least one window can be seen.
  • Stop condition: it stops when every window is hidden, minimized, occluded or closed, or when the toggle goes off. cmux NEXT: host pressure indicator and popover in the top row, off by default (part 2) #24507 has the measured cost: the timer's wakeups are below run-to-run noise.
  • Tests: theToggleShipsOnAndOffNeverMakesTheService now pins the default as on and still checks that off makes no service. The banner test sets the toggle off explicitly before it checks the off → on edge.
  • Tour: the launch step's title now says the indicator ships on.

Small change: one default, its doc comment and help text, and two test setups.

Leo-ask: ask-8827679cab

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Ships the host pressure indicator in cmux NEXT on by default: hostPressure.enabled now defaults to true instead of shipping off behind a Debug toggle, so Release and RC builds also show it.

  • On: a still gauge after the toolbar band appears when the Mac is busy or overloaded, with a popover showing the load against its limit, acpmux's reasons, and the busiest sessions. Warning only — nothing is prevented.
  • The critical banner (hostPressure.banner) stays off.
  • Cost: one 15 s app-wide DispatchSourceTimer (2 s leeway) that runs only while at least one window is visible; measured wakeups are below run-to-run noise.
  • Tests now pin the default to on, and the banner test sets the toggle off explicitly before checking the off → on edge.

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

View guided diff Turn on auto-fix

Leo asked for cmux NEXT to warn on CPU and RAM pressure; a feature he
asked for ships on, not behind a Debug toggle. The critical banner stays off.

Leo-ask: ask-8827679cab

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

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Review f3fb7eb: 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=pr32179 -f ref=lane/host-pressure-on-by-default -f platform=macos -f backend_mode=local

Default changes

This pull request changes 2 defaults at f3fb7ebcd982 (what everyone gets without configuring anything):

  • tunable-source.CmuxNextApp/HostPressure/HostPressureTunables.swift:enabled: "d6a67b0647b11d021a763eb3f5ca2b5a33589f66239b8360b031bee7178e49b3" -> "f8a5c78f175beaed03a08840c67750bcf439b78189e4b5170a0f70661bb9a3cf"
  • tunable.hostPressure.enabled: false -> true

Signed off on this commit by review (subagent claude-opus-5-5, comment-only delta checked by claude-sonnet-5-5).

Merge receipt: merged as 203c0ff939e4 with these defaults changed, signed off by review (subagent claude-opus-5-5, comment-only delta checked by claude-sonnet-5-5).

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

Shipped in:

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

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5, comment-only delta checked by claude-sonnet-5-5): SHIP at f3fb7eb

Only HostPressureIndicatorTests depends on the default, and both of its setups now set the toggle explicitly. In Release the store is never activated, so value(in:) returns the new default. The service is created lazily, and a nil acpmux falls back to sysctl. The delta from f614485 changes only comments and docs.

Follow-ups:

  • [follow-up] Release has no off switch for the indicator, since only a real setting would give one.
  • [follow-up] Window tests whose window counts as visible could sample a busy CI host: pin hostPressure.enabled off in the shared window-test fixture.

@teamleaderleo
teamleaderleo merged commit 203c0ff into feat-cmux-next Nov 2, 2026
136 of 140 checks passed
@teamleaderleo
teamleaderleo deleted the lane/host-pressure-on-by-default branch November 2, 2026 11:23
lawrencecchen added a commit that referenced this pull request Nov 2, 2026
…ost Pressure Warning in the palette (#32374)

* test(host-pressure): the indicator ships off and makes no service with nothing set

Red on the base: #32179 made hostPressure.enabled default on, so a seen
window's indicator subscribes and starts the 15 s monitor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* cmux NEXT: the host pressure warning is off by default; Show / Hide Host Pressure Warning in the palette

Lawrence 2026-11-02: "get rid of host-pressure warning by default, can be
enabled in cmd shift p tho". Takes back #32179.

- hostPressure.enabled defaults to false. With it off, no window's
  indicator subscribes, so HostPressureService (its monitor, the 15 s timer
  and the critical banner) is never made; the gauge stays hidden.
- Show Host Pressure Warning / Hide Host Pressure Warning
  (hostPressure.showWarning / hostPressure.hideWarning; palette, DEV and
  NIGHTLY like the tunable store) set the same Debug toggle through
  DebugTunableSwitchActions (CmuxNextSettingsWindow), bound with
  bindEffect. Hide removes the override, as the Debug Settings row does.
  Every window's indicator follows the store's Observation.
- English and Japanese (and the other catalog locales) in
  ActionCatalog.xcstrings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* DebugTunableSwitchActions: reach the tunable types through CmuxNextDesign, the package's declared dependency

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ActionCatalog.xcstrings: feat's text with the two host pressure titles added, not a reformatted copy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

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

This branch was previously deployed

1 inactive deployment
ci-routing-agent — f3fb7ebc Deployed Nov 2, 2026 by teamleaderleo via wait for same-key tree publisher #100885
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant