# Delta `0.2.5-pre.006-fix.001` — alignement des tests de persistence sur le contrat Password ## Base requise ```text livraison : 0.2.5-pre.006 workspace.package.version = "0.2.5-pre.6" ``` ## Motif Les validations opérateur de `pre.006` donnent : ```text cargo fmt --all OK cargo check --workspace OK cargo clippy --workspace --all-targets ECHEC dans les tests Wallet ``` Les nouveaux tests de persistence et de surface publique construisaient `ViewPassword` et `OwnerPassword` comme si leurs constructeurs avaient le contrat historique/hypothétique : ```rust Password::new("...").expect("...") ``` Or le contrat acquis de `pre.002+` est : ```rust ViewPassword::new(String) -> ViewPassword OwnerPassword::new(String) -> OwnerPassword ``` Les erreurs observées sont donc : ```text E0308 : expected `String`, found `&str` E0599 : no method named `expect` found for `ViewPassword` / `OwnerPassword` ``` Le code de production de `pre.006` compile ; l'incohérence est limitée aux nouveaux tests. ## Correction Les cinq constructions fautives sont alignées sur le contrat public existant avec `std::string::String::from(...)` et sans `.expect(...)` sur les wrappers Password. Exemple : ```rust let owner_password = crate::OwnerPassword::new(std::string::String::from("pre006-owner-password")); ``` Le correctif ne modifie pas : - `ViewPassword` ou `OwnerPassword` ; - les règles de validation/password ; - la persistence no-clobber ; - le wire `.kspwallet` V1 ; - les paramètres ou primitives cryptographiques ; - les dépendances ; - les API fichier introduites par `pre.006`. ## Version Cargo Le correctif modifie des tests Rust participant au build : ```text 0.2.5-pre.6 -> 0.2.5-pre.6.fix.1 ``` ## Fichiers modifiés ```text Cargo.toml crates/ksp-wallet-lib/unit_tests/persistence.rs crates/ksp-wallet-lib/tests/public_api.rs ``` ## Fichiers ajoutés ```text deltas/0.2.5/pre.006-fix.001.md ``` ## Fichiers supprimés Aucun. ## Validation attendue après application ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-wallet-lib cargo test --workspace ``` Le `cargo tree` de `pre.006` n'est pas modifié par ce fix ; les résultats opérateur déjà obtenus pour `tempfile@3.27.0` restent valides. ## Commit attendu ```text v0.2.5-pre.006-fix.001 ```