Repository navigation
fix: name every available remedy in the unlinked-commit gate message - #171
Merged
Merged
Conversation
Deploying specsync with
|
| Latest commit: |
1a2c172
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9f8f2a91.specsync.pages.dev |
| Branch Preview URL: | https://fix-changelog-unlinked-remed.specsync.pages.dev |
androidand
force-pushed
the
fix/changelog-unlinked-remedies
branch
2 times, most recently
from
September 27, 2026 20:56
a0aa726 to
ab27ae2
Compare
The gate is correct — it flags exactly the commits that cannot bind to a change's issue. The message was not: it recommended only forms that require editing the commit message, which is impossible for a squash-merge, and it omitted the ## Release note remedy that AGENTS.md already documents and that is the only option when the message is generated by the merge. It also never surfaced the ref's kind, so a commit ending in a PR number prints a ref next to its own rejection. That reads as self-contradictory and sends readers to suspect the gate rather than the commit. Keeps "(#42)" in the examples deliberately. It is filed under PRRefs by extractRefs, which makes it look untrustworthy, but BuildChangelog consults PRRefs too, so it binds whenever 42 is the change's issue. Pinned by TestBindingDistinguishesHeaderRefFromPRRef so a future edit cannot drop correct advice on the mistaken reasoning that header refs never bind. Message-only change; no detection logic touched. Both new tests fail when the message is reverted. (#119)
androidand
force-pushed
the
fix/changelog-unlinked-remedies
branch
from
September 28, 2026 00:00
ab27ae2 to
1a2c172
Compare
Owner
Author
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.
## Release noteproposal remedy in the unlinked-commit gate message. It was documented inAGENTS.mdbut absent from the message, and it is the only remedy for a squash-merge author, whose commit message they cannot edit.(#N)in a squash-merge header is often the PR number rather than the change's issue, so a printed ref can still be unlinked. The ref's kind was never surfaced, which is why the output read as self-contradictory.(#42)in the examples.extractRefsfiles a header(#N)underPRRefs, which looks like exclusion, butBuildChangelogconsultsPRRefstoo, so it binds when 42 is the change's issue. Pinned so it cannot be removed on the mistaken reasoning.TestBindingDistinguishesHeaderRefFromPRRef(both directions) and message-pinning subtests that fail if the remedy sentence is removed.go test ./...823 passed. Fixes the messaging half of Repair CI dogfooding gates #119.