v0.2.6-pre.003-fix.002
This commit is contained in:
132
deltas/0.2.6/pre.003-fix.002.md
Normal file
132
deltas/0.2.6/pre.003-fix.002.md
Normal 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`, 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
|
||||
|
||||
```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 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 :
|
||||
|
||||
```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` 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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```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 l’inventory réel `.kspwallet` sur la base Config/Logging stabilisée.
|
||||
Reference in New Issue
Block a user