# Delta `0.2.5-pre.010` ## Objet Clôturer documentairement `0.2.5 — Wallet foundation` après le gate security/interoperability/compliance `pre.009` validé, sans modifier le code de production, les dépendances, la cryptographie ni le wire `.kspwallet` V1. Cette tranche prépare la candidate de publication `rel.001` et le prompt d'ouverture de `0.2.6 — Wallet Desk`. ## Base validée Base fonctionnelle : ```text 0.2.5-pre.009 workspace.package.version = 0.2.5-pre.9 ``` Checkpoint opérateur communiqué le 2026-08-19 : ```text cargo fmt --all OK cargo check --workspace OK, aucun warning cargo clippy --workspace --all-targets OK, aucun warning cargo test -p ksp-wallet-lib OK unit 58 passed / 1 ignored dependency_boundary 3 passed public_api 9 passed doctests 2 passed cargo test --workspace OK ``` Audit inverse final communiqué : ```text ed25519-dalek 2.2.0 <- ksp-wallet-lib <- solana-keypair 3.1.2 <- ksp-wallet-lib solana-keypair 3.1.2 <- ksp-wallet-lib uniquement comme parent KSP direct solana-address 2.7.0 <- solana-keypair 3.1.2 <- solana-pubkey 4.3.0 via ksp-core-lib ``` Aucune remédiation de code, dépendance ou wire n'est requise par ce checkpoint. ## Version Cargo `pre.010` est **strictement documentaire**. Conformément à la règle KSP faisant de `workspace.package.version` un signal technique, `Cargo.toml` n'est pas modifié et reste : ```text 0.2.5-pre.9 ``` La livraison/delta reste néanmoins identifiée : ```text 0.2.5-pre.010 ``` `0.2.5-rel.001` effectuera le passage Cargo vers `0.2.5` lors de la publication stable. ## Documentation Wallet ajoutée ### `crates/ksp-wallet-lib/README.md` Ajoute la synthèse consumer-facing de Wallet : - responsabilités et hors-périmètre ; - dépendances et frontières KSP ; - états Locked/VIEW/OWNER ; - format V1 et primitives ; - persistence/no-clobber/state conflict ; - import/export ; - threat model et limites ; - fixtures/tests et liens durables. ### `crates/ksp-wallet-lib/USAGE.md` Ajoute des exemples des surfaces publiques : ```text create_wallet_file_v1 inspect_locked_wallet_file_v1 open_wallet_view_file_v1 open_wallet_owner_file_v1 WalletOwner::sign metadata administration OWNER/VIEW password rotation disable/recreate VIEW inspect/import transfer OWNER export surfaces in-memory ``` Le guide rappelle explicitement que les octets d'export contiennent le secret et que Config/Transport restent hors de Wallet. ## Spécification et validation finales `docs/formats/KSPWALLET_V1.md` passe en candidate documentaire finale : - toutes les tranches `pre.006`–`pre.010` sont indiquées acquises ; - aucune opération V1 n'est encore annoncée comme restant à implémenter ; - la boundary async KDF est décrite au présent ; - le tree final est rattaché au gate `pre.009` ; - une section de statut de clôture rappelle que `rel.001` ne doit pas changer le wire. `docs/validation/008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md` devient la matrice finale : - ajoute les résultats opérateur `pre.009` ; - enregistre les convergences Dalek/Solana-address/keypair ; - ajoute le gate documentaire `pre.010` ; - porte le verdict final candidate positif ; - pointe vers `rel.001` strictement publicationnelle. ## Graphes et plans Le graphe Wallet documente désormais les dépendances réelles et rappelle : ```text Pubkey -> ksp-core-lib Keypair -> encapsulée dans ksp-wallet-lib Wallet -X-> Config/Transport/Tauri/Store/tracing direct/env ``` ROADMAP, séquence fonctionnelle, plan `0.2.5`, indices formats/validation/docs et prompts sont synchronisés sur : ```text pre.010 acquis rel.001 prochaine étape 0.2.6 Wallet Desk ensuite ``` ## Prompt `0.2.6` Ajoute : ```text prompts/011-V0_2_6_START_PROMPT.md ``` Le prompt impose `0.2.6-pre.001` comme gate d'audit/sizing avant UI lourde et cadre notamment : - `ksp-app-wallet-desk` Tauri mince ; - composition Config composite + Wallet + HTTP ; - besoin minimal identité autorisée + `getBalance` ; - audit d'un `std.wallet` minimal sans secret ; - handles VIEW/OWNER possédés côté Rust ; - passwords éphémères et aucun secret en Config/frontend persistence ; - inventory/path safety ; - administration OWNER via les APIs Wallet existantes ; - logging Tauri via l'écosystème tracing KSP ; - TS-RS uniquement à la frontière applicative ; - smoke Devnet de composition possible dans l'app ; - `cargo tauri build` comme dernière validation. ## Fichiers Ajoutés : ```text crates/ksp-wallet-lib/README.md crates/ksp-wallet-lib/USAGE.md prompts/011-V0_2_6_START_PROMPT.md deltas/0.2.5/pre.010.md ``` Modifiés : ```text ROADMAP.md docs/000-README.md docs/architecture/005-DEPENDENCY_GRAPH.md docs/formats/000-README.md docs/formats/KSPWALLET_V1.md docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md docs/plans/012-V0_2_5_WALLET_FOUNDATION_PLAN.md docs/validation/000-README.md docs/validation/008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md prompts/000-README.md ``` Total delta : **14 fichiers**. ## Contrôles attendus Le delta étant documentaire, aucun `cargo tree` supplémentaire n'est requis. Le checkpoint de clôture recommandé reste : ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-wallet-lib cargo test --workspace ``` Vérifications documentaires : ```text liens Markdown relatifs valides aucun fichier Rust modifié Cargo.toml identique à pre.009 workspace.package.version toujours 0.2.5-pre.9 README/USAGE/spec/validation/plan/prompt cohérents ``` ## Suite Si le checkpoint reste vert : ```text commit : v0.2.5-pre.010 next : 0.2.5-rel.001 ``` Aucun tag stable n'est créé pour `pre.010`.