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:
52
.ideai/tickets/267/carnet.md
Normal file
52
.ideai/tickets/267/carnet.md
Normal 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.
|
||||||
17
.ideai/tickets/267/issue.md
Normal file
17
.ideai/tickets/267/issue.md
Normal 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.
|
||||||
22
.ideai/tickets/268/carnet.md
Normal file
22
.ideai/tickets/268/carnet.md
Normal 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.
|
||||||
17
.ideai/tickets/268/issue.md
Normal file
17
.ideai/tickets/268/issue.md
Normal 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.
|
||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"nextNumber": 267
|
"nextNumber": 269
|
||||||
}
|
}
|
||||||
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user