3.4 KiB
Delta 0.2.6-pre.013 — intégration / compliance / sécurité / smoke
Objet
Consolider les preuves transversales de Wallet Desk avant le polish visuel et la documentation finale : frontières Config/Wallet/Transport, inventory/path adversarial, DTO/IPC secrets, capabilities Tauri, dependency firewall et smoke Devnet de composition réel.
Changements
workspace.package.versionpasse à0.2.6-pre.13;- ajout de
tests/release_compliance.rs:- interdiction des bypass
std::env,reqwest, Solana crates ettracingdirect côté backend ; - audit frontend sans filesystem/dialog guest, réseau direct, storage/clipboard secret ou noms
KSP_SECRET_WALLET_PASS_*; - audit global des DTO de réponse contre password/key material/ciphertext ;
- capability Tauri limitée à
core:default+tracing:default; - firewall du manifest Wallet Desk contre dépendances
solana-*,reqwestettracingdirectes ;
- interdiction des bypass
- renforcement des tests inventory/path :
- inventory non récursif ;
- suffixe
.kspwalletexact ; - casse/backup/nested/directory ignorés ;
- traversal, absolute, nested, suffixe invalide et identifiant vide rejetés à la sélection ;
- ajout du smoke
tests/wallet_desk_devnet_smoke.rs, opt-in/ignored :- charge le composite Wallet Desk et
ConfigEnvironment; - résout Wallet et Transport en provenance
Composite; - crée un
.kspwalletréel VIEW+OWNER sous le répertoire Config effectif ; - inspecte locked puis ouvre VIEW ;
- exécute
getBalance(confirmed)viaHttpTransportPool; - supprime le wallet canari après la requête ;
- charge le composite Wallet Desk et
- ajout de
tokio/macrosaux features locales Wallet Desk pour le test async opt-in ; - création de
docs/validation/009-V0_2_6_WALLET_DESK_COMPLIANCE.mdet indexation dansdocs/validation/000-README.md; - correction des index
docs/000-README.mdetdocs/plans/000-README.mdpour refléter la séquence désormais réellepre.014polish puispre.015clôture ; shell_phase, badge et footer réalignés surpre.013-integration-compliance;ROADMAP.md,CHANGELOG.mdetdocs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.mdrestent inchangés.
Sécurité / architecture
Le smoke cross-crates vit dans Wallet Desk, surface d'orchestration légitime, et non dans Config ou Transport. Le test ne lit aucune variable KSP directement : KSP_WALLETS_DIRECTORY est consommée par ConfigEnvironment conformément à l'ownership Config.
Aucun secret supplémentaire ne traverse IPC. Aucune permission Tauri Dialog/FS n'est accordée au frontend. Aucun accès RPC n'est ajouté au frontend.
Validation opérateur
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-wallet-desk
cargo test --workspace
cargo tree -p ksp-app-wallet-desk --depth 1
cargo tree -p ksp-app-wallet-desk -d
cargo tree -i ksp-wallet-lib
cargo tree -i ksp-onchain-transport-lib
cargo tree -i tauri-plugin-dialog
KSP_WALLETS_DIRECTORY=var/wallet-desk-pre013-smoke \
cargo test -p ksp-app-wallet-desk \
--test wallet_desk_devnet_smoke \
-- --ignored --nocapture
cargo tauri dev n'est pas obligatoire pour cette tranche si le runtime pre.012 déjà communiqué reste la dernière preuve UI, car pre.013 ne change aucune interaction métier ; il reste acceptable comme contrôle supplémentaire. Aucun cargo tauri build avant pre.015.