Skip to content

chore(promote): develop → main — kanban membership reconcile (#93) - #98

Merged
LukasWodka merged 5 commits into
mainfrom
develop
Jul 28, 2026
Merged

chore(promote): develop → main — kanban membership reconcile (#93)#98
LukasWodka merged 5 commits into
mainfrom
develop

Conversation

@LukasWodka

@LukasWodkaLukasWodka commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Promotes the reconciler membership sweep + promotion-card archiving (#93) to main so 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 via archiveProjectV2Item; 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 an ARCHIVE pseudo-option alongside status updates.

Reviewed by Cursor Bugbot for commit 8f9fbaf. Bugbot is set up for automated code reviews on this repo. Configure here.

LukasWodkaand others added 5 commits July 28, 2026 09:29
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
@LukasWodka
LukasWodka merged commit fe8d7bf into mainJul 28, 2026
6 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@LukasWodka