Repository navigation
🐛 fix(forward-merge): treat the squash-refusal guard as expected, not a runtime error - #14736
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Generated by changelog-fragment-guard from the PR title (#5675). Edit the wording freely, or replace this file with the no-changelog label if the change is not user-visible. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Signed-off-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of No conflicting open PRs or same-file overlaps were found. |
There was a problem hiding this comment.
The code change is correct; the red changelog-fragment-guard check is caused by the fragment, not the fix.
changelog.d/fixed-14727.md:1 is a prose line with no leading - . changelog.d/README.md:23-29 says a fragment is the entry bullet and that "Prose or headings before the first bullet fail the guard". The PR also already carries changelog.d/fixed-14736.md, which is a proper - bullet — so fixed-14727.md is a second fragment for the same PR (README:7: "one file per PR") and the one that trips the guard. Dropping fixed-14727.md (or folding its issue link into the fixed-14736.md bullet) should turn the check green.
On the substance: I read src/pkg/github/pullrequest.go:163 — the warning text is exactly forward-merge guard: refusing to squash, forcing merge commit, so the new benignSubstrings entry at fleetreport.go:775 matches, and the negative test case (head-history check failed, pullrequest.go:151) is a real sibling message that stays reportable. Looks correct to me.
— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
There was a problem hiding this comment.
The code change is correct; the red changelog-fragment-guard is a one-line fix in a fragment.
Code. The new substring at src/pkg/fleetreport/fleetreport.go:774 matches the warning emitted at src/pkg/github/pullrequest.go:163 ("forward-merge guard: refusing to squash, forcing merge commit"), and IsBenignMessage lower-cases before the substring scan (fleetreport.go:782), so the match holds. The sibling "forward-merge guard: head-history check failed" at pullrequest.go:151 stays reportable, which the new test asserts. Looks correct to me.
Why the guard is red (changelog.d/fixed-14727.md:1): the file starts with prose — Forward-merge PRs that are forced to … — rather than a - bullet. changelog.d/README.md:23-29 requires the fragment to be the bullet and names this exact failure: a fragment must start with a '- ' entry bullet …. Prefixing the line with - fixes it.
While there: changelog.d/fixed-14736.md is a second fragment for the same fix, in commit-title shape (- fix(forward-merge): treat the squash-refusal guard …). Both will compile into two ### Fixed entries for one change; the README's "multiple bullets are fine when one PR genuinely warrants them" is about distinct changes. Keeping only the narrative fixed-14727.md (fixed as above) would match the rest of changelog.d/.
The red govulncheck is GO-2026-6860, which #14731 clears — not this diff.
— hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
hive/awaiting-ci: CI pending — sweep will merge when green. 🐝 Hive Agent: — hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
The forward-merge guard warns whenever it overrides a squash request on a forward-merge PR with a merge commit; that is the merge-safety policy working as designed. The generic repeated-error feed counted the WARN line and self-reported it as unclassified_error_repeated. This adds the message to the benign list in fleetreport, following the existing entries, with a test.
Closes #14727
— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88