v0.2.7-pre.002-fix.001

This commit is contained in:
2026-08-22 16:55:21 +02:00
parent b6908cb573
commit ab29dc51bb
3 changed files with 114 additions and 25 deletions

View File

@@ -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"

View File

@@ -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);
}
}

View File

@@ -1,53 +1,125 @@
<!-- file: deltas/0.2.7/pre.002-fix.001.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# 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
```