Repository navigation
cmux-next tests: the Extensions menu suite scales its budgets by the runner's reference workload - #24157
Conversation
…t target both test targets can use CmuxNextBrowserTests cannot see a file in CmuxNextAppTests, and its Extensions menu budgets need the same runner calibration the sidebar suites use. The helper moves unchanged into a small regular target under Tests/ (no product links it), made public, and takes threadCPU and percentile with it; SidebarScrollBench's copies forward to them. CmuxNextAppTests and CmuxNextBrowserTests depend on it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
…e by its reference workload A stand-in runner does every timed open and every reference sample three times, with no screen, so the test runs on every runner. Its opens break budgets set on this host's own opens, and must hold them once they scale by the runner's FrameBudgetCalibration. Budgets.scaled is a stub that never scales, so the test is red. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
…rkload aws-m4pro-9, a runner 3-4x slower at every sidebar frame, read a 51.3 ms first open of the Extensions menu against 50 ms with no change in the code. The open and hover tests now time FrameBudgetCalibration's reference workload before and after their timings and hold the 16 ms open, 50 ms first open and 16 ms hover budgets scaled by it, or skip them with the reason printed when the runner is over 4x nominal or too noisy to read. The budgets themselves are unchanged; the icon-reload and no-Chromium-wait checks stay unconditional. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
…ntry goes Its budgets are no longer literal duration asserts: they go through Budgets.overruns, scaled by the runner's calibration, and the checker finds nothing in the file without the entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
|
Owned by cx4-bi24157 on huge-blue |
|
Review (independent subagent): SHIP at f6fdee3
Not fixed here: aws-m4pro-9 is slow at drawing, not CPU (factor 1.00), so its first-open red stays (see "Not in this PR"). |
|
Bead |
…ort-2/extmenu-calibrate # Conflicts: # Packages/macOS/CmuxNext/Package.swift
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
web and size checks: green |
|
Found 4 test failures on Blacksmith runners: Failures
|
|
Review (independent subagent): SHIP at 3a67073 The head is a merge of feat-cmux-next into the earlier reviewed head f6fdee3. The one conflict was in
|
…ort-2/extmenu-calibrate
…pport, where FrameBudgetCalibration now lives Base added SidebarHoverCardRetargetBenchTests after this branch moved FrameBudgetCalibration out of CmuxNextAppTests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
Bugbot needs on-demand usage enabledBugbot 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. |
|
Review (independent subagent): SHIP at 9380e81 Since 3a67073 (shipped), this head merges feat-cmux-next again to pick up #24227's test-compile fix (the earlier fast tier and daemon reds were that base break,
|
Package.swift: CmuxNextBrowserTests keeps base's CmuxNextDesign and this branch's CmuxNextTestSupport. SidebarLagTests (new on base) imports CmuxNextTestSupport, where FrameBudgetCalibration now lives. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-98cd-7a42-ac32-a70f43729c15&host=cosmic-gray
|
|
|
|
|
|
|
|
|
|
|
Orphaned: no activity for 54 h, and no lane holds a lease on it. The orphan sweep could not merge |
|
Review (codex gpt-6-astra xhigh, next-review): SHIP at e5308c8 No blocking findings. The helper move preserves its logic, and callers have the required imports and dependencies. macOS tests could not be run in this Linux environment. |
Bugbot needs on-demand usage enabledBugbot 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. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40631829534 at 09b9b3f failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Shipped in:
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo’s request
Change
Share the existing
FrameBudgetCalibrationwith the Extensions menu performance suite. Keep the nominal 16 ms open, 50 ms first-open and 16 ms hover budgets; scale them by the same runner reference workload already used by sidebar tests. Runners over 4× nominal speed cost, or with excessively noisy samples, print a reason and skip the timed assertions. Functional assertions still run, including icon reuse and opening without waiting for Chromium.The helper moves to
Tests/CmuxNextTestSupport; only the browser and app test targets depend on it. Sidebar callers gain the import and retain the existing calibration logic. The build-input guard recognizes this reviewed test-only target because no shipped product links it, and the architecture map records it as a core helper. Two screen-independent tests exercise slow and fast runner behavior, and the old duration-assertion allowlist entry is removed.Risk: test-only package wiring and performance-budget calibration. No product sources, visual design, new timers, observers or animation loops change. Calibration samples are synchronous and bounded to 15 measurements per checkpoint.
Validation
feat-cmux-nextat47b4dbb1c154c4c29c4802a2e0416ec450ff51b4; resolved Package.swift by retaining both sides’ dependencies. Diff: 11 files, +137/−40.python3 tests/test_dev_release_product_key.py: all 9 tests pass after recognizing the shared test-support target.323876d01f2088dc1a4cd9aa294c395c658bcc8a.Known limit: the CPU reference cannot explain extra AppKit drawing cost on a nominal-speed runner; earlier first-open measurements of 51.3–54.6 ms still exceeded 50 ms with factor 1.00. Those base timing failures are separate from this calibration/wiring change. Related follow-up: #26303.
Agent session: agent session