v0.2.6-pre.003-fix.002
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
||||
<!-- version: 59 -->
|
||||
<!-- version: 60 -->
|
||||
|
||||
# Séquence des releases fonctionnelles KSP
|
||||
|
||||
@@ -430,7 +430,7 @@ Le prompt [`../../prompts/011-V0_2_6_START_PROMPT.md`](../../prompts/011-V0_2_6_
|
||||
|
||||
`0.2.6-pre.001` confirme que le registre Config doit être étendu pour `cfg.std.wallet`/`schema.std.wallet` et `cfg.composite.ksp-app-wallet-desk`. `wallets_directory` reste global avec fallback `${KSP_WALLETS_DIRECTORY:-wallets}` et chaque profil peut définir un `wallets_subdirectory` relatif pour isoler tests, temporaires ou futurs scénarios. Wallet Desk prépare/crée le répertoire effectif après résolution Config et journalise le succès en debug ou l'échec en error. Le gabarit Config Desk est réutilisé avec Bootstrap, Font Awesome, DataTables/Select, SimpleBar et `resize-observer-polyfill`. L'inventory reste non récursive `.kspwallet`, sans symlink d'entrée et root-scoped; les handles VIEW/OWNER restent exclusivement côté Rust. L'ouverture accepte un password éphémère saisi ou une tentative explicite de secrets Config `KSP_SECRET_WALLET_PASS_*`, dont ni nom ni valeur ne traversent le frontend. `getBalance` utilise la Pubkey du handle autorisé et les flows OWNER metadata/rotations/revocation/export fichier délèguent à Wallet. La CSP reste `null` par défaut comme dans Config Desk et n'est réauditée qu'en présence d'un besoin WebView concret. Le forecast souple détaillé s'étend jusqu'à `pre.014`, dernière tranche prévue pour README/USAGE/docs/validation, prompt `0.2.7` et build Tauri final; le plan actif est `docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md`.
|
||||
|
||||
`0.2.6-pre.002` matérialise le shell Tauri spécialisé. `0.2.6-pre.003` matérialise ensuite la première composition Config propre à Wallet Desk : `cfg.std.wallet`/`schema.std.wallet`, le composite `cfg.composite.ksp-app-wallet-desk`, `ResolvedWalletConfig`, la racine `${KSP_WALLETS_DIRECTORY:-wallets}`, les sous-répertoires de profils `temporary`/`tests`, la préservation de provenance `Composite` dans les adapters Logging/Wallet et la création sûre des répertoires par l’application. Aucun inventory ou fichier `.kspwallet` n’est encore ouvert dans cette tranche. `0.2.6-pre.003-fix.001` corrige ensuite les tests de registry/fixtures devenus obsolètes, sélectionne le profil Logging composite `wallet_desk_dev` avec trace ciblée `ksp-app-wallet-desk`, et instrumente les clics frontend génériques sans sérialiser la valeur des contrôles.
|
||||
`0.2.6-pre.002` matérialise le shell Tauri spécialisé. `0.2.6-pre.003` matérialise ensuite la première composition Config propre à Wallet Desk : `cfg.std.wallet`/`schema.std.wallet`, le composite `cfg.composite.ksp-app-wallet-desk`, `ResolvedWalletConfig`, la racine `${KSP_WALLETS_DIRECTORY:-wallets}`, les sous-répertoires de profils `temporary`/`tests`, la préservation de provenance `Composite` dans les adapters Logging/Wallet et la création sûre des répertoires par l’application. Aucun inventory ou fichier `.kspwallet` n’est encore ouvert dans cette tranche. `0.2.6-pre.003-fix.001` corrige ensuite les tests de registry/fixtures devenus obsolètes et instrumente les clics frontend génériques sans sérialiser la valeur des contrôles. `0.2.6-pre.003-fix.002` corrige le scanner d’inventaire `.env.example` qui interprétait `FILE_ID_COMPOSITE_KSP_APP_WALLET_DESK` comme une variable d’environnement, remplace le profil Logging ad hoc Wallet Desk par les profils génériques console-only/`file_info`/`superdev`/`supertrace`, et sélectionne temporairement `supertrace` dans le composite Wallet Desk.
|
||||
|
||||
## `0.2.7` — WebSocket Solana standard
|
||||
|
||||
|
||||
@@ -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