État d'exécution accumulé (tickets créés/mis à jour hors #43, notes de mémoire, tâche de fond) capturé au moment du commit de la feature. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
---
|
|
name: ticket43-plugin-system-final-qa-verdict
|
|
description: memory note ticket43-plugin-system-final-qa-verdict
|
|
metadata:
|
|
type: project
|
|
---
|
|
---
|
|
title: Verdict QA final du ticket #43 système de plugins
|
|
type: reference
|
|
description: Validation finale QA de #43 après carnet v5, corrections F4/F3/B4 et exécutions réelles backend/frontend.
|
|
---
|
|
|
|
# Verdict QA final du ticket #43 système de plugins
|
|
|
|
Branche validée : `feature/ticket43-plugin-system`.
|
|
|
|
Contexte : après verdict QA orange initial, Architect a figé le carnet v5 : `customPluginLayout` top-level canonique, `gitRepository` obligatoire en F3, `${appDataDir}` obligatoire en B4, et `agentSelected`/`terminalFocused`/`layoutCellFocused` + persistance backend state layout plugin acceptés comme dette v1.
|
|
|
|
Résultats réels exécutés par QA :
|
|
|
|
```text
|
|
cargo test -p domain -p application -p infrastructure -p backend -p app-tauri plugin --offline --no-fail-fast
|
|
# OK
|
|
# application plugin: 9 passed
|
|
# domain plugin: 3 passed
|
|
# infrastructure plugin: 5 passed
|
|
# custom_plugin_layout_roundtrips_with_opaque_state: ok
|
|
|
|
cd frontend && npm run typecheck
|
|
# exit 0
|
|
|
|
cd frontend && npm test -- --run
|
|
# Test Files 104 passed (104)
|
|
# Tests 947 passed (947)
|
|
```
|
|
|
|
Contrôles ciblés confirmés :
|
|
|
|
- Frontend `LayoutNode` inclut `{ type: "customPluginLayout"; node: CustomPluginLayoutCell }` top-level, sans contrat `LeafCell.pluginLayout`.
|
|
- `LayoutGrid` route `customPluginLayout` vers `PluginLayoutCellView`.
|
|
- `onStateChange`, `onOpenPlugins`, `onChooseAnotherLayout` sont câblés in-session (`setPluginLayoutState`, navigation settings plugins, remplacement par terminal).
|
|
- `ProjectsView` câble `gitRepository` via `GitGateway.branches(active.id)` ; `agentSelected`, `terminalFocused`, `layoutCellFocused` restent explicitement `false` en dette v1.
|
|
- Backend application substitue `${pluginRoot}` et `${appDataDir}` dans command/args/env/cwd des specs MCP plugin, avec test `reconcile_mcp_substitutes_app_data_dir_in_plugin_server_specs`.
|
|
|
|
Verdict QA : VERT pour merge local du ticket #43.
|
|
|
|
Dette v1 assumée :
|
|
|
|
- `agentSelected`, `terminalFocused`, `layoutCellFocused` non câblés, figés à `false` jusqu'à un lot focus/selection dédié.
|
|
- Persistance backend du `state` de layout plugin non implémentée ; F4 validé en in-session selon arbitrage Architect.
|
|
|
|
Aucun nouveau blocage détecté dans les suites demandées. |