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.
25 lines
966 B
Markdown
25 lines
966 B
Markdown
# Reconcile Closed-Not-Merged PR Prompt
|
|
|
|
You are reconciling PR `<pr-number>` in `<repo-name>` which is closed but `merged=false`.
|
|
|
|
Rules:
|
|
|
|
- Do not delete branches or worktrees before reconciliation is complete.
|
|
- Compare the PR's exact content to remote `<default-branch>`.
|
|
- Determine if the content is fully landed, partially landed, or not landed.
|
|
|
|
Workflow:
|
|
|
|
1. Verify the PR metadata says `state=closed` and `merged=false`.
|
|
2. Fetch/prune and inspect remote `<default-branch>`.
|
|
3. If fully landed: comment that it landed, remove `status:in-progress`, close issue, and clean up.
|
|
4. If partially landed: reopen issue if needed, create corrective PR for missing pieces, do not clean up.
|
|
5. If not landed: reopen issue/PR, do not clean up.
|
|
|
|
Final handoff:
|
|
|
|
- PR metadata (state, merged flag, hash)
|
|
- Git content verification (remote master hash, expected content present or not)
|
|
- reconciliation decision (fully/partially/not landed)
|
|
- issue/label state repaired
|