Repository navigation
test: scope the tree-wide pin scans to the extensions they judge - #25389
Nitjsefnie wants to merge 2 commits into
Conversation
Share each pin's grep results across its assertions and retain the excluded TSX declaration boundary check. Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Describe hook headroom without a speed guarantee, clarify cross-package reach, and name the self-declaration test directly. Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
Heads-up: this branch lives in an organization-owned fork, and GitHub doesn't let maintainers push to those. If anything needs changing, just say so here and I'll make the change on this branch right away. |
|
Thank you, @Nitjsefnie — this is a good fix, and it has been adopted as proposed. This repository works card-first and never lands a fork pull request directly (external contributions ③), so your diff was re-committed on the internal branch of #25410 with Closing this one now because the Duplicate Fix Guard lets only one open pull request declare #25321. Your authorship is in the commit. Generated by Claude Code |
Fixes #25321
Summary
The four remaining tree-scan pin tests handed
git grep(orls-files+grep) all ofpackages/and filtered to the files they judge afterwards, so a loaded runner paid forhundreds of megabytes of non-source bytes per scan inside the pins' 60 s budget. This gives
each scan the pathspec of the extension it judges — the same shape PR #25319 used for the
runtime twin — so every pin judges the same file set while git reads only those files.
Changes
packages/objectql/src/action-owner-key-single-source.test.ts: the three full-tree grepsbecome one extension-scoped multi-needle scan shared by both tree assertions; stale-site
line reporting and the release-record/pin exemptions are unchanged.
packages/core/src/security/row-serving-door-exposure.pin.test.ts: one sharedextension-scoped grep replaces the whole-tree scan; all matchers, comment filtering and
caller classifications unchanged.
packages/core/src/security/second-object-read-exposure.pin.test.ts: same shape; thearbiter prefilter, decision-site and wiring checks unchanged.
packages/core/src/security/operation-private-keys.pin.test.ts: the content prefilterbecomes one extension-scoped grep that includes
.tsxon purpose, so the existingexcluded-
.tsx-declaration boundary assertion keeps its own discriminating population;the ordinary offender set stays
.tsminus.d.ts, and the filename-onlyls-filesexclusion census is untouched.
packages/core/src/security/granted-permissions-not-enforced.pin.test.tsalready scopesits pathspecs (
.ts/.mts) and is left unchanged.SCAN_TIMEOUT_MS = 60_000is byte-identical to before: this is not a timeoutraise. Ablation checks confirm each edited pin still goes red on a planted violation in
a still-scanned path, and that the excluded-
.tsxboundary assertion still fires on aplanted excluded declaration.
Testing
operation-private-keys 5/5).
.tspath turns each pin red with its own assertion failure and is restored to green; a
planted declaration in an excluded
.tsxfile still turns the boundary assertion redwhile the ordinary offender assertion stays green.
Tests-only change: per
.github/workflows/pr-automation.ymlthe diff releases nothing, soit is eligible for the
skip-changesetexemption label — applying labels is not somethinga fork PR can do for itself.
Authored by automated coding agents; per-commit authorship is recorded in the commits'
Co-Authored-Bytrailers.