5.3 KiB
5.3 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #224 | 14 |
|
1787222847970 |
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
draftScopeexplicite pour la persistance mobile sanslayoutId. - 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 local911dcf8dansdevelop, puis bookkeepingb25c17c. Aucun push. - Statut: ticket cloture apres merge local dans
developavec 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
nodeest 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.tsxpour 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
nodeni 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 custommais afficher une alerte inline bloquante avec message utilisateur clair, CTAReessayeretRevenir a TUI native; le detail technique brutspawn node ENOENTne 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-runtimecreee depuisdevelop@b25c17c; commit scope puis merge local--no-ffversdevelopune fois QA verte; aucun push. - Retour DevBackend: fix runtime implemente sans commit.
crates/application/src/agent/lifecycle.rsfait maintenant reutilisermcp_server_wiring(...)paropencode_config_jsonpour ecrire une commande MCP OpenCode basee sur le binaire IdeA (idea-serve ... mcp-server) quand unMcpRuntimeweb est injecte, au lieu de dependre d'unnodeexterne. - Preuve de test ajoutee par DevBackend: integration dans
crates/application/tests/agent_lifecycle.rsgarantissant qu'un lancement custom chat OpenCode avec runtime reste structured, n'ouvre aucun PTY, ecritopencode.json, transmetOPENCODE_CONFIG, et quemcp.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 -- --nocaptureremonte un echec existant non ciblep8c_opencode_same_pair_and_provider_are_isolated_by_project_root(left: 0 right: 2), mais les non-regressions cibles du fix sont vertes separement.