ci: shorten feat-cmux-next feedback and archive stale fleet guidance

Closed
TE
25d ago
+887-162

Problem

feat-cmux-next PR feedback is dominated by stale macOS attempts and a long Linux react-apps-check. The current controller sample is 15.8 min p50 / 48.0 min p90 from push to the last gating check.

Change

  • Coalesce fast tier, Swift canary, and report-only Swift attempts by PR number so a newer PR run cancels superseded work. Push branch queue semantics remain unchanged.
  • Remove the duplicate webviews typecheck from react-apps-check; the source build still verifies the router and runs Vite, while the dedicated check runs typecheck once.
  • Restore the webviews Bun package cache on the Blacksmith Linux lane using webviews/bun.lock.
  • Mark the retired persistent compile pilot in docs/ci/mac-fleet.md as historical and point current routing to live controller/fleet sources.
  • Add the bounded timing receipt at docs/ci/feat-cmux-next-feedback-timing-2026-10-14.md.

Measurements

Baseline controller records, queue/run p50/p90 in minutes:

  • fast tier n=11: 5.7/11.4 queue, 7.4/11.2 run
  • Swift canary n=3: 13.5/13.5 queue, 5.4/5.4 run
  • Swift report-only n=19: 0.05/1.57 queue, 4.2/7.8 run
  • react-apps-check n=4: 8.0/9.0 queue, 14.5/14.7 run
  • cmux-next checks n=32: 0.05/0.08 queue, 3.7/4.8 run

PR #20366 is the admission outlier: fast tier queued 39.6 min and ran 11.35 min; setup and completion consumed 338 seconds. The first post-change green controller receipt will be the after measurement for cancellation and web build changes.

Issue: https://github.com/manaflow-ai/cmuxterm-hq/issues/1974

Validation

  • bash -n scripts/build-webviews-app.sh
  • shellcheck scripts/build-webviews-app.sh
  • scripts/cmux-next/tests/fast-tier.test.sh
  • python3 -m py_compile scripts/ci/side_lane_placement.py scripts/ci/pr_runner_pool.py
  • actionlint .github/workflows/cmux-next.yml .github/workflows/ci-web.yml

Changelog

none


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


Summary by cubic

Shortens feat-cmux-next PR feedback and makes rescue timing survive late fleet refusals.

The fast tier is now Linux-only deterministic Rust suites on Blacksmith; Swift canary, size cap, crash ratchet, and compile tiers move behind the full-ci label and the batch integration branch. PR-triggered fast tier and Swift jobs coalesce on per-PR concurrency keys with cancel-in-progress; push and dispatch branches keep queue semantics. react-apps-check runs typecheck once via the new --skip-typecheck flag and restores Bun's cache from webviews/bun.lock. The owned-pool rescuer now watches a run until completion and wakes directly from side-lane completed runs and pull_request_target events, so a runner-hook refusal after an earlier accepted job gets retried. The macOS launch-time budget skips its probe under a one-minute load above max(16, 2 * CPU) and records a receipt instead of failing the PR. A trusted advisory workflow warns and mentions owners when a hunk touches @intent ... stability=familiar unless the PR body declares an Intent-Delta. docs/ci/mac-fleet.md archives the retired compile pilot; new receipts record baseline queue/run p50/p90 with PR #20366 as the admission outlier, the fast/batch tier split, and a named batch sheriff owning the cadence run.