Closes #334 - Add workflows/review-merge-pr.md with reviewer-only gates and steps - Add schemas/review-merge-final-report.md with mutation ledger fields - Turn SKILL.md into task-mode router; replace inlined §F/§G with links - Point review/merge templates at extracted workflow - Add doc-contract tests for split structure Part of #333. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
113 lines
2.8 KiB
Markdown
113 lines
2.8 KiB
Markdown
# Review-merge final report schema
|
|
|
|
**Task mode:** `review-merge-pr`
|
|
|
|
Every review or merge run must end with a section titled exactly
|
|
`Controller Handoff` validated by `review_proofs.assess_controller_handoff`.
|
|
|
|
Use this schema — not author or issue-filing fields (`PR number opened`,
|
|
`Claim/comment status`, `Workspace mutations`).
|
|
|
|
## Required header
|
|
|
|
```md
|
|
## Controller Handoff
|
|
|
|
- Task: review-merge-pr
|
|
- Repo:
|
|
- Role/profile:
|
|
- Identity:
|
|
- Mode: review-merge-pr
|
|
```
|
|
|
|
Identity format: `username / profile` (e.g. `sysadmin / prgs-reviewer`). Do not
|
|
include personal email unless required for disambiguation (#305).
|
|
|
|
## Selection and eligibility
|
|
|
|
```md
|
|
- Selected PR:
|
|
- PR live state:
|
|
- Pinned reviewed head:
|
|
- Reviewer eligibility:
|
|
- Repositories checked:
|
|
- Open PR counts:
|
|
- Inventory completeness:
|
|
- Inventory pagination proof:
|
|
- Selected PR or reason none selected:
|
|
- Linked issue:
|
|
- Linked issue live status:
|
|
```
|
|
|
|
Linked issue number must match across all sections (#314). If not verified live:
|
|
`Linked issue status: not verified in this session`.
|
|
|
|
## Validation proof (#311, #323)
|
|
|
|
```md
|
|
- Validation command:
|
|
- Validation working directory:
|
|
- Validation executable proof:
|
|
- Validation result:
|
|
- Baseline SHA: (required if full suite failed on PR head)
|
|
- Baseline validation command/result: (required if approving despite full-suite failure)
|
|
- Matching failure list:
|
|
```
|
|
|
|
Reject vague claims like "same as master" without baseline worktree proof.
|
|
|
|
## Review and merge outcome
|
|
|
|
```md
|
|
- Review decision:
|
|
- Review mutations:
|
|
- Merge result:
|
|
- Merge commit:
|
|
- Cleanup status:
|
|
```
|
|
|
|
`Review mutations` must list exactly one live terminal review unless
|
|
operator-approved correction is documented.
|
|
|
|
## Mutation ledger (#319, #320)
|
|
|
|
Use precise categories — **not** `Workspace mutations` or bare `Mutations: None`.
|
|
|
|
```md
|
|
- File edits by reviewer: none
|
|
- Worktree/index mutations:
|
|
- Git ref mutations:
|
|
- MCP/Gitea mutations:
|
|
- Review mutations:
|
|
- Merge mutations:
|
|
- Cleanup mutations:
|
|
- External-state mutations:
|
|
- Read-only diagnostics:
|
|
```
|
|
|
|
Rules:
|
|
|
|
- `git fetch` → Git ref mutations
|
|
- `git worktree add/remove` → Worktree/index mutations
|
|
- merge simulation → Worktree/index mutations (#317)
|
|
- MCP review/merge calls → MCP/Gitea mutations + Review/Merge mutations
|
|
|
|
## Proof wording (#330)
|
|
|
|
Do not claim "live proof" for blockers unless revalidated this session. Prior
|
|
feedback at unchanged head: say `prior blocker reused` or `prior request-changes
|
|
still applies`.
|
|
|
|
Reject unsupported phrases: `inventory complete`, `same as master`, `live proof`,
|
|
`file edits none` — unless matching evidence is present.
|
|
|
|
## Blockers and safety
|
|
|
|
```md
|
|
- Blockers:
|
|
- Safe next action:
|
|
- Safety: no self-review; no self-merge; no author mutations; no code edits
|
|
```
|
|
|
|
Long format (§K in SKILL.md) is required when merge occurred, validation failed,
|
|
permissions blocked, or multiple repos were involved. |