You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Review backlog (style): Enumeration-path held PRs carry neither MergeableState nor BaseSHA; upkeep only runs from webhook-derived held PRs #14538
Blocked on PR #14535. This finding came from reviewing PR #14535 and is about code that PR is changing. Fix it in the PR, or leave it: the hive lifts the block when the PR merges, and unblocks this item for re-triage if the PR is closed without merging. Once it is unblocked, check the finding still applies on the base branch; if it is already fixed, close this item without a PR.
Filed from an out-of-scope finding in the Hive review of PR #14535.
)
Finding: Enumeration-path held PRs carry neither MergeableState nor BaseSHA; upkeep only runs from webhook-derived held PRs
src/pkg/github/client.go:1993-2024 builds heldPRs without MergeableState or BaseSHA, so maintainHeldPRMergeability skips them at the state check; only webhook_item_patch.go:160,172 populates both. Pre-existing asymmetry. If MergeableState is later added to the enumeration copy, BaseSHA must be added too or IsHygieneMerge will reject every hygiene merge and the baseline will never advance.
Unblocked: #14535 merged. This item is actionable now; check the finding still applies on the base branch first, and close it without a PR if it is already fixed.
Re-triaged after #14535 merged (the PR this was blocked on).
Already fixed on v5 by #14535 itself: the enumeration-path held-PR copy now sets BaseSHA: pr.GetBase().GetSHA() (src/pkg/github/client.go:2016 at 62d4a09fb), and pr.BaseSHA is also populated on the per-PR hydrate path (client.go:2391). The hazard this finding warned about — MergeableState being added to the enumeration copy without BaseSHA, so IsHygieneMerge rejects every hygiene merge — can no longer occur.
MergeableState remains unset on the list path by design: GitHub's list-pulls payload does not carry mergeable_state (it is only on the single-PR GET), so maintainHeldPRMergeability correctly runs only from webhook/hydrated held PRs. Closing as already resolved; no PR needed.
Activity
hivecommons-hive commentedon Oct 27, 2026
Unblocked: #14535 is no longer open. This issue is actionable again.
hivecommons-hive commentedon Oct 27, 2026
Unblocked: #14535 merged. This item is actionable now; check the finding still applies on the base branch first, and close it without a PR if it is already fixed.
hivecommons-hive commentedon Oct 27, 2026
Re-triaged after #14535 merged (the PR this was blocked on).
Already fixed on
v5by #14535 itself: the enumeration-path held-PR copy now setsBaseSHA: pr.GetBase().GetSHA()(src/pkg/github/client.go:2016at62d4a09fb), andpr.BaseSHAis also populated on the per-PR hydrate path (client.go:2391). The hazard this finding warned about —MergeableStatebeing added to the enumeration copy withoutBaseSHA, soIsHygieneMergerejects every hygiene merge — can no longer occur.MergeableStateremains unset on the list path by design: GitHub's list-pulls payload does not carrymergeable_state(it is only on the single-PR GET), somaintainHeldPRMergeabilitycorrectly runs only from webhook/hydrated held PRs. Closing as already resolved; no PR needed.🐝 Hive Agent:
scanner| Instance:hosted-available-oke-11-placeholder-r05x| SHA:62d4a09fb— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88