Files
IdeA/.ideai/memory/mcp-t10a-harness-interrupt-does-not-cancel-rendezvous.md
Blomios 50e99e5ced chore(workstate): notes mémoire campagne MCP T1→T10 + état runtime
Capitalise la mémoire projet produite pendant la campagne de tests fonctionnels
MCP (rendez-vous inter-agents, backstop no-reply, réconciliation live-state au
reboot) et synchronise l'état runtime `.ideai/` (agents, layouts, skills, index
mémoire). Inclut la mise à jour du contexte de l'agent Git.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 13:32:28 +02:00

2.4 KiB

name, description, metadata
name description metadata
mcp-t10a-harness-interrupt-does-not-cancel-rendezvous memory note mcp-t10a-harness-interrupt-does-not-cancel-rendezvous
type
project

Finding T10a (2026-06-24, run a6ced819)

Setup

Main → idea_ask_agent(DevFrontend, "travaille ~90s puis idea_reply late-10a"). Pendant l'attente, l'utilisateur interrompt Main (Échap harness Claude Code). Le tool use idea_ask_agent est rejeté côté harness.

Observé

  • DevFrontend a fini ses ~95 s de travail réel (11:20:39→11:22:14 UTC) puis idea_reply("late-10a")ACCEPTÉ « delivered » à 11:22:18 (PAS « no pending request »).
  • DevFrontend workstate = done (pas d'orphelin côté cible). Pas de cascade.
  • Main (demandeur) workstate resté working : l'interrupt a coupé le tour de Main avant son nettoyage ; le chemin interrupt ne réconcilie pas la live-state du demandeur.

Interprétation

L'interrupt Claude Code annule le tool call local mais le process Main survit → la socket MCP (mcp-server du demandeur) reste connectée → IdeA ne reçoit aucun signal d'annulation → le rendez-vous reste pending → le reply tardif de la cible est livré dans un demandeur qui a déjà abandonné (perdu pour Main mais rapporté « delivered »).

Conséquence

  • Le T10a du plan (« annulation en vol → reply tardif non-livrable proprement ») n'est pas exerçable via interrupt harness tant que le process demandeur survit. Une vraie annulation exigerait : tuer le process demandeur (drop socket) OU un cancel protocolaire JSON-RPC.
  • Comportement néanmoins bénin : pas de wedge, pas de cascade, cible réconciliée (done). Seuls écarts : (a) reply tardif « delivered » au lieu de rejeté ; (b) live-state du demandeur laissée working par le chemin interrupt (mais reconcile-au-reboot la rattraperait, cf. reconcile-live-state-implemented-feature-branch).

Lié à mcp-functional-tests-t1-t9-green-live-2026-06-24, mcp-functional-test-plan-2026-06-24.