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

26 lines
2.4 KiB
Markdown

---
issueRef: "#244"
version: 9
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787564815023
---
2026-08-24
- Repro QA confirmée sur le ticket #244.
- Scénario minimal: ouvrir Templates, éditer un template, cocher une permission MCP (ex. `idea_ticket_read`), sauvegarder, fermer, rouvrir: la case est de nouveau décochée.
- QA a démontré que le bug ne vient pas du pur UI local: le test frontend de réouverture avec `MockTemplateGateway` passe.
- QA a isolé une rouge backend de contrat: `update_template` ne désérialise pas actuellement la clé frontend `mcpToolPermissions`; le DTO backend n'accepte que `defaultMcpToolPermissions` / `defaultMcpToolPolicy`.
- Test rouge de référence initial: `cargo test -p app-tauri --test dto_templates update_template_request_does_not_currently_deserialise_frontend_mcp_tool_permissions_key -- --exact`.
- Architect a cadré le fix minimal: backend pur au niveau DTO request, avec `mcpToolPermissions` comme entrée canonique et tolérance d'alias legacy en entrée.
- Git a ouvert la branche `fix/244-mcp-tool-permissions-dto` depuis `develop` @ `592f248`.
- DevBackend a implémenté le fix dans `crates/backend/src/dto.rs`: désérialisation manuelle `CreateTemplateRequestDto` et `UpdateTemplateRequestDto` pour accepter `mcpToolPermissions` en priorité puis `defaultMcpToolPermissions` et `defaultMcpToolPolicy`; mapping interne conservé vers `default_mcp_tool_policy`.
- DevBackend a aussi ajouté/ajusté les garde-fous dans `crates/app-tauri/tests/dto_templates.rs` et conservé le test frontend `frontend/src/features/templates/templates.test.tsx`.
- QA a revalidé en vert:
- `cargo test -p app-tauri --test dto_templates update_template_request_does_not_currently_deserialise_frontend_mcp_tool_permissions_key -- --exact` → **1 passed**
- `cargo test -p app-tauri --test dto_templates` → **22 passed**
- `cd frontend && npm test -- --run src/features/templates/templates.test.tsx -t "reopening an edited template preserves saved MCP tool permissions in the editor"` → **1 passed**
- Git a intégré localement:
- commit fix `69129a9`
- commit miroir `a6a97fd`
- merge local vers `develop` `7f445cb`
- aucun push.
- Statut décidé: ticket remis en **QA**. La preuve automatisée est verte et le fix est mergé localement dans `develop`; la prochaine preuve finale attendue est la validation live du parcours édition/sauvegarde/réouverture d'un template avec permissions MCP.