26 lines
2.4 KiB
Markdown
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. |