You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
check_pr_ont_delta: §11.1 names docs/specifications/** whole, so every design spec reads as a sweep — three maintainer PRs red for a delta that does not exist; narrow the sink to the release spec, spec + guard together, with a predicate self-test #3535
Measured 2026-09-19 (aprender-ba): three maintainer PRs — #3499 (a guard-regex fix), #3420 (PP-QUANT-001, a design spec), #3424 (PP-ARCH-001, a design spec) — are RED on guard-tree with FAIL no ont-delta: line. §11.1: a sweep PR closes with a delta. None of them is a sweep: each touches exactly one file under docs/specifications/ and nothing else the rule names.
scripts/check_pr_ont_delta.sh is FAITHFUL to APR-RELEASE-001 §11.1 as written — the sentence names docs/specifications/** whole as a prose sink — so the predicate cannot be narrowed in the script alone; the sentence and the guard move together. A design spec (a *-MASTER.md, a new feature's specification) is the finding's HOME, not a sink a sweep writes into; the sink under docs/specifications/ is the train's own spec, APR-RELEASE-001, where sweep findings are recorded.
Second finding: the guard's self-test had no predicate leg — all 15 rows feed check_body_text, so sweep_reason could classify every PR either way and stay green. The patch (aprender-ba, 55 lines) adds predicate_self_test (10 rows) with the falsifying row "a DESIGN spec is not a sweep": under today's sentence it fails (got 0, want 1), under the amended sentence + sink list it passes.
Fix: §11.1's sentence names docs/specifications/APR-RELEASE-001-*.md as the sink (not the directory); ONT_SWEEP_SINKS follows; the predicate self-test lands with the design-spec row at want=1 constant. Interim for the three PRs: an ont-delta: none <reason> body line.
Activity