diff --git a/review_pr.py b/review_pr.py index 3a1ceaf..464d348 100755 --- a/review_pr.py +++ b/review_pr.py @@ -1,11 +1,14 @@ #!/usr/bin/env python3 """Review and sign-off on a Gitea pull request. -Supports submitting a review (APPROVE, COMMENT, REQUEST_CHANGES) and optionally -merging the pull request in one command. +Submits a review (APPROVE, COMMENT, REQUEST_CHANGES). CLI merge is disabled: +the `--merge` flag is retained only for compatibility and fails closed without +making any API call. Merge is handled solely by the gated `gitea_merge_pr` MCP +workflow (#16), which enforces identity/profile/eligibility, explicit +confirmation, expected head SHA checking, and self-merge protection. -Usage: - review_pr.py --pr-number 12 --event APPROVE --body "Approved and signed off" --merge +Usage (review only): + review_pr.py --pr-number 12 --event APPROVE --body "Approved and signed off" """ import os import sys @@ -32,9 +35,11 @@ def main(argv=None): help="Review event/action type (default: APPROVE).") parser.add_argument("--body", default="", help="Review body/comment text.") parser.add_argument("--body-file", help="Read review body from this file ('-' for stdin).") - parser.add_argument("--merge", action="store_true", help="Automatically merge the PR if approved.") + parser.add_argument("--merge", action="store_true", + help="DISABLED — fails closed with no API call. CLI merge is not " + "supported; use the gated gitea_merge_pr MCP workflow (#16).") parser.add_argument("--merge-method", choices=["merge", "squash", "rebase"], default="merge", - help="Merge method/style to use if merging (default: merge).") + help="Ignored — CLI merge is disabled (see --merge).") args = parser.parse_args(argv) # Fail closed: direct CLI merge is disabled (#16). LLM automations were