# Delta `0.2.7-pre.002-fix.001` — Clippy strict, canaris desktop et signal Cargo synchronisé ## 1. Base requise ```text 0.2.7-pre.002 appliquée workspace.package.version = 0.2.7-pre.2 ``` La validation opérateur de `0.2.7-pre.002` confirme : ```text cargo fmt --all OK python3 scripts/audit_rust_workspace_rules.py clean cargo check --workspace OK avec 2 warnings dead_code WS cargo test -p ksp-onchain-transport-lib 256 unit + 28 public API + 22 release completeness OK ``` `cargo clippy --workspace --all-targets` échoue sur les règles workspace strictes `clippy::implicit_return` et `clippy::question_mark_used`. `cargo test --workspace` atteint ensuite le canari Config Desk qui compare encore la version packagée stable `0.2.6` à la prerelease Cargo courante. Cette version 2 du fichier delta accompagne l'archive d'échange **corrigée** de `pre.002-fix.001`. L'archive `pre.002-fix.001` précédemment transmise sans mise à jour du `Cargo.toml` racine est révoquée avant application/commit : elle ne doit pas être utilisée. ## 2. Signal technique Le correctif touche des sources Rust et des tests Rust. Conformément à `VER-ID-007`, `VER-ID-010` et au contrat `Cargo.toml` de `FILE_CONTRACTS.md`, le signal Cargo est synchronisé : ```text livraison = 0.2.7-pre.002-fix.001 workspace.package.version = 0.2.7-pre.2.fix.1 commit = v0.2.7-pre.002-fix.001 ``` Aucun tag prerelease. Toutes les crates qui utilisent `version.workspace = true` héritent automatiquement de `0.2.7-pre.2.fix.1`. Le manifeste racine passe aussi : ```text # version: 193 -> 194 ``` Aucune dépendance, feature, membre workspace ou lint n'est modifié. ## 3. Corrections Transport `crates/ksp-onchain-transport-lib/src/ws_settings.rs` et `ws_lifecycle.rs` sont alignés avec les lints workspace stricts : - les helpers `as_str()` utilisent un `return match` explicite ; - les propagations d'erreur n'utilisent plus l'opérateur `?`, interdit par `clippy::question_mark_used` ; - les constructeurs crate-internal de snapshots, encore réservés aux tests dans `pre.002`, sont compilés uniquement sous `cfg(test)` afin de supprimer les warnings `dead_code` avant leur consommation runtime future. Aucun contrat public, default WebSocket, logging target ou règle de redaction n'est modifié. Le tracing reste exclusivement émis via `ksp-logging-lib` avec le `TRACING_TARGET` de `ksp-onchain-transport-lib`; aucun `tracing` direct n'est introduit. ## 4. Canaris desktop packagés Le test Config Desk : ```text pre_018_packaged_runtime_bundles_config_resources_and_activates_shared_writable_root ``` ne compare plus `tauri.conf.json` et `package.json` à chaque valeur de `CARGO_PKG_VERSION`. Cette égalité rendait le test faux dès l'ouverture d'une prerelease Cargo alors que les ressources desktop packagées restaient volontairement sur la baseline stable `0.2.6`. Le canari Wallet Desk analogue est corrigé dans la même livraison afin d'éviter le même faux négatif lors du `cargo test --workspace` suivant. Les garanties conservées sont : ```text version tauri >= 0.2.6 version package >= 0.2.6 version tauri == version package ``` Le cœur SemVer est comparé sur `major.minor.patch`; un suffixe prerelease éventuel ne change pas ce floor. Wallet Desk conserve en plus la vérification que le HTML embarque la version packagée réellement déclarée. Les versions npm/Tauri ne sont pas forcées à suivre chaque prerelease Cargo par ce correctif. ## 5. Fichiers ajoutés ```text deltas/0.2.7/pre.002-fix.001.md ``` ## 6. Fichiers modifiés ```text Cargo.toml crates/ksp-app-config-desk/tests/desktop_contract.rs crates/ksp-app-wallet-desk/tests/desktop_contract.rs crates/ksp-onchain-transport-lib/src/ws_lifecycle.rs crates/ksp-onchain-transport-lib/src/ws_settings.rs ``` ## 7. Fichiers supprimés ```text aucun ``` ## 8. Validations exécutées pour la préparation de l'archive corrigée Sur la reconstruction `0.2.7-pre.002 + pre.002-fix.001 corrigé` : ```text python3 scripts/audit_rust_workspace_rules.py OK / clean inspection workspace.package.version 0.2.7-pre.2.fix.1 inspection absence de tracing direct OK inspection absence de ? dans ws_settings.rs OK inspection contenu archive OK ``` ## 9. Validations non exécutées dans le sandbox Cargo n'est pas disponible dans l'environnement de préparation. Aucun gate Cargo n'est déclaré réussi pour cette archive corrigée. ## 10. Validation opérateur requise Après application de **cette archive corrigée uniquement** : ```bash cargo fmt --all python3 scripts/audit_rust_workspace_rules.py cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-onchain-transport-lib cargo test -p ksp-app-config-desk --test desktop_contract cargo test -p ksp-app-wallet-desk --test desktop_contract cargo test --workspace ``` Si ce checkpoint est vert, le commit attendu est : ```text v0.2.7-pre.002-fix.001 ``` La tranche suivante reste `0.2.7-pre.003`. ## 11. Décisions prises ```text le fix code porte bien un signal Cargo fix.1 les canaris desktop conservent un floor >= 0.2.6 au lieu d'une égalité à CARGO_PKG_VERSION aucune modification fonctionnelle supplémentaire de la surface WebSocket aucune synchronisation forcée des versions npm/Tauri avec les prereleases Cargo ``` ## 12. Questions ouvertes ```text aucune pour ce correctif ```