bug: dev-loop merged PR #138 despite active REQUEST_CHANGES from security-review-bot #145
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The dev-loop merged PR #138 into
maindespite the security-review-bot having submitted a REQUEST_CHANGES review containing a MAJOR security finding. This violates the explicit rule: never merge with active REQUEST_CHANGES.What happened
security-review-botwith a MAJOR finding (doc-map loaded from untrusted PR branch)mainExpected behavior
The dev-loop skill (step 1.3.6) requires ALL of:
If either condition fails, the PR must NOT be handed off or merged.
Root cause (suspected)
The handoff check in the dev-loop skill may not be correctly parsing REQUEST_CHANGES state from review responses, or the check was skipped/bypassed. The Haiku model running the dispatcher may have reasoned past the check rather than executing it as a shell command.
Fix needed
state != APPROVEDdetection separate from findings parsing🔍 Triage note: The fix for this issue lives in the dev-loop skill (an OpenClaw workspace skill), not in review-bot Go code. Should this issue remain here as a tracking issue, or be moved/closed in favor of a fix tracked elsewhere?
The domain docs for review-bot describe the review posting/editing strategy but not how consumers (like dev-loop) should interpret review states. The dev-loop skill owns that logic.
Addressed by issue #148 / PR #149 (pure shell dispatch redesign), merged to main.
The REQUEST_CHANGES check is now a pure shell command:
If that jq command returns true, the script exits immediately — no model reasoning can override it. The shell cannot rationalize around a hard exit.