# Delta `0.2.6-pre.003-fix.001` — corrections Config + visibilité Logging frontend ## Base requise ```text 0.2.6-pre.003 appliquée workspace.package.version = 0.2.6-pre.3 ``` La validation opérateur de `pre.003` a confirmé `cargo fmt --all`, l'audit structurel, `cargo check --workspace`, `cargo test -p ksp-app-wallet-desk` et le démarrage `cargo tauri dev`. Elle a également révélé un warning Clippy dans l'adapter Wallet, un test registry obsolète et une fixture Config Desk incomplète ; `cargo test -p ksp-config-lib` puis `cargo test --workspace` ne sont donc pas verts sur la livraison initiale. ## Type de livraison ```text ksp-general-0.2.6-pre.003-fix.001.zip ``` Le correctif touche Rust, TypeScript et configuration runtime. Conformément à `VER-ID-007`/`VER-ID-010`, la version technique devient : ```text workspace.package.version = 0.2.6-pre.3.fix.1 commit = v0.2.6-pre.003-fix.001 ``` ## Corrections de validation Le warning Clippy `redundant_pattern_matching` de `ksp-config-lib/src/wallet.rs` est corrigé avec `validation.is_err()`. Le canari registry historique n'affirme plus qu'aucun runtime composite n'existe : `cfg.composite.ksp-app-wallet-desk` est maintenant un document réellement enregistré et associé à `schema.composite`. Les fixtures utilisées par Config Desk sont complétées avec `std.wallet.json` et `composite.ksp-app-wallet-desk.json`. Le test d'inventory vérifie désormais Logging, Transport, Wallet et le composite enregistré au lieu d'échouer sur un fichier fixture absent. ## Logging composite Wallet Desk `cfg.composite.ksp-app-wallet-desk` référençait déjà le composant `logging`. Le correctif rend cette sélection explicite et spécifique à Wallet Desk : ```text logging -> cfg.std.logging / wallet_desk_dev ``` Le profil `wallet_desk_dev` ajouté à `std.logging.json` conserve le niveau global KSP à `info`, mais ouvre `ksp-app-wallet-desk` à `trace`. La console est routée à `trace` uniquement pour ce target prefix et un fichier dédié `wallet-desk/ksp-app-wallet-desk.log` reçoit également les événements `trace`. Les profils `devnet`, `temporary` et `tests` du composite utilisent tous ce profil Logging. Cette configuration est volontairement orientée développement de Wallet Desk afin de rendre immédiatement observables les actions frontend sans rendre tous les targets KSP globalement verbeux. Elle pourra être resserrée plus tard sans modifier le bridge. ## Instrumentation frontend Le bridge existant `frontend -> emit_frontend_log -> ksp-logging-lib` est conservé. `main.ts` ajoute un listener de capture générique pour les contrôles interactifs : ```text button a input / select / textarea [role=button] / [role=tab] [data-view] [data-shell-action] ``` Chaque clic produit un événement `trace` `Frontend control clicked` avec uniquement des métadonnées techniques sûres : tag, id, type, rôle, état disabled, `data-view` et `data-shell-action`. Le texte et la valeur du contrôle ne sont pas sérialisés ; cela évite de créer plus tard une fuite de password ou d'autre donnée sensible lorsque les formulaires Wallet seront ajoutés. Les logs sémantiques spécifiques (`navigation activated`, actions shell, IPC) restent en complément. ## Dépendances Aucune dépendance Cargo ou npm n'est ajoutée/modifiée. `package.json` et `tauri.conf.json` changent uniquement leur version applicative vers `0.2.6-pre.3.fix.1`. Aucune commande npm directe n'est requise. ## Validation opérateur requise Après application : ```bash 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 ``` Dans l'application, cliquer sur les boutons de navigation et les contrôles du shell doit produire des événements `TRACE` sous `ksp-app-wallet-desk.frontend.main` visibles dans la console et dans le fichier de log Wallet Desk du lancement. Aucun password/value de contrôle ne doit apparaître. `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 ce fix, `pre.004` peut brancher l'inventory réel `.kspwallet` sur la base Config/Logging désormais cohérente.