You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reduce time to a trustworthy CI result and the runner work spent obtaining it, preserving the complete supported compiler/configuration/test contract.
This is a coordination and acceptance meta-issue, not a replacement for #333, #335, #408, #409, #603, #604, or #413. Keep implementation, ownership, and exact-source evidence in those existing issues and the two newly recorded investigations, #707 and #708. Do not create another scheduler, coverage inventory, benchmark service, or generic optimization epic.
Primary implementation priority: #333, targeting Windows x86-64 and Intel macOS together. Investigate #707's configuration startup and #708's Windows driver-test tail alongside it. Complete existing qualification work instead of reimplementing landed changes.
Read AGENTS.md, docs/agents/build.md, docs/agents/testing.md, and docs/agents/workflow.md first. This campaign preserves the single optimized Release unity translation unit and native object, all supported platform/configuration coverage, and the native build driver's orchestration authority.
Evidence and scope of the baseline
Research inspected source at 1a6def6f69faba8a9c6e515f28a0da029a4c8417; the filing refresh observed main b8dd9857c0b8b5dcfc4f1e45159cf4155d26b19f, tree cdb29eb88812caa306bc118add664f2be2c4e9af, after merged #704.
The timing observation is a different, explicitly pinned revision: successful main/push Buster CI 35145639100, attempt 1, source 76dbb1014cf87eab5d8aae32fe8b0bdabee84b8e. It ran September 16, 2026, 20:17:15–20:41:43 UTC: 1,468 s / 24m28s.
This is one successful observation, not a before/after experiment, stable median, or complete runner-cost census. Separate workflow-level CI completion from all-required-workflow completion and from human review/merge time. The analyzer number is for a push; #616's same-revision selection means it cannot be transferred to a PR/merge-group comparison cohort.
Windows finished at 20:40:55 and Intel macOS at 20:41:36: only 41 seconds apart. Under that observed schedule, making only the Mac lane arbitrarily faster removes at most that gap from the latest prerequisite finish. Improving both exposes Linux x86-64 as the next roughly 18-minute bound. These are scheduling deductions, not additive speedup promises. The critical jobs' creation-to-start delays were only two and four seconds in this sample; capacity problems in other cohorts remain unmeasured.
Work map: retain owners and distinguish landed implementation from acceptance
#410 already separated native suites; #612's desktop coverage prerequisite is merged. The existing continuation says a partition candidate was being built.
Continue that ownership; implement deterministic, disjoint/exhaustive compiler/configuration partitions and measure end-to-end latency plus cost. No competing scheduler branch.
Windows Zig generation 139.810883 s, versus 1.35–3.45 s for its other compiler trees; Intel Mac Zig generation 60.329349 s. Download-archive setup is separate.
Attribute actual configure child work, then remove demonstrated redundancy or qualify a narrowly scoped optimization. Configuration/build overlap stays coordinated with #333.
#708: Windows sanitized Debug driver-test tail — NEW
compiler_driver_tests takes 414.4824948 s, with 28,772 assertions and zero failures, in the required sanitized Debug row.
Attribute fixtures and child operations; preserve coverage and shared worker budgets. Do not mistake a long successful module for a correctness failure or removable duplicate.
Published screening selects debug-info-only profile C for further qualification, with producer-build reductions around 14–22%; guarded/full-job acceptance was explicitly incomplete.
Finish the existing candidate's guarded compiler-throughput and full-native-job qualification. Preserve local profiling defaults, frame pointers, optimized unity, diagnostics and matching normal/recovery generation.
Bounded workers and production rollout #618 are merged.
Retain prior source-bound evidence and finish/reconcile remaining issue acceptance; do not implement four-worker rollout again or sum its historical saving with another cohort.
Historical trace exists; its main source target overlaps #36-owned direct-native code and has changed.
Fresh current-source profiling and ownership qualification before a source optimization. Not a prerequisite to every independent CI change.
#333 design constraint: Intel Mac direct scheduling
The retained Intel Mac log uses separate direct build/test invocations for unsanitized Release, sanitized Debug/Release, GCC Debug and Zig Debug. Windows uses the four-slot superbuild with one-job tree quotas. The inspected coverage policy explicitly treats Intel macOS as direct scheduling.
Investigate why that exception exists before changing it. Within #333, compare the retained direct path, a supported pooled alternative, and semantic external partitions against the same authoritative required rows. Do not assume flipping the exception is safe, demand platform-identical scheduling for its own sake, or split the Release compiler into multiple objects. More CI jobs are only useful when queue/setup/duplicate work and resource pressure do not erase the benefit.
Corrected reliability work, not new duplicate issues
#685 is not established as a cleanup-only failure. The complete-log diagnosis preserved in merged #704 identifies Debug payload deadline failures followed by Release success in all three originally cited failing attempts. The batch was already failed before final cleanup. #686 supplied production status/lifecycle work; #704 now exposes configuration and payload/cleanup/overall status separately.
Reuse those changes. Do not weaken cleanup or accept a final Release marker as evidence that Debug passed. Coordinate with #676's existing debug-location work where actually relevant; no Windows root cause is inferred from an Android report.
Keep separately owned mobile/coverage and wrapper work (#331/#332/#334/#335, #394/#636, #701) visible, but do not make completion of every broader feature ticket a new dependency of this bounded speedup campaign. Count retry waste and failed/incomplete attempts as operational outcomes, not fast successful samples.
Delivery sequence and coordination
A — Establish one comparable cohort. Reuse tools/github_ci_time.py, existing step/module timings, and retained manifests. Record all job pages and attempts, the exact required workflow set, and the chosen cost/latency goals before timing candidates. Extend existing tools only when a required field is missing. No dashboard or daemon is needed.
B — Work the co-critical desktop lanes. Advance the existing #333 continuation against merged #612. Run #707/#708's read-only attribution in parallel, then agree ownership of any actual shared-code repair. Keep complete compiler/configuration trees together where splitting would duplicate expensive producers; measure rather than assume the optimal boundary.
C — Finish bounded existing savings. Continue #604's selected profile and #603's remaining comparison work. Preserve #408/#409's landed implementations and distinct acceptance. Reassess analyzer and Linux bottlenecks after each integrated step instead of optimizing from stale rankings.
D — Validate the combined result. Individually useful PRs may land independently after their own review and gates. Remeasure the integrated rollout against an equivalent baseline; record remaining bottlenecks and rejected candidates. Never calculate whole-workflow savings by adding unrelated phase reductions.
The campaign goal is to move the two approximately 24-minute desktop lanes below the next demonstrated bottleneck, then re-rank. This is a direction, not an approved numerical budget or measured result. Record the practical latency target and permitted runner-cost change before the first acceptance cohort; any deliberate cost increase requires a visible justification, not post-hoc threshold widening.
Aggregation: preserve explicit status checking after every dependency outcome. GitHub's documented needs behavior can skip dependent jobs after failure/skip unless their condition permits continuation. A final job merely being declared is not a fail-closed proof. Keep optional/inapplicable companion jobs distinct from missing required work, and do not infer every companion workflow is covered by CI complete.
Resources: account for outer build jobs, inner Ninja jobs and test workers together; preserve BUSTER_TEST_JOBS and the existing matrix budget. Record actual memory/CPU observations; virtual arena reservations are not measured RSS. No unrestricted second worker pool or benchmark-host admission bypass.
Sampling: at least three comparable successful complete runs per baseline/candidate arm as required by ci: shard the desktop combination matrix to reduce the critical path #333, with every attempted failure/cancellation/incomplete run also retained. Predeclare attempt/cohort rules; no rerun-until-green selection. Separate PR, push, merge-group, cold/warm cache, runner image and toolchain populations. Three samples are a minimum operational check, not automatic statistical significance or a defensible p95 estimate.
Metrics: workflow creation to terminal gate; job creation-to-start queue delay; execution span; sum of actual job execution durations; configure/build/link/test/package/upload phases; duplicated producer work; cache transfer/verification cost; CPU and peak simultaneous RSS where available. Keep wall, CPU and runner seconds separate. Report unavailable fields as unknown, not zero. Broader exact-head required-workflow latency and retry work remain separate columns.
Performance: use matched uninstrumented builds for acceptance; diagnostic traces only explain attribution. When producer flags/source change, validate the resulting compiler's throughput as well as host build cost. Preserve the applicable existing performance contract; this meta-issue approves no new thresholds.
Reproducibility: exact reproduction and rollback per PR; retained raw logs, coverage identities and rejected attempts, with durable preservation of selected acceptance evidence before artifact expiry. Do not rely solely on a ChatGPT attachment or an expiring green badge.
Record the baseline cohort, exact source/toolchain/coverage identities, target latency and runner-cost tolerance before candidate acceptance.
Land at least one measured coverage-preserving critical-path improvement and verify its complete integrated CI result; a documentation-only meta-issue is not completion.
Publish whole-workflow and aggregate runner-cost results, all attempts and limitations, proof of unchanged required coverage, and failure/cancellation/resource controls.
Record the next actual bottleneck and link any remaining scoped owners; close this bounded campaign by an explicit evidence-backed disposition, not by automatically closing its broader children.
No production dispatch/deletion, #36 support manifest, retirement budget, dedicated-host service, branch protection, runner purchase, dependency upgrade, or unrelated source refactor is authorized by this tracking issue. No code or CI run was produced while filing it. New execution in this task was limited to local archive hashing/decoding and evidence inspection; the timing results remain from the pinned retained run.
Objective
Reduce time to a trustworthy CI result and the runner work spent obtaining it, preserving the complete supported compiler/configuration/test contract.
This is a coordination and acceptance meta-issue, not a replacement for #333, #335, #408, #409, #603, #604, or #413. Keep implementation, ownership, and exact-source evidence in those existing issues and the two newly recorded investigations, #707 and #708. Do not create another scheduler, coverage inventory, benchmark service, or generic optimization epic.
Primary implementation priority: #333, targeting Windows x86-64 and Intel macOS together. Investigate #707's configuration startup and #708's Windows driver-test tail alongside it. Complete existing qualification work instead of reimplementing landed changes.
Read
AGENTS.md,docs/agents/build.md,docs/agents/testing.md, anddocs/agents/workflow.mdfirst. This campaign preserves the single optimized Release unity translation unit and native object, all supported platform/configuration coverage, and the native build driver's orchestration authority.Evidence and scope of the baseline
Research inspected source at
1a6def6f69faba8a9c6e515f28a0da029a4c8417; the filing refresh observed mainb8dd9857c0b8b5dcfc4f1e45159cf4155d26b19f, treecdb29eb88812caa306bc118add664f2be2c4e9af, after merged #704.The timing observation is a different, explicitly pinned revision: successful main/push Buster CI 35145639100, attempt 1, source
76dbb1014cf87eab5d8aae32fe8b0bdabee84b8e. It ran September 16, 2026, 20:17:15–20:41:43 UTC: 1,468 s / 24m28s.This is one successful observation, not a before/after experiment, stable median, or complete runner-cost census. Separate workflow-level CI completion from all-required-workflow completion and from human review/merge time. The analyzer number is for a push; #616's same-revision selection means it cannot be transferred to a PR/merge-group comparison cohort.
Windows finished at 20:40:55 and Intel macOS at 20:41:36: only 41 seconds apart. Under that observed schedule, making only the Mac lane arbitrarily faster removes at most that gap from the latest prerequisite finish. Improving both exposes Linux x86-64 as the next roughly 18-minute bound. These are scheduling deductions, not additive speedup promises. The critical jobs' creation-to-start delays were only two and four seconds in this sample; capacity problems in other cohorts remain unmeasured.
Work map: retain owners and distinguish landed implementation from acceptance
compiler_driver_teststakes 414.4824948 s, with 28,772 assertions and zero failures, in the required sanitized Debug row.#333 design constraint: Intel Mac direct scheduling
The retained Intel Mac log uses separate direct build/test invocations for unsanitized Release, sanitized Debug/Release, GCC Debug and Zig Debug. Windows uses the four-slot superbuild with one-job tree quotas. The inspected coverage policy explicitly treats Intel macOS as direct scheduling.
Investigate why that exception exists before changing it. Within #333, compare the retained direct path, a supported pooled alternative, and semantic external partitions against the same authoritative required rows. Do not assume flipping the exception is safe, demand platform-identical scheduling for its own sake, or split the Release compiler into multiple objects. More CI jobs are only useful when queue/setup/duplicate work and resource pressure do not erase the benefit.
Corrected reliability work, not new duplicate issues
#685 is not established as a cleanup-only failure. The complete-log diagnosis preserved in merged #704 identifies Debug payload deadline failures followed by Release success in all three originally cited failing attempts. The batch was already failed before final cleanup. #686 supplied production status/lifecycle work; #704 now exposes configuration and payload/cleanup/overall status separately.
Reuse those changes. Do not weaken cleanup or accept a final Release marker as evidence that Debug passed. Coordinate with #676's existing debug-location work where actually relevant; no Windows root cause is inferred from an Android report.
Keep separately owned mobile/coverage and wrapper work (#331/#332/#334/#335, #394/#636, #701) visible, but do not make completion of every broader feature ticket a new dependency of this bounded speedup campaign. Count retry waste and failed/incomplete attempts as operational outcomes, not fast successful samples.
Delivery sequence and coordination
A — Establish one comparable cohort. Reuse
tools/github_ci_time.py, existing step/module timings, and retained manifests. Record all job pages and attempts, the exact required workflow set, and the chosen cost/latency goals before timing candidates. Extend existing tools only when a required field is missing. No dashboard or daemon is needed.B — Work the co-critical desktop lanes. Advance the existing #333 continuation against merged #612. Run #707/#708's read-only attribution in parallel, then agree ownership of any actual shared-code repair. Keep complete compiler/configuration trees together where splitting would duplicate expensive producers; measure rather than assume the optimal boundary.
C — Finish bounded existing savings. Continue #604's selected profile and #603's remaining comparison work. Preserve #408/#409's landed implementations and distinct acceptance. Reassess analyzer and Linux bottlenecks after each integrated step instead of optimizing from stale rankings.
D — Validate the combined result. Individually useful PRs may land independently after their own review and gates. Remeasure the integrated rollout against an equivalent baseline; record remaining bottlenecks and rejected candidates. Never calculate whole-workflow savings by adding unrelated phase reductions.
The campaign goal is to move the two approximately 24-minute desktop lanes below the next demonstrated bottleneck, then re-rank. This is a direction, not an approved numerical budget or measured result. Record the practical latency target and permitted runner-cost change before the first acceptance cohort; any deliberate cost increase requires a visible justification, not post-hoc threshold widening.
Non-negotiable validation contract
needsbehavior can skip dependent jobs after failure/skip unless their condition permits continuation. A final job merely being declared is not a fail-closed proof. Keep optional/inapplicable companion jobs distinct from missing required work, and do not infer every companion workflow is covered byCI complete.BUSTER_TEST_JOBSand the existing matrix budget. Record actual memory/CPU observations; virtual arena reservations are not measured RSS. No unrestricted second worker pool or benchmark-host admission bypass.Completion checklist
No production dispatch/deletion, #36 support manifest, retirement budget, dedicated-host service, branch protection, runner purchase, dependency upgrade, or unrelated source refactor is authorized by this tracking issue. No code or CI run was produced while filing it. New execution in this task was limited to local archive hashing/decoding and evidence inspection; the timing results remain from the pinned retained run.