Skip to content

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

Closed

Description

@noahgift

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions