v0.2.6-pre.013

This commit is contained in:
2026-08-21 17:15:40 +02:00
parent ecbd6b746d
commit 4b350b4161
17 changed files with 687 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md -->
<!-- version: 27 -->
<!-- version: 28 -->
# Plan `0.2.6` — Wallet Desk
@@ -1651,21 +1651,24 @@ Le nom de destination et le contenu secret ne sont pas journalisés. Les logs pe
### `pre.013` — intégration, compliance, sécurité et smoke
Objectifs :
Cette tranche consolide les preuves transversales sans ajouter de nouvelle capacité Wallet Desk métier. Elle matérialise :
```text
tests déterministes de composition Config -> Wallet -> Transport
inventory/path adversarial
dto/debug/log secret audit
frontend state purge/security checks
capabilities audit
cargo tree / inverse tree pertinents
Devnet smoke opt-in
validation/009 ou numéro courant dédié à 0.2.6
tests déterministes de composition et de frontières release-wide
inventory/path adversarial renforcé : non récursif, suffixe exact, traversal/absolute/nested rejetés
audit DTO/IPC : aucun secret, keypair, endpoint URL ou path arbitraire projeté vers le frontend
audit frontend : aucun filesystem/dialog plugin guest, aucun fetch/WebSocket, aucun storage/clipboard secret
audit capabilities : core:default + tracing:default uniquement
audit dependency firewall Wallet Desk : pas de dépendance Solana/protocole directe hors crates KSP
smoke Devnet opt-in Config -> Wallet -> Transport -> getBalance depuis la surface Wallet Desk
matrice docs/validation/009-V0_2_6_WALLET_DESK_COMPLIANCE.md
cargo tree / inverse tree opérateur
workspace checkpoint complet
```
Cette tranche doit produire la preuve que les surfaces ajoutées fonctionnent ensemble avant la documentation de clôture.
Le smoke live est volontairement `ignored` dans `cargo test --workspace`. Il doit être déclenché explicitement avec un `KSP_WALLETS_DIRECTORY` dédié ; le test charge ce paramètre uniquement via `ConfigEnvironment`, crée un `.kspwallet` réel dans le répertoire effectif du profil composite, ouvre VIEW, exécute `getBalance` via le Transport composite puis supprime le wallet canari. Ainsi le smoke cross-crates vit dans la surface d'orchestration Wallet Desk et non dans Config ou Transport.
Cette tranche doit produire la preuve que les surfaces ajoutées fonctionnent ensemble avant le polish visuel `pre.014` et la documentation finale `pre.015`.
### `pre.014` — polish gabarit Bootstrap et splashscreen