Repository navigation
ci: make the aggregate app-host product the default, layers opt-in - #14975
Conversation
The layered product transport (four layer artifacts plus an index) is slower than the aggregate product over parallel range requests, and its uploads sit on compile admission, which every app-host shard waits on. Measured on five full-suite PR runs on the owned minis, 2026-09-26/27: - compile admission: the layer package + four uploads + index upload added 100 to 255 s after the aggregate upload finished. - app-host shards: "Restore selective app-host product layers" took 68 to 231 s (median about 115 s, n=17); "Try parallel GitHub artifact transport" of the aggregate took 34 to 90 s (median about 70 s, n=18). Each shard holds its mini's gui token for the whole job, and gui-pool shards queued 362 minutes in the last 24 h while the gui tokens were the fleet's binding constraint (median 10 held, units under half used). Dropping layers cuts about 2 to 4 minutes from each full-suite run's critical path and about 45 s of gui-token hold per shard. docs/ci/app-host-layer-transport.md already describes layers as an opt-in canary; product_artifacts: layered still turns them on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 5 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge receipt for
Labeled |
f5c179f iOS: fix the test failures that keep iOS CI red on main (manaflow-ai#14803) 8685bf5 Hold update relaunch while agents are mid-turn (manaflow-ai#14969) dc90332 Keep CLI socket-discovery tests off the host's real cmux (manaflow-ai#14919) dd3c91b docs: shorten root agent instructions and link existing procedures (manaflow-ai#14998) 8c744df Rename edits inline or in the palette, never in an alert (manaflow-ai#14986) 9ae4383 Calmer chrome motion: appear instantly, fade out only, no overshoot (manaflow-ai#14984) 6510f56 Write opencode config JSON without escaping slashes (cmux 7140) (manaflow-ai#14805) ab5e7da ci: stop catch-up merges from failing the CLA check (manaflow-ai#14913) 52c8f41 Add cmux session move for Claude sessions (manaflow-ai#14959) 36785b1 Hide decorative Settings sidebar icons from VoiceOver (manaflow-ai#14989) 4c7158c Label the sound preview button and fix mistranslated action verbs (manaflow-ai#14983) e704a77 Bound untracked paths stored in last-turn diff baselines (manaflow-ai#14980) f073df1 Fix remote Files sidebar for names that change under NFD (manaflow-ai#14978) 5c68499 Bump bonsplit: mouse wheel scrolls the overflowed tab strip (manaflow-ai#14985) 9466dcb Keep agent resume bindings through the update-relaunch save (manaflow-ai#14971) ef8b037 docs: take release notes from a Changelog section in each PR instead of CHANGELOG.md edits (manaflow-ai#14934) 6eddfd7 ci: skip the delta diff when main moved further than the pull request (manaflow-ai#14987) fefcec7 ci: attribute red PR runs to the machine or the code, re-run machine failures once (manaflow-ai#14977) c185deb Accept file drops on remote tmux mirror panes (manaflow-ai#14981) 90773c7 test: make CmuxSidebarGit probe waits event-driven (manaflow-ai#14973) 1f2dbfe ci: skip the scheduled Blacksmith cache warmers while owned pools serve PRs (manaflow-ai#14827) 2850651 docs: add a guide to customizing cmux's look (manaflow-ai#14850) b66e365 Resolve a separate sidebar's content against its own backdrop (manaflow-ai#14841) 88a9360 UI tests: one labelled frame per action, built in CI; scripts/ui-test (manaflow-ai#14966) 20cfa78 fix(omo): resolve relative file refs in the shadow config without double-loading OpenCode config (manaflow-ai#14935) f0e964c ci: make the aggregate app-host product the default, layers opt-in (manaflow-ai#14975) 52dce98 ci: run and register the machine-failure test (manaflow-ai#14972) 7bf48bc ci: route compile admission by kept-build distance across minis (manaflow-ai#14949) 44fa3f5 Offer cmux in Open With for Markdown, source, and text files (manaflow-ai#14968) 45c2d66 Replay the Claude session id of agents in cmux ssh (cmux-tui) panes (manaflow-ai#14906) b4c1b31 Label icon-only chrome buttons and localize project panel text (manaflow-ai#14926) 14a6909 seed prefetch: keep the seed adopt would pick, of any seeded width (manaflow-ai#14944) 19e73d2 ci: self-calibrating warm-distance compile estimates (manaflow-ai#14932) fa98d86 ci: redispatch focused runs the Mac failed before any test started (manaflow-ai#14963)
What
ci-macos.yml'sproduct_artifactsinput now defaults toaggregate. Compile admission stops packaging and uploading the four app-host layer artifacts and their index. App-host shards andtests-build-and-lagthen skip "Restore selective app-host product layers" and read the aggregate product: node-local cache, trusted peer, R2 when configured, then parallel range requests.product_artifacts: layeredstill turns the layers on for a canary, asdocs/ci/app-host-layer-transport.mddescribes.Why
Layers are slower on both ends. Measured on five full-suite PR runs on the owned minis (runs 36287456496, 36288708517, 36311480979, 36271916361, 36274774841):
Every shard
needscompile admission, so the layer uploads sit on the critical path of every full-suite run. Each shard also holds its mini's gui token for the whole job. Over the last 24 h, gui-pool shards queued 362 minutes. During those waits the fleet held a median of 10 gui tokens with fewer than half its capacity units in use, so the gui token was the binding constraint. With this change each full-suite run should finish about 2 to 4 minutes sooner, and each shard should hold the gui token about 45 s less.Layers became the default in #13567, a large squash whose stated purpose was peer transport. The parallel aggregate transport (74b94e3) landed after it.
Tests
python3 tests/test_ci_selective_layer_wiring.pypasses. The default assertion is updated, and the other wiring checks are unchanged.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Makes the aggregate app-host product the default in
ci-macos.yml, with the layered transport now opt-in viaproduct_artifacts: layered, asdocs/ci/app-host-layer-transport.mddescribes.product_artifacts: layeredfrom ci.yml's macos call.tests/test_ci_selective_layer_wiring.py; other wiring checks are unchanged.Written for commit 6829244. Summary will update on new commits.