4.3 KiB
4.3 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #223 | 3 |
|
1787578200000 |
Triage 2026-08-17
- Symptôme utilisateur:
- le startup MCP échoue;
- l'utilisateur précise qu'il utilise la surface Web fournie par l'AppImage IdeA, pas le binaire Web standalone.
- Vérifications statiques:
crates/app-tauri/src/lib.rs: le binaire AppImage route--serveversserver::run_from_args(...);crates/app-tauri/src/server.rs: ce wrapper appelleweb_server::run_from_args(...);crates/app-tauri/src/commands.rs:open_project_for_adapter(...)appellestate.ensure_orchestrator_watch(&output.project);crates/web-server/src/lib.rs:invoke_open_project(...)se contente deresolve_project_readonly(...)et sérialise le DTO.
- Hypothèse principale:
- en surface Web embarquée, l'ouverture de projet ne passe pas par la logique partagée qui réconcilie l'état et démarre
ensure_orchestrator_watch; - conséquence probable: watcher/orchestrateur/MCP non armés pour le projet ouvert via HTTP, alors que le desktop le fait.
- en surface Web embarquée, l'ouverture de projet ne passe pas par la logique partagée qui réconcilie l'état et démarre
- Références de code utiles:
crates/app-tauri/src/commands.rs:462crates/web-server/src/lib.rs:3094crates/backend/src/lib.rs:3301
- Travail attendu:
- Architect: valider la cause racine et le contrat de convergence desktop/Web;
- Git: décider la branche locale;
- DevBackend: faire passer l'ouverture de projet Web par le même flux que le desktop, sans régression sur les lectures read-only non concernées;
- QA: prouver que le startup MCP remarche réellement en surface Web embarquée, avec commandes/sorties réelles.
Implémentation 2026-08-17
- Correctif appliqué dans
crates/web-server/src/lib.rs. - Changement:
invoke_open_project(...)ne fait plus une simple lecture read-only;- nouveau helper
open_project_for_web(...)qui exécuteopen_project, réconcilie layouts/live-state/background tasks, armeensure_orchestrator_watch, puis lancereconcile_claude_run_dirs, comme le flux desktop.
- Test ajouté:
authorized_open_project_arms_orchestrator_watch- preuve: après
open_projectvia/api/invoke,state.app.open_project_ids()contient bien le projet ouvert.
QA 2026-08-17
- Commandes:
cargo test -p web-server authorized_open_project -- --nocapturecargo test -p web-server web_invoke_routes_agent_commands -- --nocapture
- Résultat:
authorized_open_project_returns_readonly_project_dto ... okauthorized_open_project_arms_orchestrator_watch ... okweb_invoke_routes_agent_commands ... ok
- Verdict:
QAsur preuve automatisée ciblée.- Validation live restante utile: vérifier en AppImage surface Web qu'un projet ouvert puis un agent MCP-capable lancé déclenche bien un startup MCP réussi de bout en bout.
Reprise 2026-08-20
- Signal utilisateur:
- "le mcp fail encore sur la version web".
- Vérification de l'état courant du code:
crates/web-server/src/lib.rscontient a nouveau le helperopen_project_for_web(...);- le flux HTTP
invoke_open_project(...)n'utilise plusresolve_project_readonly(...)mais executeopen_project, puisreconcile_layouts,reconcile_live_state,reconcile_background_tasks,ensure_orchestrator_watch(&output.project)etreconcile_claude_run_dirs(&output.project); crates/web-server/src/bin/idea-serve.rsroute maintenant aussi le sous-modemcp-serverversbackend::mcp_bridge::run_mcp_bridge(...);crates/backend/src/lib.rsexporte le module partagemcp_bridgepour reutiliser le meme pont stdio<->loopback entre desktop et binaire web.
- Validation automatisee du 2026-08-20:
cargo check -p web-server-> OKcargo test -p web-server authorized_open_project_arms_orchestrator_watch -- --nocapture-> OKcargo test -p web-server web_root_candidates_include_appimage_resource_dir -- --nocapture-> OKcargo test -p web-server web_invoke_routes_agent_commands -- --nocapture-> OK
- Conclusion de pilotage:
- le correctif backend/web pour re-armer l'orchestrateur/MCP sur
open_projectweb est present dans l'arbre courant et vert en tests cibles; - le ticket passe en
QA; - fermeture a garder conditionnee a une preuve live AppImage/web montrant qu'un agent MCP-capable lance depuis la surface web demarre bien son MCP de bout en bout.
- le correctif backend/web pour re-armer l'orchestrateur/MCP sur