v0.2.6-pre.003-fix.002
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Plan `0.2.6` — Wallet Desk
|
||||
|
||||
@@ -23,7 +23,7 @@ Les validations opérateur du `2026-08-20` ont ensuite confirmé la base `pre.00
|
||||
|
||||
`0.2.6-pre.002` matérialise ensuite la première tranche technique : la crate `ksp-app-wallet-desk` rejoint le workspace avec le shell splash/main du gabarit Config Desk, le bootstrap Config + Logging commun, les ports `1432/1433`, Bootstrap, Font Awesome, DataTables/Select, SimpleBar, `resize-observer-polyfill`, TS-RS et le bridge frontend -> Rust -> `ksp-logging-lib`. Cette tranche ne branche encore ni `std.wallet`, ni inventory filesystem réel, ni `ksp-wallet-lib`, ni Transport : ces responsabilités restent dans les prereleases déjà dimensionnées.
|
||||
|
||||
`0.2.6-pre.003` matérialise la composition Config prévue : `cfg.std.wallet`/`schema.std.wallet`, le composite `cfg.composite.ksp-app-wallet-desk`, les profils Wallet `default`/`temporary`/`tests`, `ResolvedWalletConfig` et les adapters qui peuvent consommer un profil déjà sélectionné par composite sans perdre la provenance `Composite`. Wallet Desk valide les composants `logging`/`transport`/`wallet`, crée la racine et le sous-répertoire effectif absents avec logs `debug`, refuse les objets filesystem invalides/symlinks de sous-répertoire avec logs `error`, et expose uniquement les chemins/profils non secrets dans le statut runtime. Aucun inventory `.kspwallet` n’est encore effectué. `pre.003-fix.001` corrige les deux régressions de tests révélées par la validation workspace et le warning Clippy, puis sélectionne un profil Logging composite `wallet_desk_dev` qui rend visibles les événements `trace` de `ksp-app-wallet-desk`; les clics frontend sur boutons/navigation/tabs sont instrumentés avec des métadonnées techniques sans valeur de contrôle.
|
||||
`0.2.6-pre.003` matérialise la composition Config prévue : `cfg.std.wallet`/`schema.std.wallet`, le composite `cfg.composite.ksp-app-wallet-desk`, les profils Wallet `default`/`temporary`/`tests`, `ResolvedWalletConfig` et les adapters qui peuvent consommer un profil déjà sélectionné par composite sans perdre la provenance `Composite`. Wallet Desk valide les composants `logging`/`transport`/`wallet`, crée la racine et le sous-répertoire effectif absents avec logs `debug`, refuse les objets filesystem invalides/symlinks de sous-répertoire avec logs `error`, et expose uniquement les chemins/profils non secrets dans le statut runtime. Aucun inventory `.kspwallet` n’est encore effectué. `pre.003-fix.001` corrige les deux régressions de tests révélées par la validation workspace et le warning Clippy, puis rend visibles les événements `trace` frontend. `pre.003-fix.002` corrige ensuite le canari d’inventaire `.env.example` qui confondait un fragment d’identifiant Rust avec une variable KSP, remplace le profil temporaire `wallet_desk_dev` par une famille Logging réutilisable (`console_*`, `file_info`, `superdev`, `supertrace`) et fait sélectionner temporairement `supertrace` par le composite Wallet Desk afin de conserver la visibilité des actions frontend sans profil spécifique à l’application.
|
||||
|
||||
## 2. Sources relues et hiérarchie appliquée
|
||||
|
||||
@@ -169,6 +169,27 @@ wallet_export_cancelled
|
||||
|
||||
Ils ne sérialisent jamais aveuglément les request DTOs.
|
||||
|
||||
La configuration standard Logging expose aussi des profils opératoires réutilisables :
|
||||
|
||||
```text
|
||||
console_error / console_warn / console_info / console_debug / console_trace
|
||||
console seule au niveau correspondant
|
||||
|
||||
file_info
|
||||
console désactivée
|
||||
fichier global info pour tous les targets KSP
|
||||
|
||||
superdev
|
||||
console debug
|
||||
un fichier debug par target KSP racine
|
||||
|
||||
supertrace
|
||||
console debug
|
||||
un fichier trace par target KSP racine
|
||||
```
|
||||
|
||||
`local_dev` est conservé pour compatibilité avec Config Desk et les scénarios historiques. Pendant le développement de Wallet Desk, le composite sélectionne explicitement `supertrace`; ce choix reste une donnée de composition et pourra être resserré ultérieurement sans modifier l’application. Les fichiers par target utilisent des filtres de préfixe, de sorte que les sous-targets frontend (`ksp-app-wallet-desk.frontend.*`) restent routés dans le fichier de leur target racine.
|
||||
|
||||
## 5. Audit de la surface publique `ksp-wallet-lib`
|
||||
|
||||
La release stable `0.2.5` possède déjà la logique métier nécessaire. Wallet Desk compose et projette ; il ne réimplémente rien.
|
||||
@@ -367,7 +388,7 @@ Shape de référence :
|
||||
{
|
||||
"profile_id": "devnet",
|
||||
"documents": [
|
||||
{"component_id": "logging", "file_id": "cfg.std.logging", "profile_id": "wallet_desk_dev"},
|
||||
{"component_id": "logging", "file_id": "cfg.std.logging", "profile_id": "supertrace"},
|
||||
{"component_id": "transport", "file_id": "cfg.std.transport", "profile_id": "devnet_public"},
|
||||
{"component_id": "wallet", "file_id": "cfg.std.wallet", "profile_id": "default"}
|
||||
]
|
||||
@@ -375,7 +396,7 @@ Shape de référence :
|
||||
{
|
||||
"profile_id": "tests",
|
||||
"documents": [
|
||||
{"component_id": "logging", "file_id": "cfg.std.logging", "profile_id": "wallet_desk_dev"},
|
||||
{"component_id": "logging", "file_id": "cfg.std.logging", "profile_id": "supertrace"},
|
||||
{"component_id": "transport", "file_id": "cfg.std.transport", "profile_id": "devnet_public"},
|
||||
{"component_id": "wallet", "file_id": "cfg.std.wallet", "profile_id": "tests"}
|
||||
]
|
||||
@@ -1255,13 +1276,14 @@ wallets_subdirectory optionnel, relatif et multi-composants normaux
|
||||
profils default / temporary / tests
|
||||
ResolvedWalletConfig avec root/subdirectory/effective path/provenance
|
||||
resolve_logging_config_profile / resolve_wallet_config_profile pour profils composites
|
||||
cfg.composite.ksp-app-wallet-desk = logging(wallet_desk_dev) + transport + wallet
|
||||
cfg.composite.ksp-app-wallet-desk = logging(supertrace) + transport + wallet
|
||||
.env.example documente KSP_WALLETS_DIRECTORY et le pattern futur KSP_SECRET_WALLET_PASS_*
|
||||
bootstrap Wallet Desk valide les trois component_id/file_id requis
|
||||
création automatique du root et du sous-répertoire effectif absents
|
||||
rejet d'un root non-directory et d'un composant de sous-répertoire symlink/non-directory
|
||||
debug sur répertoires prêts/créés ; error sur préparation impossible
|
||||
profil Logging wallet_desk_dev : target ksp-app-wallet-desk à trace, console et fichier dédiés
|
||||
profils Logging génériques : console_error/warn/info/debug/trace, file_info, superdev et supertrace ; local_dev conservé pour compatibilité
|
||||
composite Wallet Desk temporairement sur supertrace : console debug + un fichier trace par target KSP racine
|
||||
trace frontend metadata-only sur clics boutons/navigation/tabs et actions shell
|
||||
status DTO/UI : profil composite, profils Logging/Wallet, root/subdirectory/effective directory
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user