Skip to content

Tests line only from a run on the staged tree; reaper_lint flags Linux-only gate calls - #2181

Merged
remigiusz-antczak merged 1 commit into
mainfrom
land/wave-platgate
Nov 1, 2026
Merged

remigiusz-antczak merged 1 commit into
mainfrom
land/wave-platgate

Conversation

@remigiusz-antczak

Copy link
Copy Markdown
Collaborator

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.py reads Tests: none (<where the suites run>) with a non-empty parenthetical as a stated no-run. A bare Tests: none still 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.py gains LINUX_ONLY_NO_PREFLIGHT: a gate line that calls setsid, flock or timeout, or reads a /proc path, 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=1 and 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

…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>
@remigiusz-antczak
remigiusz-antczak merged commit f8b34cd into main Nov 1, 2026
11 checks passed
@remigiusz-antczak
remigiusz-antczak deleted the land/wave-platgate branch November 1, 2026 04:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant