É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>
54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
---
|
|
name: ticket43-backend-b1-b4-qa-validation
|
|
description: memory note ticket43-backend-b1-b4-qa-validation
|
|
metadata:
|
|
type: project
|
|
---
|
|
---
|
|
title: Validation QA backend B1-B4 du système de plugins #43
|
|
type: reference
|
|
description: Verdict QA du périmètre backend plugin B1-B4 sur feature/ticket43-plugin-system, tests ajoutés et limites sandbox constatées.
|
|
---
|
|
|
|
# Validation QA backend B1-B4 du système de plugins #43
|
|
|
|
Sur `feature/ticket43-plugin-system`, QA a validé le périmètre backend B1-B4 sans modifier le frontend.
|
|
|
|
Tests/ajustements QA ajoutés :
|
|
|
|
- `crates/domain/tests/layout.rs` : les helpers de tests existants ignorent explicitement `LayoutNode::CustomPluginLayout(_)`, ce qui rétablit l'exhaustivité de compilation des tests domaine après l'ajout du layout plugin custom.
|
|
- `crates/application/src/plugin/mod.rs` : tests in-memory des ports plugin pour vérifier :
|
|
- catalogue runtime vide pour `Disabled`, `PendingUninstall`, `Invalid` ;
|
|
- réconciliation MCP limitée aux plugins enabled + serveurs `autoStart`, identité `plugin:<pluginId>:<serverId>` et résolution sous `pluginRoot` ;
|
|
- disable stoppe le MCP, publie `PluginDisabled`, retire le plugin du runtime catalog ;
|
|
- uninstall stoppe le MCP, retire registry + package et publie `PluginUninstalled`.
|
|
|
|
Commandes vertes constatées :
|
|
|
|
```text
|
|
cargo test -p application plugin --offline --no-fail-fast
|
|
# 7 passed; 0 failed
|
|
|
|
cargo test -p domain -p application -p infrastructure -p backend -p app-tauri plugin --offline --no-fail-fast
|
|
# plugin-filtered targeted suite green; application 7 plugin tests, domain 3 plugin tests,
|
|
# serde roundtrip custom plugin layout, infrastructure 3 plugin tests, dto plugin filtered test all ok.
|
|
|
|
cargo test -p app-tauri --test dto_plugins --offline --no-fail-fast
|
|
# 2 passed; 0 failed
|
|
|
|
cargo fmt --check
|
|
# OK
|
|
```
|
|
|
|
Workspace complet :
|
|
|
|
```text
|
|
cargo test --workspace --offline --no-fail-fast -- --test-threads=1
|
|
```
|
|
|
|
Résultat KO attendu dans ce sandbox, hors périmètre plugin :
|
|
|
|
- `-p infrastructure --lib` : 10 échecs `session::openai_compat::*` sur `bind: Os { code: 1, kind: PermissionDenied, message: "Operation not permitted" }`.
|
|
- `-p web-server --lib` : 2 échecs de bind `127.0.0.1:0 Operation not permitted` et 5 scénarios websocket/terminal recevant `error` au lieu de `terminal.attached`, cohérents avec restrictions loopback/PTY du sandbox.
|
|
|
|
Verdict : backend plugins B1-B4 validé QA avec réserve uniquement environnementale sur le workspace global. |