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.
|
||||
Reference in New Issue
Block a user