ec9ddb09a7
Documents and enforces rules for closed-not-merged PR reconciliation, direct-master-push prevention, and issue label cleanup. Rules added: - Explicit definitions for Merged, Landed, Closed-not-merged, and Reconciled. - A PR is done only when Gitea reports it merged or reconciliation proves content is present on master. - Direct push to master is forbidden except as a documented recovery exception. - PRs closed but not merged trigger the reconciliation process. - Branch and worktree cleanup is forbidden until merge or reconciliation is confirmed. - Final reports require PR metadata and Git content verification. Closes #51.
30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
# Template: merge a PR (eligible reviewer only)
|
|
|
|
Copy, fill the `<...>` fields, and paste as the task prompt.
|
|
|
|
```text
|
|
Task: merge PR #<pr> for issue #<n> if it is eligible and checks pass.
|
|
|
|
Rules (llm-project-workflow):
|
|
- Only an eligible, NON-author reviewer merges. If authenticated user == PR
|
|
author → STOP.
|
|
- Do not merge unless the PR is open, mergeable, and its checks/review pass.
|
|
- No force-merge, no bypassing branch protections.
|
|
- If the PR is closed but `merged=false`, STOP and run reconciliation. Do not clean up.
|
|
|
|
Steps:
|
|
1. Verify authenticated identity + active profile.
|
|
2. Confirm PR #<pr>: author (not you), state open, mergeable, review approved.
|
|
3. If any gate fails → STOP and report.
|
|
4. Merge with explicit confirmation (e.g. confirmation="MERGE PR <pr>"),
|
|
optionally pinning the reviewed head SHA / changed-file set.
|
|
5. Confirm remote master now contains the merge commit.
|
|
|
|
Then run the cleanup template (worktree-cleanup.md):
|
|
- close/release issue #<n>, remove status:in-progress (if it cannot be removed, report why)
|
|
- delete remote branch, remove local branch + worktree folder
|
|
- fetch/prune; confirm main checkout is clean and current (0 0).
|
|
|
|
Handoff: reviewer identity, merge result + commit, cleanup done, issue closed, PR metadata state/merged flag/hash, remote master hash & Git content check.
|
|
```
|