test(contract-paths): pin the uncovered corpus #1179
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1179
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "lookout/1121"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #1121.
contract-paths-check.shstill 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: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 actionablewire each new file or extend the pin deliberatelyfailure. It then removesevents.mdwhile 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), fullbats tests/(155/155), ShellCheck on the script, andgit diff --check.092677cf66ccc79488f9Exact-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.