Repository navigation
Tests line only from a run on the staged tree; reaper_lint flags Linux-only gate calls - #2181
Merged
Merged
Conversation
…x-only gate calls A commit's or hand-back's Tests line carries a count only when a suite printed it on the staged tree; otherwise it reads `Tests: none (<where the suites run>)`, which handback.py now accepts as a stated no-run (a bare `none` still fails, and digits inside the parenthetical are no count). reaper_lint.py gains LINUX_ONLY_NO_PREFLIGHT: a gate line that calls setsid, flock or timeout, or reads a /proc path, fires when the file has no platform preflight, because on stock macOS that check exits 127 or reads nothing and posts FAIL for a check that never ran. A tool's own probe (`timeout --version`, `timeout 1 true`) counts as a preflight, and a /proc path that echo or printf only prints does not fire. A repo that opted in to the gate (DCR_REAPER_LINT=1) with an unguarded call goes red on upgrade until it adds a preflight or an allow marker. Tests: affected 24/24 (run-ci-tests --affected against main 2447ccb), reaper_lint selftest 185/185, changelog fragments 23/23 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
reaper_lint now flags a gate that calls a Linux-only tool with no preflight, and the hand-back check accepts an honest
Tests: none (<place>)line; the lint selftest grows from 90 to 185 cases.What changes
handback.pyreadsTests: none (<where the suites run>)with a non-empty parenthetical as a stated no-run. A bareTests: nonestill fails, and digits inside the parenthetical are never read as a count. The roles, guardrails and hand-back references name both forms: a count only when a suite printed it on the staged tree, else the none line.reaper_lint.pygainsLINUX_ONLY_NO_PREFLIGHT: a gate line that callssetsid,flockortimeout, or reads a/procpath, fires when its file has no platform preflight. A tool's own probe (timeout --version,timeout 1 true) counts as one.Upgrade note
A repo that opted in with
DCR_REAPER_LINT=1and has an unguarded call goes red until it adds a preflight or a# reaper-lint: allow <reason>marker.Verification
Tests: affected 24/24 (run-ci-tests --affected against main 2447ccb), reaper_lint selftest 185/185, changelog fragments 23/23
🤖 Generated with Claude Code