From ab29dc51bb9d581e32af0c6db01682ea87eb3d4d Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Sat, 22 Aug 2026 16:55:21 +0200 Subject: [PATCH] v0.2.7-pre.002-fix.001 --- Cargo.toml | 4 +- .../src/ws_settings.rs | 6 +- deltas/0.2.7/pre.002-fix.001.md | 129 +++++++++++++++--- 3 files changed, 114 insertions(+), 25 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b6967f8..fb2fadc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 193 +# version: 194 [workspace] resolver = "3" members = ["crates/ksp-app-config-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-wallet-lib"] [workspace.package] -version = "0.2.7-pre.2" +version = "0.2.7-pre.2.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/crates/ksp-onchain-transport-lib/src/ws_settings.rs b/crates/ksp-onchain-transport-lib/src/ws_settings.rs index b743dc5..df897ff 100644 --- a/crates/ksp-onchain-transport-lib/src/ws_settings.rs +++ b/crates/ksp-onchain-transport-lib/src/ws_settings.rs @@ -174,11 +174,7 @@ impl WsReconnectSettings { impl std::default::Default for WsReconnectSettings { fn default() -> Self { - return Self::new( - DEFAULT_WS_RECONNECT_MAX_RETRIES, - DEFAULT_WS_RECONNECT_INITIAL_BACKOFF, - DEFAULT_WS_RECONNECT_MAX_BACKOFF, - ); + return Self::new(DEFAULT_WS_RECONNECT_MAX_RETRIES, DEFAULT_WS_RECONNECT_INITIAL_BACKOFF, DEFAULT_WS_RECONNECT_MAX_BACKOFF); } } diff --git a/deltas/0.2.7/pre.002-fix.001.md b/deltas/0.2.7/pre.002-fix.001.md index 39f0c2c..cef2456 100644 --- a/deltas/0.2.7/pre.002-fix.001.md +++ b/deltas/0.2.7/pre.002-fix.001.md @@ -1,53 +1,125 @@ - + -# Delta `0.2.7-pre.002-fix.001` — Clippy strict + canari package Config Desk +# Delta `0.2.7-pre.002-fix.001` — Clippy strict, canaris desktop et signal Cargo synchronisé -## 1. Objet - -Ce correctif ferme les écarts détectés par la validation opérateur de `0.2.7-pre.002` sans modifier la surface fonctionnelle WebSocket et sans changer la version Cargo : +## 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. -## 2. Corrections Transport +Toutes les crates qui utilisent `version.workspace = true` héritent automatiquement de `0.2.7-pre.2.fix.1`. -`ws_settings.rs` et `ws_lifecycle.rs` sont alignés avec les lints workspace stricts : +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 `TRACING_TARGET`. +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. -## 3. Canaris desktop packagés +## 4. Canaris desktop packagés -Le test Config Desk demandé : +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 workspace alors que les ressources desktop packagées restaient volontairement sur la version stable `0.2.6`. +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 tranche afin que le workspace ne rencontre pas le même faux négatif immédiatement après Config Desk. Il vérifie en plus que le HTML embarque la version packagée déclarée, et non la version Cargo prerelease courante. +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 deux canaris conservent désormais les garanties utiles : +Les garanties conservées sont : ```text -version tauri >= 0.2.6 +version tauri >= 0.2.6 version package >= 0.2.6 -version tauri == version package +version tauri == version package ``` -Le cœur SemVer est comparé sur `major.minor.patch`; un suffixe prerelease éventuel ne change pas le floor. Les assertions de resources packagées et de writable runtime root restent inchangées. +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. -## 4. Validation attendue +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 @@ -60,4 +132,25 @@ cargo test -p ksp-app-wallet-desk --test desktop_contract cargo test --workspace ``` -Le smoke Devnet reste opt-in et n'est pas requis pour ce correctif. +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 +```