---
id: 10523
title: Generalize Resumption Protocol to A2A interrupts
state: CLOSED
labels:
  - documentation
  - enhancement
  - ai
  - architecture
assignees:
  - neo-gpt
createdAt: '2026-04-30T09:56:32Z'
updatedAt: '2026-04-30T10:05:39Z'
githubUrl: 'https://github.com/neomjs/neo/issues/10523'
author: neo-gpt
commentsCount: 0
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
closedAt: '2026-04-30T10:05:39Z'
---
# Generalize Resumption Protocol to A2A interrupts

## Context

`AGENTS.md §8` currently frames the Resumption Protocol around a human commander injecting a side-question while an agent is midway through a ticket lifecycle. That was correct when #10343 introduced the protocol, but the current A2A wake substrate means cross-agent messages also arrive as immediate interrupts.

This ticket was prompted by an in-session example: while creating this follow-up, an A2A wake for PR #10508 arrived and pulled attention toward a re-review request. That is the exact class of interruption §8 is meant to guard against.

## The Problem

The existing wording is human-only:

- "If the human commander injects..."
- "If a user interrupts..."

With A2A in place, this under-specifies the real interruption surface. A cross-agent PR review request, re-review request, test request, or hand-off can interrupt the same active ticket lifecycle and produce the same failure mode: the agent resolves the side-quest, then forgets to resume the ticket and complete the PR Definition of Done.

The goal is not to add more protocol surface. The goal is to reduce cognitive load by replacing source-specific prose with one shorter, source-neutral rule.

## The Architectural Reality

- `AGENTS.md §7` defines the Pull Request Mandate / Definition of Done.
- `AGENTS.md §8` defines the Resumption Protocol, but currently names only human/user interruptions.
- `AGENTS.md §21` already treats every user prompt and every A2A message as prompt-like for Skill Trigger Pre-Flight.
- `AGENTS.md §22.1` treats wake injection as an interrupt and requires polling Memory Core for canonical state.
- #10343 introduced the original Resumption Protocol.
- #10496 established that A2A messages must pass through the same prompt-level trigger discipline as direct user prompts.

Five-stage challenge chain result:

1. **Premise:** Real. Current A2A delivery gets pushed into the agent context immediately, and this session produced a concrete interruption during ticket creation.
2. **Prescription:** Update `AGENTS.md §8` wording only. Do not add a new skill, service hook, mailbox state machine, or extra examples.
3. **Substrate:** `AGENTS.md` owns this because the rule must survive context pruning and fire during active session flow.
4. **Consumer:** Agent harnesses reading per-turn mandates. The prose should be short and source-neutral.
5. **Service Boundary:** No Memory Core, wake subscription, or MCP behavior changes belong here. Future urgent-vs-normal delivery policy is separate work.

## The Fix

Replace the human-only §8 prose with compact wording that covers both user prompts and A2A messages:

```md
During continuous agent sessions, any interrupting user prompt or A2A message can cause "interruption amnesia": the agent resolves the side-quest, then forgets the active ticket lifecycle and PR Definition of Done.

**The Mandate:**
After any user prompt or A2A message reaches the agent during an active ticket lifecycle, resume that lifecycle and check the PR Definition of Done before halting. Ask: *"Did this interruption distract me from opening the Pull Request?"*
```

## Acceptance Criteria

- [ ] `AGENTS.md §8` no longer frames interruption amnesia as human-only.
- [ ] §8 explicitly includes A2A messages as possible interruptions during an active ticket lifecycle.
- [ ] The replacement is shorter than the current §8 prose.
- [ ] The wording does not document wake subscription implementation details or urgent-message policy.
- [ ] `git diff --check` passes.

## Out of Scope

- Implementing urgent-vs-normal A2A delivery semantics.
- Changing Memory Core mailbox or wake subscription behavior.
- Editing `.agents/skills/*`.
- Reworking §21 Skill Trigger Pre-Flight or §22 Mailbox Check Protocol.
- Handling or reviewing PR #10508; that re-review request is only observational evidence for this ticket.

## Avoided Traps / Gold Standards Rejected

- **Treating only human prompts as interruptions:** Rejected. A2A messages currently reach the agent immediately and can disrupt the same lifecycle state.
- **Saying every stored mailbox row triggers resumption:** Rejected. The rule is about messages that reach the agent during an active lifecycle, not a durable mailbox implementation detail.
- **Expanding §8 with substrate mechanics:** Rejected. The change should reduce cognitive load, not teach agents how wake subscriptions work.

## Related

- #10343 — introduced the original Resumption Protocol.
- #10496 — codified prompt + A2A Skill Trigger Pre-Flight.
- #10508 — in-session A2A re-review wake that demonstrated the interruption class.

Origin Session ID: c02c5b92-cfd8-41db-b1fc-9625824d7fff

Retrieval Hint: "AGENTS.md §8 Resumption Protocol A2A interrupt interruption amnesia Definition of Done PR #10508 wake"

## Timeline

- 2026-04-30T09:56:33Z @neo-gpt added the `documentation` label
- 2026-04-30T09:56:34Z @neo-gpt added the `enhancement` label
- 2026-04-30T09:56:34Z @neo-gpt added the `ai` label
- 2026-04-30T09:56:34Z @neo-gpt added the `architecture` label
- 2026-04-30T09:57:40Z @neo-gpt assigned to @neo-gpt
- 2026-04-30T09:59:57Z @neo-gpt cross-referenced by PR #10524
- 2026-04-30T10:05:39Z @tobiu referenced in commit `a392613` - "docs(agents): generalize resumption protocol to A2A (#10523) (#10524)

Co-authored-by: tobiu <tobiasuhlig78@gmail.com>"
- 2026-04-30T10:05:40Z @tobiu closed this issue
- 2026-04-30T11:17:12Z @neo-gpt cross-referenced by #10525

