Files
khadhroony-solana-project/deltas/0.2.6/pre.003-fix.002.md

4.7 KiB
Raw Permalink Blame History

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, laudit 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 dinventaire .env.example : le scanner interprète le fragment KSP_APP_WALLET_DESK de lidentifiant Rust FILE_ID_COMPOSITE_KSP_APP_WALLET_DESK comme une variable denvironnement 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 nest 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 nest 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 nest 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_* nactivent 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 linventory réel .kspwallet sur la base Config/Logging stabilisée.