Uh oh!
There was an error while loading. Please reload this page.
chore(promote): develop → main — kanban closure-routing reliability fix - #100
Merged
Conversation
…e backstop) (#99) * fix(kanban-closure-router): read closer from timeline, not lagging closedByPullRequestsReferences closedByPullRequestsReferences is eventually-consistent and EMPTY at the instant the issues:closed event fires, so the router missed the closing PR and no-oped — completed issues stayed stuck in their pre-close column (confirmed on backend#979: timeline had closer PR #1289->develop, closedByPullRequestsReferences empty). Read timelineItems(CLOSED_EVENT).closer instead — present immediately, and it distinguishes a PR closer (mirror base), a Commit closer (On dev), and a manual close (leave to reconcile). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(kanban-reconcile): terminalize closed issues stranded in non-terminal columns Adds category 5: any CLOSED issue in a non-terminal column is routed by state_reason (not_planned/duplicate -> Cancelled, else -> Prod). Backstops the closure-router's close-time race and the hand-closed case that it deliberately leaves. Widens the pull to the planning columns (Ready/North Stars) so no closed issue hides. Safe now that fr-gate attributes via commits->PRs (a card in Prod can't satisfy the gate). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(kanban-closure-router): use the latest close's closer (Bugbot: reopen+reclose) Take the most recent ClosedEvent unconditionally instead of filtering to non-null closers; otherwise a reopen followed by a manual re-close reused the stale PR/commit closer instead of treating the current close as manual. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotion hop (merge commit). Carries #99 (closure-router reads timeline closer; reconcile terminalizes stranded closed issues) to
mainwhere the reusables are referenced as@main.Note
Medium Risk
Changes promotion-gate-related board automation (where cards sit vs
fr-gate); mis-routing could affect visibility of review state until reconcile runs, though comments assert gate safety via commit→PR attribution.Overview
Kanban closure routing now reads the issue timeline’s most recent
ClosedEvent.closerinstead ofclosedByPullRequestsReferences, which is often empty when the close webhook fires. PR closers still mirror Status from the closing PR’s base; commit-based “Closes #N” closers go to On dev; manual closes still leave Status unchanged.Weekly reconcile adds a closed-issue terminalize pass: any CLOSED issue in a non-terminal column moves to Cancelled (
NOT_PLANNED/DUPLICATE) or Prod (completed / unspecified). The sweep also includes planning columns Ready and North Stars, and open issues in those columns are left alone while misplaced open issues in post-merge columns still go to Backlog.Reviewed by Cursor Bugbot for commit 08d1411. Bugbot is set up for automated code reviews on this repo. Configure here.