# Reconcile-landed controller handoff schema

**Task mode:** `reconcile-landed-pr`

End every reconciliation run with a section titled exactly `Controller Handoff`.
Use this canonical field set. Do not omit fields — use `none` or
`not verified in this session` where appropriate.

Reject stale author/reviewer fields: `PR number opened`, `Pinned reviewed head`,
`Scratch worktree used`, `Workspace mutations`, `Mutations: None` (when mutations
occurred).

```md
## Controller Handoff

- Task:
- Repo:
- Role:
- Identity:
- Active profile:
- Runtime context:
- Selected PR:
- PR live state:
- Candidate head SHA:
- Target branch:
- Target branch SHA:
- Ancestor proof:
- Linked issue:
- Linked issue live status:
- Eligibility class:
- Capabilities proven:
- Missing capabilities:
- PR comments posted:
- Issue comments posted:
- PRs closed:
- Issues closed:
- File edits by reconciler:
- Worktree/index mutations:
- Git ref mutations:
- MCP/Gitea mutations:
- Reconciliation mutations:
- External-state mutations:
- Read-only diagnostics:
- Blockers:
- Current status:
- Safe next action:
- Safety statement:
- No review/merge confirmation:
```

Identity format: `username / profile` (not personal email unless required — #305).

`git fetch` belongs under `Git ref mutations`, not read-only diagnostics (#297).