Files
IdeA/.ideai/memory/rendezvous-no-reply-backstop-design.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

1.8 KiB

name, description, metadata
name description metadata
rendezvous-no-reply-backstop-design Décision d'architecture sur la fin-de-tour et le backstop no-reply du rendez-vous idea_ask_agent ⇄ idea_reply, après échec live du fix Finding A (77e62e5).
type
reference

Le watcher prompt-ready PTY (infrastructure/src/input/mod.rs arm_prompt_watcher) ne peut PAS servir de signal de fin-de-tour : il est one-shot ré-armé seulement au bind_handle, et matche un bandeau TUI permanent (? for shortcuts) — donc inopérant par tour. Preuve live : aucun prompt_ready de toute une session alors que l'agent a travaillé ⇒ c'est le handshake MCP initialize (→ release_agent_cold_start) qui libère le cold-start, pas le PTY.

Contrat figé : idea_ask_agent est garanti libéré en temps borné par l'un de :

  1. idea_reply (chemin propre, renforcé par le préambule comportemental injecté à chaque délégation) ;
  2. backstop no-reply sur stagnation — transition Alive→Stalled (lot-2 arm_liveness/sweep_stalled) du Busy{ticket} ⇒ résolution synthétique « cible silencieuse sans idea_reply » + libération du demandeur ;
  3. timeout absolu fini (dernier recours) — ASK_RENDEZVOUS_TIMEOUT ne doit JAMAIS être 24h ; défaut reco 600 s, env-overridable, garde Some(0)=no-override. La borne applicative per-tour (resolve_turn_timeout) doit aussi être finie.

Le scraping d'octets ANSI bruts est interdit comme autorité de fin-de-tour (fragile, profil-spécifique). Cold-start = signal MCP initialize. Aucun port domaine ni contrat de cartographie n'est touché : tout est infrastructure/application (réutilise lot-2 + sink MCP). Diagnosticabilité : les logs d'armement/bind doivent être en diag! (pas eprintln!→/dev/null) pour observer armement vs match.