# Delta `0.2.5-pre.002-fix.002` — conformité Clippy du canari de frontière Wallet ## Base requise ```text livraison : 0.2.5-pre.002-fix.001 workspace.package.version = "0.2.5-pre.2.fix.1" ``` La base fonctionnelle reste l'archive Gitea opérateur `0.2.5-pre.002`, complétée par le delta `pre.002-fix.001` déjà appliqué. Aucun fichier historique n'est réécrit. ## Motif La validation opérateur après `pre.002-fix.001` donne : ```text cargo fmt --all OK cargo check --workspace OK cargo clippy --workspace --all-targets ECHEC cargo test -p ksp-wallet-lib OK ``` Clippy rejette deux appels à `expect()` dans le helper d'intégration `rust_source_files()` de `crates/ksp-wallet-lib/tests/dependency_boundary.rs` au titre de `clippy::expect_used`. `RUST-ERR-006` n'autorise `unwrap`/`expect` dans les tests que dans la limite permise par la configuration Clippy. `allow-expect-in-tests = true` couvre les fonctions `#[test]`, mais le helper concerné n'est pas lui-même une fonction `#[test]`. Pour rendre le canari robuste et homogène, le correctif retire en plus les autres `expect()` de ce fichier d'intégration au lieu de dépendre de cette exception locale. ## Correction `rust_source_files()` retourne désormais : ```text std::io::Result> ``` et traite explicitement les erreurs de : ```text read_dir lecture des DirectoryEntry récursion dans les sous-répertoires ``` sans : ```text unwrap expect ? allow local de lint ``` Les deux fonctions `#[test]` retournent elles-mêmes `std::io::Result<()>` et propagent explicitement les erreurs filesystem. Le fichier d'intégration ne contient donc plus aucun `unwrap()` ni `expect()`. Aucun comportement de `ksp-wallet-lib`, aucun contrat VIEW/OWNER, aucune dépendance et aucun format `.kspwallet` ne changent. ## Version Cargo Le correctif modifie une source Rust participant au build de tests. Conformément à `VER-ID-007` et `VER-ID-010` : ```text 0.2.5-pre.2.fix.1 -> 0.2.5-pre.2.fix.2 ``` ## Fichiers modifiés ```text Cargo.toml crates/ksp-wallet-lib/tests/dependency_boundary.rs ``` ## Fichiers ajoutés ```text deltas/0.2.5/pre.002-fix.002.md ``` ## Fichiers supprimés Aucun. ## Fichiers volontairement inchangés ```text crates/ksp-wallet-lib/src/** deltas/0.2.5/pre.002.md deltas/0.2.5/pre.002-fix.001.md docs/** ROADMAP.md CHANGELOG.md ``` ## Validations déjà exécutées par l'opérateur sur `pre.002-fix.001` - `cargo fmt --all` : OK ; - `cargo check --workspace` : OK ; - `cargo clippy --workspace --all-targets` : échec uniquement sur les deux `expect()` du helper `rust_source_files()` ; - `cargo test -p ksp-wallet-lib` : OK : - 7 unit tests ; - 2 dependency-boundary tests ; - 4 public API tests ; - 2 doctests `compile_fail`. ## Validation attendue après application ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-wallet-lib ``` À la clôture de la tranche Rust, `cargo test --workspace` reste également requis par `RUST` selon le checkpoint de session retenu. ## Décisions - ne pas contourner `clippy::expect_used` par un `#[allow]` local ; - ne conserver aucun `unwrap()`/`expect()` dans ce canari d'intégration, même là où l'exception Clippy les aurait autorisés ; - ne pas utiliser `?`, également interdit par les lints workspace ; - ne pas élargir le périmètre fonctionnel de `pre.002`. ## Questions ouvertes Aucune nouvelle question fonctionnelle introduite par ce correctif. ## Commit attendu ```text v0.2.5-pre.002-fix.002 ```