ci: enforce rule zero - block a pull request that references no issue - #29
Merged
Merged
Conversation
CONTRIBUTING promised that PRs from outside contributors without a prior issue "are rejected automatically, and the rejection will cite this rule". Nothing enforced it, and #18 and #19 were merged/opened with no issue at all. The workflow reads the PR body from the event payload and fails when it has no `#N`, so the check cites the rule and the PR shows a failing check instead of a silent merge. Collaborators, the owner and bots are exempt: rule zero is a gate for contributors who need the public discussion, not for the people who already run the repository. CONTRIBUTING's sentence now names the workflow, so the promise and the automation say the same thing.
Deploying agentic-schematics with
|
| Latest commit: |
fb474ce
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0cab90fb.agentic-schematics.pages.dev |
| Branch Preview URL: | https://fix-require-issue-check.agentic-schematics.pages.dev |
cameri
approved these changes
Sep 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #22 — proposal 3 is the last piece.
What was already fixed before this PR
Proposals 1 and 2 landed in #25:
.github/workflows/validate.ymlrunsbash scripts/validate-catalog.shon everypull_requestand onpushtomain, withfetch-depth: 0and a read-only token, no deploy step.schematic-kind pin resolves (commit reachable from history, file present at it, sha256 matches, pin text's version equals the linked file's frontmatter), everymodules//scripts//skeleton//templates//assets/path a spec references exists in the package, and everycomposes[]name exists in the catalog. Run onmain:catalog ok: 19 entries, featured=[...], 18 specs, 21 pins verified.What this PR adds
Proposal 3, the stronger of the two options: the rule is now enforced instead of softened.
.github/workflows/require-issue.ymlfails a pull request whose body references no issue (#N), with a check message that cites rule zero and linksCONTRIBUTING.md.OWNER,MEMBER,COLLABORATORand bots. Rule zero exists so that an outside contributor's idea gets a public discussion before anyone spends effort; someone with push access does not need that gate, and a bot cannot open an issue.CONTRIBUTING.mdnow names the workflow and states the exemption, so the promise and the automation say the same thing.Note on proposal 4
Issue #8 (GitHub Pages previews) is superseded, not pending: Cloudflare Pages deploys every PR and comments the preview URL — see the bot comment and the passing
Cloudflare Pagescheck on #19. #8 can be closed.What is proven live, and what is not
The skip path is proven on this PR: the
referencecheck appears and reportsskipping, because the branch was pushed by a collaborator. The fail path is proven only as a shell test (no issue link→ exit 1, pasted above): exercising it on GitHub needs a pull request from an account that is not a collaborator, which cannot be arranged from here. Worth a one-off check the next time an outside contribution arrives.