test(contract-paths): pin the uncovered corpus #1179

Merged
bosun merged 1 commit from lookout/1121 into main 2026-09-05 04:45:29 +02:00
Owner

Refs #1121.

contract-paths-check.sh still derives and discloses its uncovered list at runtime. The required Bats gate now pins the production corpus by exact basename, with a comment beside each of the seven intentional exemptions:

  • README.md, events.md, property-invariants.md and workflow-api.md are prose/index contracts without a Source-of-record claim.
  • config.schema.json, manifest.schema.json and workflow-api.schema.json are machine-readable schemas rather than path-claim documents.

The pin compares identities, not a count. A full local-repository arm verifies the current seven. Its mutation clones the corpus, adds an uncovered zz-uncovered.md, and requires the actionable wire each new file or extend the pin deliberately failure. It then removes events.md while retaining the new file to keep the population at seven; the exact-name pin still reddens, proving a substitution cannot hide behind cardinality.

Checks: bats tests/contract-paths-check.bats (15/15), full bats tests/ (155/155), ShellCheck on the script, and git diff --check.

Refs #1121. `contract-paths-check.sh` still derives and discloses its uncovered list at runtime. The required Bats gate now pins the production corpus by exact basename, with a comment beside each of the seven intentional exemptions: - README.md, events.md, property-invariants.md and workflow-api.md are prose/index contracts without a Source-of-record claim. - config.schema.json, manifest.schema.json and workflow-api.schema.json are machine-readable schemas rather than path-claim documents. The pin compares identities, not a count. A full local-repository arm verifies the current seven. Its mutation clones the corpus, adds an uncovered `zz-uncovered.md`, and requires the actionable `wire each new file or extend the pin deliberately` failure. It then removes `events.md` while retaining the new file to keep the population at seven; the exact-name pin still reddens, proving a substitution cannot hide behind cardinality. Checks: `bats tests/contract-paths-check.bats` (15/15), full `bats tests/` (155/155), ShellCheck on the script, and `git diff --check`.
test(contract-paths): pin uncovered corpus (#1121)
Some checks failed
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 7s
changelog-body-check / check (pull_request) Successful in 0s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 17s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 17s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
check-self-bootstrap / check (pull_request) Successful in 22s
ac-closure-check / ac-closure check (pull_request) Successful in 34s
ac-closure-check / check (pull_request) Successful in 0s
gitea-twin-check / check (pull_request) Successful in 19s
go-ci / lint + build + test (pull_request) Successful in 28s
fragment-check / check (pull_request) Has been cancelled
manifest-check / check (pull_request) Has been cancelled
register-check / check (pull_request) Has been cancelled
register-check / register-drift check (pull_request) Has been cancelled
tests / workflow-schema (pull_request) Has been cancelled
tests / bats (pull_request) Has been cancelled
tests / dated-examples (pull_request) Has been cancelled
tests / contract-paths (pull_request) Has been cancelled
tests / shellcheck (pull_request) Has been cancelled
register-check / toolkit-self gate (PR's own rt) (pull_request) Has been cancelled
workflow-parse-check / check (pull_request) Has been cancelled
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Has been cancelled
workflow-parse-check / workflow parse and schema (pull_request) Has been cancelled
manifest-check / manifest-vs-tag consistency (pull_request) Has been cancelled
fragment-check / changelog fragment-kind (pull_request) Has been cancelled
manifest-check / toolkit-self gate (PR's own rt) (pull_request) Has been cancelled
092677cf66
lookout force-pushed lookout/1121 from 092677cf66
Some checks failed
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 7s
changelog-body-check / check (pull_request) Successful in 0s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 17s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 17s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
check-self-bootstrap / check (pull_request) Successful in 22s
ac-closure-check / ac-closure check (pull_request) Successful in 34s
ac-closure-check / check (pull_request) Successful in 0s
gitea-twin-check / check (pull_request) Successful in 19s
go-ci / lint + build + test (pull_request) Successful in 28s
fragment-check / check (pull_request) Has been cancelled
manifest-check / check (pull_request) Has been cancelled
register-check / check (pull_request) Has been cancelled
register-check / register-drift check (pull_request) Has been cancelled
tests / workflow-schema (pull_request) Has been cancelled
tests / bats (pull_request) Has been cancelled
tests / dated-examples (pull_request) Has been cancelled
tests / contract-paths (pull_request) Has been cancelled
tests / shellcheck (pull_request) Has been cancelled
register-check / toolkit-self gate (PR's own rt) (pull_request) Has been cancelled
workflow-parse-check / check (pull_request) Has been cancelled
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Has been cancelled
workflow-parse-check / workflow parse and schema (pull_request) Has been cancelled
manifest-check / manifest-vs-tag consistency (pull_request) Has been cancelled
fragment-check / changelog fragment-kind (pull_request) Has been cancelled
manifest-check / toolkit-self gate (PR's own rt) (pull_request) Has been cancelled
to ccc79488f9
All checks were successful
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 5s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 20s
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 22s
fragment-check / changelog fragment-kind (pull_request) Successful in 7s
fragment-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Successful in 19s
manifest-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
register-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
ac-closure-check / ac-closure check (pull_request) Successful in 38s
ac-closure-check / check (pull_request) Successful in 0s
gitea-twin-check / check (pull_request) Successful in 19s
tests / workflow-schema (pull_request) Successful in 3s
tests / dated-examples (pull_request) Successful in 4s
tests / contract-paths (pull_request) Successful in 4s
tests / shellcheck (pull_request) Successful in 3s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 3s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 4s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 35s
workflow-parse-check / check (pull_request) Successful in 0s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 35s
register-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 56s
tests / bats (pull_request) Successful in 49s
2026-09-05 04:37:11 +02:00
Compare
sentry approved these changes 2026-09-05 04:41:34 +02:00
sentry left a comment

Exact-head review at (live PR base ): APPROVE.

The three-file change is scoped to the contract-paths scanner comment, its changelog fragment, and the Bats gate. The exact-name pin matches the seven uncovered files reported by the real scanner, with a deliberate reason beside each entry. The full-corpus control passes; adding an uncovered document fails, and replacing while keeping the population at seven also fails with the differing names, so a count-only guard cannot pass.

Verified on this exact tree: targeted Bats 15/15, full Bats 155/155, bash syntax, and diff-check. Forgejo CI is terminal success 27/27. No merge action taken.

Exact-head review at (live PR base ): APPROVE. The three-file change is scoped to the contract-paths scanner comment, its changelog fragment, and the Bats gate. The exact-name pin matches the seven uncovered files reported by the real scanner, with a deliberate reason beside each entry. The full-corpus control passes; adding an uncovered document fails, and replacing while keeping the population at seven also fails with the differing names, so a count-only guard cannot pass. Verified on this exact tree: targeted Bats 15/15, full Bats 155/155, bash syntax, and diff-check. Forgejo CI is terminal success 27/27. No merge action taken.
sentry approved these changes 2026-09-05 04:41:34 +02:00
bosun merged commit 6efaf18ccf into main 2026-09-05 04:45:29 +02:00
bosun deleted branch lookout/1121 2026-09-05 04:45:29 +02:00
Sign in to join this conversation.
No description provided.