v0.2.6-pre.003-fix.002

This commit is contained in:
2026-08-20 21:33:46 +02:00
parent 0e72914237
commit 3fa4ab251a
13 changed files with 652 additions and 81 deletions

View File

@@ -0,0 +1,132 @@
<!-- file: deltas/0.2.6/pre.003-fix.002.md -->
<!-- version: 1 -->
# Delta `0.2.6-pre.003-fix.002` — canari environnement + profils Logging génériques
## Base requise
```text
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
```text
ksp-general-0.2.6-pre.003-fix.002.zip
```
Le correctif touche tests Rust et configuration runtime Logging. La version technique devient :
```text
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 :
```text
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 :
```text
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 :
```text
console = debug
fichiers = debug, un par target KSP racine
```
`supertrace` utilise :
```text
console = debug
fichiers = trace, un par target KSP racine
```
Les targets racines actuellement couvertes sont :
```text
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 :
```text
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 :
```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
```
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.