5.5 KiB
Delta 0.2.7-pre.002-fix.001 — Clippy strict, canaris desktop et signal Cargo synchronisé
1. Base requise
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 :
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é :
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 :
# 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 unreturn matchexplicite ; - les propagations d'erreur n'utilisent plus l'opérateur
?, interdit parclippy::question_mark_used; - les constructeurs crate-internal de snapshots, encore réservés aux tests dans
pre.002, sont compilés uniquement souscfg(test)afin de supprimer les warningsdead_codeavant 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 :
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 :
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
deltas/0.2.7/pre.002-fix.001.md
6. Fichiers modifiés
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
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é :
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 :
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 :
v0.2.7-pre.002-fix.001
La tranche suivante reste 0.2.7-pre.003.
11. Décisions prises
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
aucune pour ce correctif