4.2 KiB
Delta 0.2.6-pre.018-fix.001 — ownership Config du canari resources et resynchronisation candidate
Base requise
0.2.6-pre.018 appliquée
workspace.package.version = 0.2.6-pre.18
Le gate opérateur du 22 août 2026 confirme :
cargo fmt --all OK
python3 scripts/audit_rust_workspace_rules.py clean
cargo check --workspace OK
cargo clippy --workspace --all-targets OK
cargo test -p ksp-wallet-lib 84 passed / 1 ignored
cargo test -p ksp-app-config-desk OK
cargo test -p ksp-app-wallet-desk OK
cargo test -p ksp-config-lib puis cargo test --workspace échouent toutefois sur le canari d'ownership :
workspace_crates_do_not_hardcode_config_managed_physical_files
La cause est locale à crates/ksp-app-wallet-desk/tests/release_compliance.rs : le nouveau test de resources de pre.018 recopie littéralement le nom physique du dotenv alors que KSP-CONFIG impose que ce nom reste possédé par ksp-config-lib.
Le cargo tauri build lancé ensuite a techniquement produit les bundles .deb, .rpm et .AppImage, mais ne constitue pas la preuve finale de release, puisque le gate Rust précédent était rouge. Il devra être rejoué après ce fix et redevenir l'absolue dernière opération.
Signal technique
workspace.package.version = 0.2.6-pre.18.fix.1
package.json Config Desk = 0.2.6-pre.18.fix.1
package.json Wallet Desk = 0.2.6-pre.18.fix.1
tauri.conf Config Desk = 0.2.6-pre.18.fix.1
tauri.conf Wallet Desk = 0.2.6-pre.18.fix.1
commit = v0.2.6-pre.018-fix.001
Aucun tag prerelease.
Correction ownership
Le canari Wallet Desk conserve exactement son objectif de sécurité, mais ne possède plus le nom physique du dotenv :
ksp_config_lib::DEFAULT_DOTENV_PATH
remplace le littéral local. La règle ksp-config-lib/tests/ownership.rs reste donc stricte ; aucun contournement, exclusion ou allow n'est ajouté.
Les autres interdictions du canari (wallets, logs, secret, private) restent inchangées car elles vérifient le contenu des resources Tauri et ne redéfinissent pas un nom de document Config enregistré.
Versions candidate
Les versions Cargo, npm et Tauri des deux Desks sont resynchronisées sur pre.18.fix.1. Le badge Wallet Desk suit le même signal.
Les canaris pre.018 ne figent plus une chaîne prerelease particulière : ils comparent maintenant package.json, tauri.conf.json et le badge Wallet Desk à env!("CARGO_PKG_VERSION"). Un futur pre.018-fix.NNN ne pourra donc pas introduire une divergence de version simplement parce qu'un test contient encore l'ancien numéro.
Parcours Tauri dev
Le parcours essayé avec :
bash -lc 'cd crates/ksp-app-wallet-desk && cargo tauri dev'
n'est pas retenu : dans l'environnement opérateur, le login shell remplace le PATH et perd Cargo.
La forme canonique reste crate-local, sans login shell :
cd crates/ksp-app-wallet-desk
KSP_WALLETS_DIRECTORY=var/wallet-desk-pre018-fix001 cargo tauri dev
ou, depuis la racine :
(cd crates/ksp-app-wallet-desk && KSP_WALLETS_DIRECTORY=var/wallet-desk-pre018-fix001 cargo tauri dev)
Validation opérateur requise
Rejouer le gate depuis le début :
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-config-lib
cargo test -p ksp-wallet-lib
cargo test -p ksp-app-config-desk
cargo test -p ksp-app-wallet-desk
cargo test --workspace
Puis les audits de dépendances si souhaités :
cargo tree -p ksp-config-lib --depth 1
cargo tree -p ksp-app-wallet-desk --depth 1
cargo tree -p ksp-app-wallet-desk -d
Le parcours fonctionnel cargo tauri dev et les smokes live retenus sont exécutés avant le build.
Après tout ce qui précède, l'absolue dernière opération est :
(cd crates/ksp-app-wallet-desk && cargo tauri build)
Si ce build est vert, 0.2.6-pre.018-fix.001 devient la candidate validée et la seule étape suivante est 0.2.6-rel.001 + tag stable v0.2.6.