feat(ci): block PR merge on Critical/High backend review findings#35615
Conversation
Adds STEP 6 to the AI backend reviewer workflow: after posting the review comment, the orchestrator now submits a formal GitHub PR review. - Critical or High findings → REQUEST_CHANGES (merge blocked) - Clean review → APPROVE (automatically lifts a previous block) This ensures reviewers cannot bypass flagged Critical/High issues by simply clicking Approve — the bot's REQUEST_CHANGES must be resolved or dismissed before the PR can merge. Motivated by PR #35345 where a Critical cross-site content-bleed finding was flagged by the reviewer but ignored, leading to a production incident. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @dsilvam's task in 2m 24s —— View job Review
This change won't actually block merges as described. Several issues, ordered by severity. 🔴 Critical —
|
## Summary Adds a new Claude Code slash command `.claude/commands/check-release-rollback.md` that automates rollback safety checks between any two dotCMS releases. ## What it does Given two version strings (e.g. `26.04.28-02_7149dce` → `26.04.11-02_9650131`): 1. Extracts all merged PRs between the two commits via `git log` 2. Fetches title + labels for each PR via `gh` CLI 3. Classifies each PR as: **Safe** / **Not Safe** / **Conflicting** / **Unlabeled** 4. Outputs a structured report with linked PRs and risk notes per unsafe PR 5. Returns a clear **YES / NO / CONDITIONAL** verdict 6. Optionally saves the report as a `.txt` file **Usage:** ``` /check-release-rollback 26.04.28-02_7149dce 26.04.11-02_9650131 ``` ## Motivation During a customer's production incident (ticket #36966), a manual rollback safety check was performed and revealed multiple PRs labeled `AI: Not Safe To Rollback` blocking the rollback from `26.04.28-02`. This skill automates that process so any engineer or support agent can run it in seconds. Related: - Bug: dotCMS#35616 (cross-site content bleed introduced by dotCMS#35345) - CI enforcement: dotCMS#35615 (block merges on Critical/High AI review findings) ## Test plan - [ ] Run `/check-release-rollback 26.04.28-02_7149dce 26.04.11-02_9650131` and verify output matches the manually produced report 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
ai_claude-backend-reviewer.yml)REQUEST_CHANGES(merge blocked until resolved)APPROVE(automatically lifts a previous block on the next clean push)Motivation
PR #35345 had a 🔴 Critical cross-site content-bleed finding flagged by the automated reviewer — twice. It was ignored and the PR was approved and merged, leading to a production incident (Lennox ticket #36966: wrong brand content rendering on product pages after release 26.04.28-02).
The previous workflow only posted a comment. Comments are easy to ignore. A formal
REQUEST_CHANGESreview cannot be bypassed with a simple Approve click — it must be explicitly dismissed or resolved.Setup required
To fully enforce the block, enable the following in Settings → Branches → Branch protection rules on
main:Test plan
REQUEST_CHANGESand the merge button is blockedAPPROVEon the clean re-run and the block is liftedCloses #35614
🤖 Generated with Claude Code