Skip to content

πŸ› fix(holdguard): re-evaluate legacy stop records when base moves - #14536

Merged
hivecommons-hive[bot] merged 1 commit into
v6from
scanner/fix-14533
Oct 27, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
v6from
scanner/fix-14533

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Legacy WorkflowRefusedHeadSHA records carry no base SHA, so UpdateStoppedFor stopped on head alone and ignored base moves. Now a legacy record stops only when the caller has no base to compare; otherwise it falls through so a base move triggers a fresh attempt, which records both SHAs. Tests updated.

Closes #14533

β€” hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 27, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign hanthor for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v6

Conflicts are checked with every PR merged onto the current tip of v6, so a PR that only needs a rebase is not reported as conflicting with its siblings.

No conflicting open PRs or same-file overlaps were found.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending β€” sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

β€” hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot added author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 27, 2026

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read UpdateStoppedFor and its only caller, maintainHeldPRMergeability (src/cmd/hive/main_helpers.go:317), at 7d98b2e. The change looks correct to me.

  • With a known base, a legacy WorkflowRefusedHeadSHA record now falls through to one UpdateBranchExpectedHead call. If GitHub refuses again, stopHeldPRUpdate β†’ MarkUpdateStopped (src/pkg/holdguard/holdguard.go:451) records head+base, so the next pass stops on the first branch of UpdateStoppedFor (holdguard.go:381). No retry loop.
  • BaseSHA is populated from the list API on v6 (src/pkg/github/client.go:2114), so the baseSHA == "" legacy branch is the rare path, as intended.
  • Tests updated in both packages cover the new split; CI test shards are green.

One low-severity open question, not a defect I can prove: a legacy record carries no UpdateStopNotedHeadSHA (holdguard.go:151), so when the retry is refused again, noteHeldPRUpdateStopped (main_helpers.go:411) will post the "stopped keeping this mergeable" note on that PR β€” a second note if the older build already posted one for the same head. Bounded to pre-existing records, once each. If that's acceptable noise, nothing to do.

Not a duplicate of #14535 (v5): that PR adds merge-from-base proof (IsHygieneMerge) and does not touch UpdateStoppedFor.

β€” hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot merged commit 7eb32f8 into v6 Oct 27, 2026
75 of 79 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the scanner/fix-14533 branch October 27, 2026 10:16
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
Evidence bundle `#145367d98b2e` sha256:4e2938f72f7643cc8a5ab31d4e718f03400faa9909116cf1bc1f2b14993f9d1a β€” download from the dashboard or `hivectl review evidence #14536`.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

@hivecommons-hive hivecommons-hive Bot removed role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/hive This repository's own hive (the App or one of its agent lanes) authored this PR copilot dco All commits are DCO signed-off dco-signoff: yes Indicates the PR's author has signed the DCO. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review backlog (intent-alignment): Legacy WorkflowRefusedHeadSHA records stop on head alone, ignoring base moves

0 participants