Repository navigation
Remove rust_tests job from CI (free a runner slot; drop the 37 GiB job) - #6466
Conversation
A temporary red probe (union_resolve_receipts_test.rs) used to characterize the width==1 typecheck-compute-counter semantics was captured by the auto-committer in 533e473 while it sat in the working tree. It asserts a deliberate RED, so it fails rust_tests. It was never intended to land. Restores the file to its state at 674381f. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…echeck counter
`typecheck_compute_count()` counts typecheck cache MISSES on the current thread and
is never reset in production (only tests reset it), so it equals a closure size only
from a cold start. The measurement window cannot assume that:
- width == 1 returns `run_discovery_rows` on the discovery thread, which has already
resolved every changed file via `floor_diff_edits_from_line_ranges` plus both prefix
entries. The reported count was therefore |closure(changed files) u closure(prefix)
u closure(rows)| -- a function of the diff under test, not of the roster.
- `floor_skip_discovery_witness` calls run_discovery_corpus three times on one thread,
so the 2nd and 3rd calls read a counter warmed by the 1st.
Count the union of authored module names across the graphs the shard actually resolves
(prefix contexts + each roster entry) instead. That is a property of the source closure:
independent of cache warmth, resolve order, and the diff. Prefix modules stay counted --
they are resident for the shard's lifetime, so they belong in the memory pairing.
Note the parallel path was never the problem: run_walk dispatches DiscoveryBatch via
thread::spawn, so shards do start cold. The defect was the pre-row work on the discovery
thread, which shards never repeat.
Adds a discriminating control: a prior same-thread resolve moves the compute counter
(asserted, so the control stays discriminating) but must not move the closure count.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… knobs) The host OOM is systematic, not intermittent: a width==1 shard is killed by host-level oversubscription under its own slot cap, so narrowing width cannot help. The per-shard prediction therefore feeds TWO knobs — within-job width and cross-job packing/admission — and the systematic case is served by admission- refusal, not width. Records RSS-at-kill as a lower-bound calibration point. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tsJob coproduct variants Frees a runner slot and drops CI's largest memory job (~37 GiB). The v1 rust fmt+nextest gate was non-required and red on main (v1 seed being deleted, §7); formatting stays covered by the pre-push hook. Removes the job, its roster enrollment, the now-orphan Gate/surface coproduct variants and all their match arms, the dead gate-runner wrappers, and updates the placement-grain duplicate -computation flagship to the surviving 2 sibling jobs (still >1, still discharged). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…den (#6453 added floor_skip_discovery_witness) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…trigger at commit_gate_roster Addresses PR review (cursor/composer-2.5): records the v1 fmt+nextest removal as intentional with rationale (non-required + red on main, v1 seed being deleted §7, fmt stays on pre-push) and its no-return trigger, rather than a silent coverage drop. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks — the coverage-drop concern is valid and I've addressed it with option (b); one factual correction on the framing. Correction — it was not a required gate. On the gunbc Why not (a) re-enroll on the Fix — option (b), pushed in — sent from merry-owl-649 |
What
Removes the
rust_testsCI job entirely (operator directive: free runner capacity). The v1 fmt+nextest gate was non-required and red on main (it tests the v1 seed, which is being deleted per §7), and at ~37 GiB it was CI's single largest memory job — so removing it frees a runner slot and the fleet's biggest memory consumer. Formatting stays enforced by the pre-pushcargo fmthook.Done as a complete removal, not a half-measure: rather than leave orphaned coproduct variants (which a completeness witness would flag red — the tolerated-red anti-pattern), the removal is clean through the model.
Changes
rust_testsjob gone (−107 lines); regenerated viamain_wet, drift-clean. CI is nowci+ci_regen.Gate/ surface coproducts: removed the now-orphanRustMonolithGategate andGithubActionsRustTestsJobsurface variants and every match arm (ci_gate, ci_floor_plan, merge_admission, floor_materialization, commit_workflow), the roster enrollment + projection, and the dead gate-runner wrappers (ci_gates, floor_effect_gate_witness).floor_skip_discovery_witnessto the build-verify list but left this unenrolled witness's golden stale).Also includes
docs/plans/space-lens-minimal-project.md(a plan doc already on this branch).Verification (green by execution)
main_wetregen passes (proves the coproduct removal resolves in the emit closure). Ran the affected witnesses locally:ci_spec_witnesses,commit_workflow_witnesses,ci_floor_plan_witnesses,floor_materialization, theci_materializationcount pins (6/14/≥2), and the placement-grain flagship (ci_build_across_two_jobs_is_one_violation) — all PASS, includingwitness_gate_roster_matches_coproduct_arms(confirms every remaining Gate variant is still enrolled).Follow-up
The now-dead
dag/tools/rust_gates_ci.dagtool module is orphaned (no importers) and can be deleted in a follow-up.🤖 Generated with Claude Code