@@ -630,6 +630,44 @@ mvn clean verify
630630- Verify workflow configuration targets main branch
631631- Check `.github/workflows/` for PR triggers
632632
633+ ### After PR is Merged
634+
635+ **When a PR is merged to main:**
636+
637+ This workflow completes the development cycle by closing the bead and updating the Jira ticket status.
638+
639+ **Steps:**
640+
641+ **1. Close the bead:**
642+ ```bash
643+ bd close <bead-id>
644+ ```
645+ - Provide a brief reason mentioning the merged PR
646+ - Example: "PR #28 merged to main. Successfully added appID and appName fields to VulnLight record."
647+
648+ **2. Update Jira status to "Ready to Deploy":**
649+ - Use the Atlassian MCP to transition the Jira ticket
650+ - Transition to "Ready to Deploy" status (NOT "Closed")
651+ - "Closed" status is reserved for when code is actually released/deployed
652+ - Example:
653+ ```python
654+ mcp__atlassian__transitionJiraIssue(
655+ cloudId="https://contrast.atlassian.net",
656+ issueIdOrKey="AIML-XXX",
657+ transition={"id": "51"} # "Ready to Deploy" transition
658+ )
659+ ```
660+
661+ **3. Check for dependent beads/PRs:**
662+ - If this was a base PR for stacked PRs, the dependent PRs can now be promoted
663+ - Check for beads with `stacked-branch` label that depend on this one
664+ - Follow the "Promoting Stacked PR to Ready for Review" workflow for each dependent PR
665+
666+ **Rationale:**
667+ - "Ready to Deploy" indicates the code is merged and ready for the next release
668+ - "Closed" should only be used when the code is actually deployed/released to production
669+ - This allows tracking what code is ready to go out in the next release vs what' s already deployed
670+
633671# ## Landing the Plane
634672
635673** When user says " let's land the plane" :**
0 commit comments