4.7 KiB
Delta 0.2.6-pre.003-fix.002 — canari environnement + profils Logging génériques
Base requise
0.2.6-pre.003-fix.001 appliquée
workspace.package.version = 0.2.6-pre.3.fix.1
La validation opérateur de pre.003-fix.001 confirme cargo fmt --all, l’audit structurel, cargo check --workspace, cargo clippy --workspace --all-targets, cargo test -p ksp-app-config-desk, cargo test -p ksp-app-wallet-desk ainsi que le comportement Tauri/trace frontend. cargo test -p ksp-config-lib et cargo test --workspace révèlent toutefois un dernier défaut du canari d’inventaire .env.example : le scanner interprète le fragment KSP_APP_WALLET_DESK de l’identifiant Rust FILE_ID_COMPOSITE_KSP_APP_WALLET_DESK comme une variable d’environnement réelle.
Type de livraison
ksp-general-0.2.6-pre.003-fix.002.zip
Le correctif touche tests Rust et configuration runtime Logging. La version technique devient :
workspace.package.version = 0.2.6-pre.3.fix.2
commit = v0.2.6-pre.003-fix.002
ksp-app-wallet-desk/package.json et tauri.conf.json suivent le signal technique 0.2.6-pre.3.fix.2. Aucune dépendance Cargo ou npm n’est ajoutée ou modifiée.
Correction du scanner .env.example
collect_environment_names exige désormais une frontière lexicale valide avant et après un nom KSP/KSPB. Un fragment inclus dans un identifiant Rust plus long n’est donc plus considéré comme une variable runtime.
Le canari couvre explicitement :
FILE_ID_COMPOSITE_KSP_APP_WALLET_DESK
-X-> KSP_APP_WALLET_DESK
KSP_PUBLIC_RPC_URL_SUFFIXED
-X-> KSP_PUBLIC_RPC_URL_SUFFIXED
"KSP_PUBLIC_RPC_URL"
-> KSP_PUBLIC_RPC_URL
Aucune fausse entrée KSP_APP_WALLET_DESK n’est ajoutée à .env.example.
Profils standard Logging
config/std.logging.json conserve local_dev pour compatibilité et ajoute une surface générique réutilisable :
console_error
console_warn
console_info
console_debug
console_trace
file_info
superdev
supertrace
Les cinq profils console_* n’activent que la console au niveau correspondant.
file_info désactive la console et écrit tous les targets KSP au niveau info dans le sink global info/ksp-info.log.
superdev utilise :
console = debug
fichiers = debug, un par target KSP racine
supertrace utilise :
console = debug
fichiers = trace, un par target KSP racine
Les targets racines actuellement couvertes sont :
ksp-app-config-desk
ksp-app-wallet-desk
ksp-config-lib
ksp-core-lib
ksp-logging-lib
ksp-onchain-transport-lib
ksp-wallet-lib
Les filtres de sortie sont des préfixes : les sous-targets tels que ksp-app-wallet-desk.frontend.main sont donc routés dans le fichier du target racine correspondant.
Composite Wallet Desk
Le profil ad hoc wallet_desk_dev est supprimé. Les profils devnet, temporary et tests de cfg.composite.ksp-app-wallet-desk sélectionnent temporairement :
logging -> cfg.std.logging / supertrace
Ce choix permet de garder la console lisible en debug tout en conservant les événements trace frontend dans le fichier targets/trace/ksp-app-wallet-desk.log. Le niveau Logging reste entièrement piloté par la composition Config et pourra être remplacé plus tard par superdev, console_info ou un autre profil sans changement du runtime Wallet Desk.
Canaris
Les tests Config vérifient désormais la présence de la famille de profils Logging et les propriétés structurantes de superdev/supertrace. Le test de composition Wallet Desk vérifie la sélection supertrace, la console debug et les sept sinks trace par target.
Validation opérateur requise
Après application :
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-app-config-desk
cargo test -p ksp-app-wallet-desk
cargo test --workspace
KSP_WALLETS_DIRECTORY=var/wallet-desk-pre003 cargo tauri dev -c crates/ksp-app-wallet-desk/tauri.conf.json
Pendant le tauri dev, les événements frontend trace ne sont plus attendus dans la console supertrace lorsque leur niveau dépasse debug, mais ils doivent être présents dans le fichier de lancement correspondant au target ksp-app-wallet-desk. Les événements Rust/frontend debug restent visibles en console.
cargo tauri build -c crates/ksp-app-wallet-desk/tauri.conf.json reste exclu de ce fix et réservé à la toute dernière validation de 0.2.6.
Suite
Après validation de pre.003-fix.002, pre.004 peut brancher l’inventory réel .kspwallet sur la base Config/Logging stabilisée.