chore(tickets): synchro store local — cycle #267 QA verte (carnet complet: implémentation, tests, build AppImage 0.3.0 + remplacement racine) ; clôture #268 en doublon de #267 ; index/counter

This commit is contained in:
2026-09-07 18:13:42 +02:00
parent f6101a8249
commit ab30db122a
6 changed files with 143 additions and 1 deletions

View File

@ -0,0 +1,52 @@
---
issueRef: "#267"
version: 4
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1788797485001
---
# 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.

View File

@ -0,0 +1,17 @@
---
id: "e68681a5-2a9e-4742-912b-9c1d726ca789"
number: 267
title: "Corriger permissions cross-project agents/templates et reconstruire l’AppImage"
status: "qa"
priority: "critical"
sprint: null
links: [{"target":"#260","kind":"relatesTo"},{"target":"#264","kind":"relatesTo"},{"target":"#265","kind":"relatesTo"}]
agentRefs: [{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"},{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"},{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"},{"agentId":"ab328d90-c307-4771-a3b6-6c56089c8506","role":"assigned"},{"agentId":"1ff94b51-3e17-4a39-8543-7715d1ff0f80","role":"assigned"}]
attachments: []
createdBy: {"kind":"agent","agent_id":"fe887179-933f-47d4-960f-c3b06827f86c"}
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
createdAt: 1788795096659
updatedAt: 1788797485001
version: 4
---
Cycle complet demandé par l’utilisateur. Corriger : (1) exposer les tools MCP cross-project dans l’éditeur de permissions agent/projet et dans les templates ; (2) permettre d’autoriser précisément idea_project_list/read_context/list_agents/ask_agent/cancel_agent selon le catalogue canonique ; (3) persister et réafficher correctement defaultContactable dans TemplateEditor après save/reopen ; (4) conserver la permission agent Contactable depuis d’autres projets dans Permissions ; (5) tests frontend/backend/transport/persistance, QA complète ; (6) intégration Git puis nouvelle AppImage clairement publiée à la place de l’ancienne artefact visible.

View File

@ -0,0 +1,22 @@
---
issueRef: "#268"
version: 4
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1788796144919
---
# Ticket #268 - reprise permissions inter-projets
Demande utilisateur: reprendre après erreur d'agent et livrer le cycle complet + rebuild AppImage.
Constats transmis par DevBackend:
- Le panneau permissions agent expose deja la case `Contactable depuis d'autres projets` dans `frontend/src/features/permissions/PermissionsPanel.tsx`.
- Les tools inter-projets `idea_project_ask_agent` et `idea_project_cancel_agent` ne sont pas dans `frontend/src/features/permissions/mcpToolGroups.ts`, donc l'UI ne permet pas de les autoriser.
- Deux AppImages `0.3.0` existent; celle a la racine est ancienne (17 aout), celle de `.appimage-build/...` plus recente (7 septembre) contient seulement une partie.
Definition of done:
- Template: la case contactable est persistée après save/reopen.
- Permissions agent projet: contactable configurable et persistant.
- Permissions MCP IdeA: les tools inter-projets sont visibles/configurables.
- Tests QA reels verts.
- Git gère branche/commit/merge local.
- AppImage reconstruite et l'ancienne AppImage visible a la racine remplacée explicitement.

View File

@ -0,0 +1,17 @@
---
id: "b8510b67-2378-4292-9f46-83fb3988ac63"
number: 268
title: "Corriger permissions MCP inter-projets, contactable template/agent et rebuild AppImage"
status: "closed"
priority: "high"
sprint: null
links: [{"target":"#267","kind":"duplicates"}]
agentRefs: []
attachments: []
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
createdAt: 1788795950006
updatedAt: 1788796144919
version: 4
---
Reprise demandée par l'utilisateur. Problèmes à corriger: (1) les tools MCP inter-projets idea_project_ask_agent et idea_project_cancel_agent ne sont pas exposés dans les groupes de l'éditeur MCP; (2) dans l'éditeur de template, la case contactable depuis d'autres projets est visible mais ne persiste pas après save/reopen; (3) vérifier que les permissions de l'agent projet permettent de configurer tools MCP et contactable; (4) cycle complet QA vert; (5) reconstruire l'AppImage et remplacer explicitement l'ancienne AppImage visible à la racine si validation OK.

View File

@ -1,3 +1,3 @@
{ {
"nextNumber": 267 "nextNumber": 269
} }

View File

@ -3618,6 +3618,40 @@
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
}, },
"updatedAt": 1788793585703 "updatedAt": 1788793585703
},
{
"issueRef": "#267",
"path": "267",
"title": "Corriger permissions cross-project agents/templates et reconstruire l’AppImage",
"status": "qa",
"priority": "critical",
"sprint": null,
"assignedAgentIds": [
"fe887179-933f-47d4-960f-c3b06827f86c",
"8f7da528-58df-4315-97e9-0562230ecc19",
"b4730d7f-c54d-4736-8a04-c6203aa2fd49",
"ab328d90-c307-4771-a3b6-6c56089c8506",
"1ff94b51-3e17-4a39-8543-7715d1ff0f80"
],
"createdBy": {
"kind": "agent",
"agent_id": "fe887179-933f-47d4-960f-c3b06827f86c"
},
"updatedAt": 1788797485001
},
{
"issueRef": "#268",
"path": "268",
"title": "Corriger permissions MCP inter-projets, contactable template/agent et rebuild AppImage",
"status": "closed",
"priority": "high",
"sprint": null,
"assignedAgentIds": [],
"createdBy": {
"kind": "agent",
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1788796144919
} }
] ]
} }