From 0b92a781f74cb6244c882a80e50ed68acc5c33c6 Mon Sep 17 00:00:00 2001 From: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:04:15 -0400 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20fix(forward-merge):=20treat?= =?UTF-8?q?=20the=20squash-refusal=20guard=20as=20expected,=20not=20a=20ru?= =?UTF-8?q?ntime=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> --- changelog.d/fixed-14727.md | 1 + src/pkg/fleetreport/fleetreport.go | 5 +++++ src/pkg/fleetreport/runtime_test.go | 9 +++++++++ 3 files changed, 15 insertions(+) create mode 100644 changelog.d/fixed-14727.md diff --git a/changelog.d/fixed-14727.md b/changelog.d/fixed-14727.md new file mode 100644 index 0000000000..47b3ad3b97 --- /dev/null +++ b/changelog.d/fixed-14727.md @@ -0,0 +1 @@ +Forward-merge PRs that are forced to a merge commit instead of a squash no longer raise a repeated unclassified runtime-error self-report ([#14727](https://github.com/hivecommons/hive/issues/14727)). diff --git a/src/pkg/fleetreport/fleetreport.go b/src/pkg/fleetreport/fleetreport.go index 5f42ef8839..f039e1dbe6 100644 --- a/src/pkg/fleetreport/fleetreport.go +++ b/src/pkg/fleetreport/fleetreport.go @@ -767,6 +767,11 @@ var benignSubstrings = []string{ // output, not a repeated runtime defect (hivecommons/hive#14377). The // enforce-mode denial (effects.ErrDenied) stays reportable. "shadow fence would have denied external mutation", + // The forward-merge guard (src/pkg/github/pullrequest.go) warns each time + // it overrides a squash request on a forward-merge PR with a merge commit. + // That is the merge-safety policy working as designed, re-logged per + // merge attempt, not a repeated runtime defect (hivecommons/hive#14727). + "forward-merge guard: refusing to squash", } // IsBenignMessage reports whether a raw log message is noise the generic diff --git a/src/pkg/fleetreport/runtime_test.go b/src/pkg/fleetreport/runtime_test.go index b2100d14ce..37255fb418 100644 --- a/src/pkg/fleetreport/runtime_test.go +++ b/src/pkg/fleetreport/runtime_test.go @@ -797,6 +797,15 @@ func TestIsBenignMessagePolicySeedDivergence(t *testing.T) { } } +func TestIsBenignMessageForwardMergeGuard(t *testing.T) { + if !IsBenignMessage("forward-merge guard: refusing to squash, forcing merge commit") { + t.Error("forward-merge squash refusal not benign") + } + if IsBenignMessage("forward-merge guard: head-history check failed") { + t.Error("head-history check failure wrongly benign") + } +} + func TestIsBenignMessageCopilotModelFallback(t *testing.T) { const msg = "copilot CLI substituted the configured model" if !IsBenignMessage(msg) { From f0f399c2bcca1f35aa741d057df14b8ce2f566bd Mon Sep 17 00:00:00 2001 From: "hivecommons-hive[bot]" <280983584+hivecommons-hive[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 23:05:00 +0000 Subject: [PATCH 2/3] changelog: fragment for #14736 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> --- changelog.d/fixed-14736.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/fixed-14736.md diff --git a/changelog.d/fixed-14736.md b/changelog.d/fixed-14736.md new file mode 100644 index 0000000000..a4bd03bfaf --- /dev/null +++ b/changelog.d/fixed-14736.md @@ -0,0 +1 @@ +- fix(forward-merge): treat the squash-refusal guard as expected, not a runtime error (#14736) From 1c7d524e955c1e8fedf84be5cf795d288726ba79 Mon Sep 17 00:00:00 2001 From: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:46:17 -0400 Subject: [PATCH 3/3] changelog: single bullet fragment for #14727 Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> --- changelog.d/fixed-14727.md | 2 +- changelog.d/fixed-14736.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 changelog.d/fixed-14736.md diff --git a/changelog.d/fixed-14727.md b/changelog.d/fixed-14727.md index 47b3ad3b97..cf5cbe29ea 100644 --- a/changelog.d/fixed-14727.md +++ b/changelog.d/fixed-14727.md @@ -1 +1 @@ -Forward-merge PRs that are forced to a merge commit instead of a squash no longer raise a repeated unclassified runtime-error self-report ([#14727](https://github.com/hivecommons/hive/issues/14727)). +- Forward-merge PRs that are forced to a merge commit instead of a squash no longer raise a repeated unclassified runtime-error self-report ([#14727](https://github.com/hivecommons/hive/issues/14727)). diff --git a/changelog.d/fixed-14736.md b/changelog.d/fixed-14736.md deleted file mode 100644 index a4bd03bfaf..0000000000 --- a/changelog.d/fixed-14736.md +++ /dev/null @@ -1 +0,0 @@ -- fix(forward-merge): treat the squash-refusal guard as expected, not a runtime error (#14736)