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>
4.3 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| checkpoint-finding-a-fix-built-live-validation-pending | memory note checkpoint-finding-a-fix-built-live-validation-pending |
|
Checkpoint — Finding A : fix confirmé EN CODE + AppImage clean DÉPLOYÉE → reste la validation e2e LIVE (MAJ 2026-06-23 09:33)
Suite de mcp-e2e-findings-reply-wedge-phantom-busy (le défaut) et resume-after-appimage-rebuild-mcp-e2e (méthode).
État du code (OK, vert)
- Fix Finding A mergé dans
develop @ 77e62e5(par-dessus featc5e5493). - 3 lots : Lot 1 préambule
idea_replyimpératif (infrastructure/src/input/mod.rs+application/src/agent/lifecycle.rs) ; Lot 2 = LE fixwith_prompt_ready_pattern("? for shortcuts")sur le profil Claude (application/src/agent/catalogue.rs:80) + overlayoverlay_reference_defaults; Lot 3 backstop timeout typéTARGET_RETURNED_NO_REPLY/ envIDEA_ASK_RENDEZVOUS_TIMEOUT_MS(infrastructure/src/orchestrator/mcp/server.rs). - Tests lib qui PROUVENT le seed (re-passés vert le 2026-06-23) :
application::agent::catalogue::mcp_tests::claude_seed_carries_the_measured_prompt_ready_pattern✓ etcodex_seed_leaves_prompt_ready_pattern_empty_for_now✓.
LEÇON D'OUTILLAGE (important, éviter de refaire l'erreur)
Ne PAS utiliser strings/grep sur le binaire comme oracle de présence du fix. Le compilateur élimine/inline les littéraux uniques de catalogue.rs : ? for shortcuts ET codex --version sont ABSENTS du binaire alors que le code et les tests les portent (les littéraux aussi présents ailleurs — claude --version, .mcp.json, CLAUDE.md — n'apparaissent que par co-référence). Oracle fiable = tests + comportement live, pas le grep binaire. (Une fausse alarme « build incrémental incohérent » a été levée puis invalidée ainsi.)
Mise en service FAITE
- Rebuild clean (
cargo clean -p application -p infrastructurepuis recette tauri) → artefact…/target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage. - Déployé sur
/home/anthony/Documents/IdeA_0.3.0_amd64.AppImage(rename atomique ; SHA256138714473ed6a87b…installée == artefact). Ancienne sauvegardée…AppImage.bak-23pre. - ⚠️ L'instance IdeA qui tourne encore est l'ANCIENNE (FUSE déjà monté). Il faut que l'utilisateur RELANCE IdeA pour charger le nouveau binaire — cela redémarre tous les agents, dont Main (la session courante meurt).
PROCHAINE ÉTAPE après redémarrage : test e2e LIVE
Méthode (rappel) : NE PAS valider le système inter-agents VIA idea_ask_agent. Piloter via subagents natifs / l'utilisateur. Diag EXTERNE : ss -xp | grep idea-mcp (ponts) ; transcripts ~/.claude/projects/<run-dir-encodé>/*.jsonl (horodatages UTC ; reply réel = tool_use idea_reply ; wedge = transcript demandeur figé sur tool_use idea_ask_agent sans tool_result).
Scénario qui wedgeait (doit maintenant passer) :
- Faire déléguer DevBackend → QA : « réponds juste pong ».
- ATTENDU avec le fix : si QA répond en prose sans
idea_reply, dans la grâcePROMPT_READY_GRACEle retour au prompt idle (? for shortcuts) déclenchecomplete_without_reply→ DevBackend reçoitTargetReturnedNoReply(retryable) et REPREND la main (plus de wedge) ;idea_workstateQA repasseworking→idle/done(plus de Busy fantôme). Lot 1 devrait en plus pousser QA à appeleridea_reply(chemin positif → DevBackend reçoit pong). - Non-régression : chemin positif normal (QA appelle
idea_reply) → demandeur reçoit le résultat, workstate→done ; livraison 1er tour à froid intacte. - Calibrer
PROMPT_READY_GRACEsi la fenêtre est trop courte/longue en réel (défaut conservé).
Après validation verte
Merge develop déjà fait. Reste éventuelle release (0.4.0 ?) = décision utilisateur. NB : Git est de nouveau strictement local, PLUS d'accès push (la note git-agent-push-access-gitea-ssh a été corrigée en ce sens). develop est ~69 commits devant origin/develop (sync remote hors périmètre Git).
Follow-ups différés (hors PR)
Capture prompt_ready_pattern Codex ; généralisation merge profils de référence ; e2e délégation background (node_id None) / profils MCP défaut / observabilité UI des délégations ; durcissement doc idea_reply dans CLAUDE.md versionné (router à Git).