fix(ci): the dependency-scale dominance corpus was vacuous too - #7460
Conversation
#7452 fixed the curated corpus and missed this one. Same cause: the checker anchors on @js_shadow_slot_bind call sites, statepoints became the default root lowering in #7370 and express roots as gc.statepoint relocation bundles instead, so the corpus carried 81 modules with ZERO of the checker's subject. before: 81 modules, 0 bind call sites after: 81 modules, 7719 bind call sites CI's own floors say what the corpus is supposed to look like -- the step comment reads '81 modules, ~12900 functions, ~7700 root stores' and sets --min-binds 4000. The fixed corpus measures 81 / 12899 / 7719, i.e. the floors were written against the shadow-stack lowering and this restores exactly the state they were set from. Both gated arms exit 0 with 40/40 seeded violations caught. This is the corpus #7280 created BECAUSE the curated one reads zero while twenty lines of stock zod fault, so leaving it measuring nothing defeats the reason it exists.
|
Warning Review limit reached
Next review available in: 1 minute You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe dependency-scale GC root-dominance corpus now uses shadow-stack lowering. This restores ChangesGC root-dominance corpus
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
#7452 restored the curated dominance corpus and missed its sibling. Same defect, same one-line cause.
The checker anchors on
@js_shadow_slot_bindcall sites; statepoints became the default root lowering in #7370 and express roots asgc.statepointrelocation bundles instead. So the dependency corpus was emitting:CI's own floors say what this corpus is supposed to look like. The step comment reads "81 modules, ~12900 functions, ~7700 root stores" and sets
--min-binds 4000. The fixed corpus measures 81 / 12899 / 7719 — the floors were written against the shadow-stack lowering, and this restores exactly the state they were set from. That correspondence is the strongest evidence the fix is right rather than merely green.Both gated arms now exit 0,
--seeded-violationsreports 40 planted / 40 caught / 0 MISSED, and--unrooted-allocas --moving-onlyreports 0 over 12843 gc-capable allocas.Why this one matters more than the curated corpus
#7280 created it because the curated corpus reads zero while twenty lines of stock
zodfault deterministically under the from-space protector — "25 curated files passing while a real dependency fails is not noise, it is the corpus measuring the wrong population." Leaving it measuring nothing defeats the entire reason it exists, and it would have gone on reading zero for a reason that has nothing to do withzod.Same caveat as #7452: this gates the shadow-stack lowering, which is no longer the default where the runtime can walk frames. The statepoint lowering still has no equivalent static check, and lowering the floor to make the statepoint corpus pass would have produced a green tick over an empty corpus.
Summary by CodeRabbit