Uh oh!
There was an error while loading. Please reload this page.
chore(promote): develop → main — kanban membership reconcile (#93) - #98
Merged
Conversation
add-to-kanban is fire-and-forget (one shot on 'opened', no retry), so a single dropped webhook leaves a permanent silent gap - e.g. tracebloc-engine#511 was never on the board, which blocked its dev->staging promotion. The weekly reconciler previously only fixed the Status of items already on the board; it now also sweeps every board-tracked repo for open + recently-merged PRs/issues with no project #2 entry and adds them in the right starting column (open PR -> Code review, draft -> In progress, issue -> Backlog, merged -> On dev/FR on staging/Prod by containment). Archived items count as present, so the daily archiver is never fought. Cap: aborts if > 60 look missing (scope bug guard). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The arg is valid and defaults to true (verified via schema introspection), so Bugbot's 'unknown argument fails the query' finding was a false positive - the search query runs fine. Dropping it anyway: it is redundant and matches the sibling workflows' plain projectItems(first: N). Behaviour is unchanged (archived cards still count as present, so the daily archiver isn't fought). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…add them Release-train promotion PRs (head release-train/*) are plumbing, not work items. The membership sweep now skips them, and the classify step archives their board cards once the PR is closed/merged (open ones are left to the train). Keeps every promotion cycle from stranding 3-5 cards in FR on staging that nobody functional-reviews. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…romotion cards in any column Bugbot round 2: (1) the membership sweep now runs under if: always() gated only on the ids step, so a MAX_MOVES abort in status-classify no longer skips the healing pass; (2) the item pull now includes Backlog / In progress / No status solely so closed promotion-PR cards hiding there get archived -- classify explicitly skips everything else in those columns, so status-reconcile semantics are unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chore(kanban): reconcile board membership, not just status
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.
Promotes the reconciler membership sweep + promotion-card archiving (#93) to
mainso the weekly cron picks it up. Merge-commit per the promotion-hop rule.🤖 Generated with Claude Code
Note
Medium Risk
Automated bulk GraphQL mutations on the org kanban project; runaway guards and scoped repos limit blast radius, but mis-scoped search or token issues could still touch many cards.
Overview
Extends the weekly kanban-reconcile workflow with a fourth backstop: membership reconcile, which finds open issues/PRs and recently merged PRs (21-day lookback) that never landed on project #2 and adds them with an initial Status (e.g. open PR → Code review, merged SHA on prod → Prod). Scope matches repos that have
add-to-kanban.yml;release-train/*heads are excluded from adds. A MAX_ADDS cap (60) aborts if too many look missing.The existing status-reconcile path now treats
release-train/promotion PRs specially: closed/non-open cards are archived viaarchiveProjectV2Item; open ones are left alone. Pre-merge columns (Backlog, In progress, No status) are included in the project pull only for that archive case—other items there are skipped so event-driven flows stay authoritative. Apply-moves supports anARCHIVEpseudo-option alongside status updates.Reviewed by Cursor Bugbot for commit 8f9fbaf. Bugbot is set up for automated code reviews on this repo. Configure here.