Files
khadhroony-solana-project/deltas/0.2.6/pre.013.md
2026-08-21 17:15:40 +02:00

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.version passe à 0.2.6-pre.13 ;
  • ajout de tests/release_compliance.rs :
    • interdiction des bypass std::env, reqwest, Solana crates et tracing direct 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-*, reqwest et tracing directes ;
  • renforcement des tests inventory/path :
    • inventory non récursif ;
    • suffixe .kspwallet exact ;
    • 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 .kspwallet réel VIEW+OWNER sous le répertoire Config effectif ;
    • inspecte locked puis ouvre VIEW ;
    • exécute getBalance(confirmed) via HttpTransportPool ;
    • supprime le wallet canari après la requête ;
  • ajout de tokio/macros aux features locales Wallet Desk pour le test async opt-in ;
  • création de docs/validation/009-V0_2_6_WALLET_DESK_COMPLIANCE.md et indexation dans docs/validation/000-README.md ;
  • correction des index docs/000-README.md et docs/plans/000-README.md pour refléter la séquence désormais réelle pre.014 polish puis pre.015 clôture ;
  • shell_phase, badge et footer réalignés sur pre.013-integration-compliance ;
  • ROADMAP.md, CHANGELOG.md et docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md restent 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.