Repository navigation
ci: add sanitizing baseline and text gates (refs #3167) - #3170
Merged
Merged
Conversation
|
This was referenced Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Rust text debt currently has no CI guard against growth relative to the PR merge base. This adds per-file line-length and file-size gates: existing debt may stay level or decrease, while new or increased debt fails with actionable diagnostics. Snapshot and Rust scanner helpers provide the shared foundation for later sanitizing phases.
Scope: eight files covering Node built-in-only scripts, npm commands, tests, and the existing test-debt workflow job. The native self-test runs separately from the two debt gates; execution errors block CI. Product Rust, dependencies, lockfiles, and versions are unchanged. Git execution resolves its absolute executable path before spawning; scanner test-path alternatives are explicitly grouped. Environment keys use an explicit UTF-16 comparator preserving the default string order.
Validation on 9ff9138: developer and both independent reviewers report 31/31 native tests; real text gates, existing arc/cycle wrappers, version checks, and diff checks passed. Corpus 266/266 and site replay 1325/1325 are reused evidence with equivalent scanner behavior and unchanged sources. Positive and negative controls detect the old runner, swallowed resolution errors, and incorrect path classification. Both independent reviewers approved this exact revision. Local Node 26.10 results do not establish parity with CI Node 22/npm 11.6.2 or Unix. Full CI including Sonar on this exact revision remains a merge gate; findings 010/011 remain open pending that result.
P01 of parent Epic #3166. Later phases remain separate.
Closes #3167