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
fix(review): stop the deterministic type-label mislabel from #5233's broken closure check
fetchLinkedIssueClosedByPullRequest read GitHub's REST /issues/{n}/timeline looking
for a source.issue field on "closed" events, but that field never appears there --
only on cross-referenced events. Confirmed against three live production issues
(commit_id null, no source key at all). This made the check always fail, turning
a rare race into a 100%-reproducing failure on every "Closes #N" merge. Replaced
with GraphQL's Issue.timelineItems -> ClosedEvent.closer, verified empirically
against live issues.
Also fixes two related gaps found during the same investigation:
- resolvePrTypeLabel picked the exclusive bug/feature label by config array
order (bug always won when both matched an issue's labels) instead of
declared precedence. Now the LAST-configured exclusive match wins; operators
declare exclusive mappings in ascending precedence order. Updated the two
bundled example configs, which still described the old first-wins rule.
- maybeReReviewOnLinkedIssueChange only checked isConvergenceRepoAllowed,
unlike the periodic sweep, which also falls back to
isAgentConfigured(settings.autonomy). Aligned the two gates, short-circuited
so the common allowlisted case never pays for the extra settings fetch.
Closes#5385
0 commit comments