Agent-to-agent PR comment and fix loop
The operator can let agents coordinate around PR comments without losing final review visibility or fix evidence.
Case context
This case shows how PR review feedback can move across multiple agents without losing ownership. The important chain is comment, claim, handoff, fix, validation, and review packet rather than the chat transcript.
The user-facing value is that every feedback item can answer three questions: who owns it, where the fix evidence is, and who still needs to review it. Public evidence spans the event contract, review packet, heartbeat prompt, and validation fixtures.
Repository evidence
Multiple agents can coordinate around PR review comments without losing owner review.
claimed_by, handoff gate, review packet, comment/fix loop
`event_sourced_state_contract_v0` defines `todo_claimed` as a canonical event for ownership, lease, or `claimed_by`.
`loopx/review_packet.py` preserves `claimed_by` in open-todo rendering and handoff ranking so review packets can show ownership.
`docs/heartbeat-automation-prompt.md` requires side agents to self-merge only small validated evidence-backed work or create a claimed handoff todo.
`examples/todo-lifecycle-cli-smoke.py` and `examples/todo-cli-smoke.py` cover claim, handoff successor, side-agent self-merge, review handoff, and same-agent handoff rejection.
LoopX behavior
- 1PR feedback becomes an owned todo rather than a chat reminder.
- 2Blocked or cross-lane fixes move through handoff gates and review packets instead of another agent guessing context.
- 3The fixing agent leaves diff, validation, and remaining gates; follow-up work becomes a successor todo.
- 4Owner review still happens on the PR or review surface; LoopX supplies state, evidence, and handoff.
What the user sees
The user does not have to shepherd every PR comment manually; the control plane shows who claimed the feedback, where the fix evidence is, and what still needs review.
Multi-agent collaboration stops depending on memory of which agent saw which comment.
Repository sources
docs/reference/protocols/event-sourced-state-contract-v0.mdreview packet codeloopx/review_packet.pyside-agent prompt contractdocs/heartbeat-automation-prompt.mdtodo lifecycle smokeexamples/todo-lifecycle-cli-smoke.pyEvidence boundary. Public-safe pattern case only; no private screenshots, raw chats, internal review notes, local state, credentials, or unpublished artifacts.