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

3.8 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#267 5
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1788797669968

Ticket #267 - reprise orchestrée par Main

Demande utilisateur: corriger le parcours complet permissions cross-project agents/templates et reconstruire/remplacer l'AppImage visible.

Constats initiaux:

  • Les tools MCP inter-projets ne sont pas exposés correctement dans l'éditeur MCP.
  • La case Contactable depuis d'autres projets dans les templates est visible mais ne persiste pas après save/reopen.
  • Les permissions d'agent projet doivent permettre la configuration des tools MCP et de la contactabilité.
  • Deux AppImages 0.3.0 existent; la racine contenait une ancienne AppImage du 2026-08-17.

Arbitrage UX:

  • Groupe MCP attendu: IdeA inter-projets.
  • Tools/libellés: idea_project_ask_agent = Demander à un agent d'un autre projet; idea_project_cancel_agent = Annuler une demande inter-projet.
  • Contactabilité et permissions MCP restent deux réglages distincts: être appelable vs pouvoir appeler.
  • Save/reopen doit conserver les états cochés/décochés.

Arbitrage Architecture:

  • MCP tool groups: frontend pur.
  • Template.defaultContactable: frontend pur si DTO/adapters existants sont câblés correctement; ne pas sérialiser dans defaultSystemPermissions.
  • Agent.contactable est source de vérité agent projet. Backend devait fournir update_agent_contactable.
  • Les tools catalogués mais non groupés doivent rester visibles via fallback.

Implémentation:

  • DevBackend a ajouté le use case/DTO/commande Tauri/route web update_agent_contactable et tests associés.
  • DevFrontend a modifié adapters/domain/ports/panels/tests pour exposer les tools cross-project, fallback visible, defaultContactable template séparé et Agent.contactable via updateAgentContactable.

Validation QA:

  • Premier passage QA: code vert, ticket rouge uniquement car AppImage racine non remplacée.
  • Build AppImage exécuté via skill build-appimage: npm --prefix frontend run build, puis CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage depuis crates/app-tauri.
  • Nouvel artefact: /home/anthony/Documents/Projects/IdeA/target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage, 118921720 bytes, mtime 2026-09-07 18:08:44 +0200, sha256 770b6f59ad4c82222522da5c53a757531b91365e68bd2d33d1fe84155ca2efa0.
  • AppImage racine remplacée: /home/anthony/Documents/Projects/IdeA/IdeA_0.3.0_amd64.AppImage, même taille/mtime/hash; cmp root vs target = 0.
  • Ancienne AppImage sauvegardée: /home/anthony/Documents/Projects/IdeA/IdeA_0.3.0_amd64.AppImage.old-before-267-20260907180854, 118745592 bytes, mtime 2026-08-17 16:31:45 +0200, sha256 e66a8a9f4a55cdfd5eb55f1ccf8681a58f5c9f08977659cf9531101500675290.
  • QA final: VERT.

Tests verts relevés par QA:

  • cargo test -p infrastructure --test mcp_server tools_list_advertises_the_idea_tools_with_schemas -- --nocapture
  • cargo test -p infrastructure orchestrator::mcp::tools::tests -- --nocapture
  • cargo test -p application --test agent_lifecycle update_agent_contactable -- --nocapture
  • cargo test -p web-server web_invoke_routes_permission_commands -- --nocapture
  • cargo test -p app-tauri --test dto_templates -- --nocapture
  • cd frontend && npm test -- --run src/features/permissions/McpToolPermissionsPanel.test.tsx src/features/permissions/permissions.test.tsx src/features/templates/templates.test.tsx src/adapters/agent.test.ts src/adapters/http/agentGateway.test.ts
  • cd frontend && npm run typecheck

Etat Git:

  • Branche préparée par Git: fix/268-cross-project-permissions-appimage (nom historique malgré suivi #267).
  • Aucun commit au moment de ce carnet; Git doit décider commit/merge local.