Files
IdeA/.ideai/tickets/224/carnet.md

6.5 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#224 16
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1787223037400

2026-08-17 Main

  • Demande: permettre le passage en custom CLI sur la version web telephone avec une UI correctement adaptee aux telephones.
  • UX: la bascule doit vivre dans la session agent plein ecran mobile, pas dans la liste Travail. Controle segmente TUI native / CLI custom, affichage exclusif d'un mode a la fois, composer fixe en bas, adaptation tactile/mobile, confirmations en bottom sheet.
  • Architect: aucun nouveau port backend; reutiliser AgentGateway et CustomAgentChatView. Introduire un host mobile de session agent, partager la logique d'eligibilite custom CLI avec le desktop, et ajouter un draftScope explicite pour la persistance mobile sans layoutId.
  • DevFrontend: implementation livree puis correctif applique apres retour QA rouge sur le fallback quand le support custom disparait apres mount.
  • QA finale: VERTE le 2026-08-17.
  • Commandes QA vertes: cd /home/anthony/Documents/Projects/IdeA/frontend && npm test -- --run src/features/web/WebAgentCell.test.tsx (8 passed), npm test -- --run src/features/layout/LayoutGrid.chat.test.tsx (14 passed), npm run typecheck (OK), npm run build:web (OK).
  • Git: commit feature c547b71, merge local 911dcf8 dans develop, puis bookkeeping b25c17c. Aucun push.
  • Statut: ticket cloture apres merge local dans develop avec QA verte.

2026-08-20 Main

  • Regression utilisateur: sur la version web telephone, le lancement de la custom CLI echoue maintenant avec un symptome runtime indiquant que node est introuvable.
  • Decision de pilotage: reouverture du ticket #224 car le symptome touche le meme parcours produit version web telephone -> custom CLI.
  • Ordre impose avant tout fix: QA doit d'abord ajouter des tests de non-regression sur le bon demarrage des serveurs MCP dans ce parcours web/mobile, vu l'historique de regressions repetes dans cette zone.
  • Regle anti-boucle pour la reprise: ne pas partir directement sur un correctif applicatif tant que QA n'a pas produit un signal rouge/vert concret sur ce scenario.
  • Retour QA: non-regression ajoutee dans frontend/src/features/web/WebAgentCell.test.tsx pour figer la couche existante la plus pertinente du parcours mobile web -> CLI custom.
  • Bornes couvrees par QA: reprise visible d'une session custom mobile avec replay d'activite MCP au re-attach; echec de lancement mobile quand le runtime remonte un spawn node ENOENT, avec erreur visible cote UI.
  • Commande QA executee: cd /home/anthony/Documents/Projects/IdeA/frontend && npm test -- --run src/features/web/WebAgentCell.test.tsx.
  • Resultat QA: VERT, Test Files 1 passed, Tests 10 passed.
  • Gap residuel explicitement note par QA: cette suite ne prouve pas encore le demarrage reel de node ni le boot effectif des serveurs MCP dans le runtime backend/web reel; elle fige le contrat frontend/integration autour du symptome.
  • Retour UX: en cas d'echec de boot runtime/MCP, garder la vue CLI custom mais afficher une alerte inline bloquante avec message utilisateur clair, CTA Reessayer et Revenir a TUI native; le detail technique brut spawn node ENOENT ne doit pas etre le message principal final.
  • Retour Architect: cause la plus probable cote backend/runtime sur le profil custom CLI Node-backed ou la resolution de commande dans le chemin web; points de verite a traiter d'abord dans crates/web-server/src/lib.rs, StructuredSessionFactory, et plus generalement dans le routage structured pour ne jamais degrader en PTY.
  • Decision d'implementation: DevBackend d'abord; frontend ne revient que si le backend expose une erreur typee ou si l'etat visible doit etre nettoye apres le fix runtime.
  • Decision Git: branche de travail locale fix/224-web-custom-cli-node-runtime creee depuis develop@b25c17c; commit scope puis merge local --no-ff vers develop une fois QA verte; aucun push.
  • Retour DevBackend: fix runtime implemente sans commit. crates/application/src/agent/lifecycle.rs fait maintenant reutiliser mcp_server_wiring(...) par opencode_config_json pour ecrire une commande MCP OpenCode basee sur le binaire IdeA (idea-serve ... mcp-server) quand un McpRuntime web est injecte, au lieu de dependre d'un node externe.
  • Preuve de test ajoutee par DevBackend: integration dans crates/application/tests/agent_lifecycle.rs garantissant qu'un lancement custom chat OpenCode avec runtime reste structured, n'ouvre aucun PTY, ecrit opencode.json, transmet OPENCODE_CONFIG, et que mcp.idea.command[0] != "node".
  • Tests verts annonces par DevBackend: cargo fmt; cargo test -p application opencode_config_json_with_runtime_uses_idea_exe_not_node -- --nocapture; cargo test -p application --test agent_lifecycle launch_opencode_chat_with_runtime_uses_idea_bridge_without_pty_or_node -- --nocapture; cargo test -p backend mcp_bridge -- --nocapture; cargo test -p web-server web_root_candidates_include_appimage_resource_dir -- --nocapture; cargo test -p web-server authorized_open_project_arms_orchestrator_watch -- --nocapture; npm test -- WebAgentCell.test.tsx.
  • Note de reprise: un filtre large cargo test -p application opencode -- --nocapture remonte un echec existant non cible p8c_opencode_same_pair_and_provider_are_isolated_by_project_root (left: 0 right: 2), mais les non-regressions cibles du fix sont vertes separement.
  • Validation QA finale du 2026-08-20: VERT sur commandes reelles. Preuves explicites: lancement structured conserve, pas de dependance node dans la commande MCP generee sous runtime web, et non-regression UI mobile verte.
  • Commandes QA finales: cargo test -p application opencode_config_json_with_runtime_uses_idea_exe_not_node -- --nocapture; cargo test -p application --test agent_lifecycle launch_opencode_chat_with_runtime_uses_idea_bridge_without_pty_or_node -- --nocapture; cargo test -p backend mcp_bridge -- --nocapture; cargo test -p web-server web_root_candidates_include_appimage_resource_dir -- --nocapture; cargo test -p web-server authorized_open_project_arms_orchestrator_watch -- --nocapture; cd frontend && npm test -- --run src/features/web/WebAgentCell.test.tsx.
  • Retour Git final: commit scope du fix 9a3ca51 sur fix/224-web-custom-cli-node-runtime, commit bookkeeping separe b51a63f, puis merge local --no-ff dans develop via bd9f2cb. Aucun push. Worktree final propre hors untracked non lies .appimage-build/ et scripts/restart-idea-over-ssh.sh.
  • Statut final: ticket cloture le 2026-08-20 apres QA verte et merge local dans develop.