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
gc-ratchet's pinned baseline (benchmarks/gc_ratchet/baseline/gc-ratchet-v1.json, commit 88dcee83b, captured 2026-07-30) was taken while the evacuating minor was the default. #7161 then flipped it off pending #7154. The baseline therefore describes a collector the shipped configuration no longer runs, and the gate is red on main for every commit since.
Measured locally on the pinned host class (darwin-arm64, Apple M1, 8 core, idle, --repeats 7), during PR #7207:
Every one of the 69 is minor_cycles / step_cycles / copied_objects / copied_bytes / promoted_objects / promoted_bytes / freed_bytes reading … → 0, plus the heap_used_bytes / heap_total_bytes growth that follows from nothing being collected. --profile pinned_host adds 17 rss_bytes/peak_rss_bytes rows for the same reason. wall_ms is inside band on every probe.
#7205 established that gc-ratchet's main runs are cancelled while queued, so the gate has executed zero times in three merges. Even once that is fixed, it will come back red on the first run — and a gate that is unconditionally red is exactly as informative as one that never runs. Both halves have to land for it to gate anything.
The two options, and why one of them is wrong
Re-pin the baseline now on the shipped (non-moving) configuration. This makes the gate green — and makes copied_objects, promoted_objects and freed_bytespermanently zero-baselined, i.e. dark for exactly the collector behaviour they exist to gate. Any future evacuation regression would then have to move a counter that is pinned at 0 in both directions. This is the shape CLAUDE.md calls "the gate runs but its subject never did".
The second is correct, but it needs to be a decision on the record rather than an accident, because until it is, every PR author who runs the ratchet rediscovers this and has to prove their own change is not the cause (PR #7207 did exactly that, by measuring both arms).
Ask
Either pin this to the #7161 revert explicitly (a line in the workflow and in the baseline artifact saying "known-red until the evacuating minor is default again; do not re-pin before then"), or re-pin with an explicit note that the evacuation counters are inert until the revert. Silence is the one option that keeps costing people time.
Summary
gc-ratchet's pinned baseline (benchmarks/gc_ratchet/baseline/gc-ratchet-v1.json, commit88dcee83b, captured 2026-07-30) was taken while the evacuating minor was the default. #7161 then flipped it off pending #7154. The baseline therefore describes a collector the shipped configuration no longer runs, and the gate is red onmainfor every commit since.Measured locally on the pinned host class (
darwin-arm64, Apple M1, 8 core, idle,--repeats 7), during PR #7207:check --profile shared_ciorigin/main3a983ca6aEvery one of the 69 is
minor_cycles/step_cycles/copied_objects/copied_bytes/promoted_objects/promoted_bytes/freed_bytesreading… → 0, plus theheap_used_bytes/heap_total_bytesgrowth that follows from nothing being collected.--profile pinned_hostadds 17rss_bytes/peak_rss_bytesrows for the same reason.wall_msis inside band on every probe.Why this compounds #7205
#7205 established that
gc-ratchet'smainruns are cancelled while queued, so the gate has executed zero times in three merges. Even once that is fixed, it will come back red on the first run — and a gate that is unconditionally red is exactly as informative as one that never runs. Both halves have to land for it to gate anything.The two options, and why one of them is wrong
copied_objects,promoted_objectsandfreed_bytespermanently zero-baselined, i.e. dark for exactly the collector behaviour they exist to gate. Any future evacuation regression would then have to move a counter that is pinned at 0 in both directions. This is the shape CLAUDE.md calls "the gate runs but its subject never did".The second is correct, but it needs to be a decision on the record rather than an accident, because until it is, every PR author who runs the ratchet rediscovers this and has to prove their own change is not the cause (PR #7207 did exactly that, by measuring both arms).
Ask
Either pin this to the #7161 revert explicitly (a line in the workflow and in the baseline artifact saying "known-red until the evacuating minor is default again; do not re-pin before then"), or re-pin with an explicit note that the evacuation counters are inert until the revert. Silence is the one option that keeps costing people time.
Refs #7205, #7161, #7154, #7207, #7019.