Uh oh!
There was an error while loading. Please reload this page.
feat(kanban): split Functional review into multi-stage validation flow - #38
Merged
Conversation
Replaces the single "Functional review" column with four distinct states that mirror the actual deploy pipeline: Code review → FR on dev → Ready for staging → FR on staging → Ready for prod → Done Changes: - advance-deploy-env.yml: now flips Status on develop/staging pushes too (previously only on main/master). develop → "FR on dev", staging → "FR on staging", main/master → "Done". - kanban-closure-router.yml: routes merged PRs to the matching FR column by base branch (develop/staging/main). - fr-pass-comment.yml (new): listens for "/fr-pass" PR comments from repo collaborators and advances FR-on-dev → Ready-for-staging or FR-on-staging → Ready-for-prod. Reacts 👍/👎 on the comment. - fr-pass-comment-caller.yml (new): per-repo template for adoption. The two "Ready for …" columns make deploy-cadence delays visible — cards stuck there mean the next promotion (develop → staging or staging → prod) is overdue. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two changes layered on top of the multi-stage FR flow: 1. Rename "Done" column → "Prod" — option ID preserved (98236657), so existing items already on it stay put. 2. New fr-gate.yml workflow (with caller template): - PR target = staging → all contained items must be in "Ready for staging" - PR target = main/master → all contained items must be in "Ready for prod" Item discovery uses the same commit-subject scan as advance-deploy-env (squash-merge "(#NNN)" + "Merge pull request #NNN") so we check every PR rolled into the promotion, not just the promotion PR itself. Failure mode: status check exits 1 with a clear "how to unblock" message. Override with the "skip-fr-gate" label for emergencies — the label is deliberately visible so we can audit overrides. Configured as a required status check via branch protection on staging + main/master so the merge button stays grey until the gate passes. Workflow text updates: advance-deploy-env.yml + kanban-closure-router.yml now use "Prod" everywhere they previously referenced "Done". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
saadqbal
approved these changes
May 4, 2026
2 tasks
This was referenced Aug 22, 2026
Merged
4 tasks
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.
Summary
Replaces the single
Functional reviewcolumn with four distinct states that mirror the actual dev → staging → prod deploy pipeline.Before:
Backlog → Ready → In progress → Code review → Functional review → DoneAfter:
Backlog → Ready → In progress → Code review → FR on dev → Ready for staging → FR on staging → Ready for prod → DoneThe two new
Ready for …columns expose deploy-cadence delays — cards stuck there mean the next promotion is overdue, instead of hiding inside a 159-item bloated FR column.What changed
advance-deploy-env.yml— now setsStatuson develop/staging pushes too (previously only on main/master).develop → FR on dev,staging → FR on staging,main/master → Done.kanban-closure-router.yml— routes merged PRs to the matching FR column by base branch (develop→FR on dev,staging→FR on staging,main/master→Done).fr-pass-comment.yml(new reusable) — listens for/fr-passPR/issue comments from repo collaborators and advances:FR on dev→Ready for stagingFR on staging→Ready for prodfr-pass-comment-caller.yml(new template) — for per-repo adoption.Status field changes (already applied via GraphQL)
Functional review→FR on dev(preserves option ID; the 153 existing items on this column already point to the correct destination).Ready for staging,FR on staging,Ready for prod.Backfill (separate from this PR)
Of the 159 items currently in the renamed column:
Deploy environment = devare already correctly onFR on dev.Deploy environment = stagingwill be moved toFR on stagingvia GraphQL.Deploy environment = none/unsetneed a manual look.How items move (reference)
Code review→FR on devdevelopFR on dev→Ready for staging/fr-passReady for staging→FR on stagingstagingFR on staging→Ready for prod/fr-passReady for prod→Donemain/masterRollout
After merge:
fr-pass-comment-caller.ymlto each active repo's.github/workflows/so the/fr-passshortcut works org-wide. (Drag-and-drop on the kanban works without this, so the caller is optional per repo.)Test plan
tracebloc/.githubdevelopand verify Status flip on this PR's project item.FR on dev→Ready for stagingand confirm no automation interferes./fr-passon a sample PR after caller is added to one repo, verify 👍 reaction + column advance.develop→stagingin one repo, verify items advance fromReady for staging→FR on staging.🤖 Generated with Claude Code