Files
IdeA/.ideai/memory/ticket43-backend-b1-b4-qa-validation.md
Blomios 98fb05447d chore(ideai): état runtime — tickets, mémoire, tâches de fond
É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>
2026-07-22 07:37:19 +02:00

2.4 KiB

name, description, metadata
name description metadata
ticket43-backend-b1-b4-qa-validation memory note ticket43-backend-b1-b4-qa-validation
type
project

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 :

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 :

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.