5.9 KiB
Delta 0.2.6-pre.001-fix.001 — correction du plan Wallet Desk
Base requise
0.2.6-pre.001 appliquée
workspace.package.version = 0.2.6-pre.1
Ce correctif part de la livraison pre.001 réellement appliquée par l'opérateur. Il ne remplace ni ne réécrit deltas/0.2.6/pre.001.md.
Type de livraison
ksp-doc-0.2.6-pre.001-fix.001.zip
La livraison est documentaire : elle modifie uniquement le plan 0.2.6 et ajoute le présent delta.
Objet
Corriger et compléter le sizing 0.2.6 après revue opérateur, sans ouvrir une nouvelle prerelease et sans modification code/build/runtime/configuration exécutable.
Corrections apportées
Gabarit Wallet Desk
Le plan retient explicitement le gabarit validé de ksp-app-config-desk :
Bootstrap
Font Awesome
DataTables Bootstrap 5
DataTables Select Bootstrap 5
SimpleBar
resize-observer-polyfill
DataTables porte l'inventaire des .kspwallet et Font Awesome peut représenter les états verrouillé/déverrouillé avec un équivalent textuel/accessible.
Config Wallet
Le modèle planifié devient :
wallets_directory global
profiles[].wallets_subdirectory optionnel et relatif
Les sous-répertoires de profil permettent d'isoler notamment les wallets de tests, temporaires et futurs scénarios sans dupliquer la racine globale.
Le répertoire effectif absent doit être créé automatiquement par Wallet Desk après résolution Config : succès/prêt journalisé en debug, échec de création journalisé en error et surfacé comme erreur runtime.
Passwords Config / .env
Les variables :
KSP_SECRET_WALLET_PASS_01
KSP_SECRET_WALLET_PASS_<FILENAME>
KSP_SECRET_WALLET_PASS_<FILENAME_ALIAS>
sont possédées/résolues exclusivement par Config côté Rust.
Le suffixe concerne un numéro, un filename/stem normalisé ou un alias de filename/opérateur. Il ne correspond jamais à l'alias interne protégé WalletInfo.alias du .kspwallet et aucune ouverture préalable du wallet n'est effectuée pour découvrir cet alias.
Sens de circulation des passwords Tauri
La règle est explicitée :
password saisi dans HTML/TypeScript
-> request Tauri IPC frontend -> Rust
-> OwnerPassword / ViewPassword
-> opération Wallet
-> purge/drop
Les passwords nécessaires aux opérations unlock, create/import, rotation/changement et recreate VIEW peuvent donc être envoyés du frontend vers Rust dans des request DTOs dédiés.
Interdictions conservées :
Rust -X-> frontend password
Rust -X-> frontend keypair/secret bytes
response DTO -X-> password
logs/Debug/storage frontend -X-> password
Les passwords provenant de KSP_SECRET_WALLET_PASS_* ne transitent pas par le frontend : Config les fournit directement côté Rust.
CSP
Le plan ne transforme plus la CSP en chantier obligatoire. Wallet Desk conserve par défaut le comportement du gabarit Config Desk (csp = null) et ne réouvre ce sujet que si une surface WebView concrète le nécessite.
Forecast souple
Le plan distingue désormais clairement la prévision souple des prereleases des critères de validation. Le forecast est détaillé par objectifs/livrables positifs et prévoit explicitement une dernière tranche documentaire :
pre.014 README/USAGE + docs/validation + dépendances + prompt 0.2.7
+ validations finales + cargo tauri build en dernière opération
Le numéro reste prévisionnel ; des prereleases/fixes supplémentaires peuvent être insérés si nécessaire.
Fichiers ajoutés
deltas/0.2.6/pre.001-fix.001.md
Fichiers modifiés
docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md
Fichiers supprimés
aucun
Version technique
Conformément à VER-ID-008, ce correctif est strictement documentaire :
workspace.package.version = 0.2.6-pre.1 (inchangé)
commit = v0.2.6-pre.001-fix.001
Aucun Cargo.toml n'est livré dans ce delta.
Validations opérateur de la base pre.001
L'opérateur a exécuté le 2026-08-20 :
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
Résultats communiqués :
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
KSP workspace Rust rule audit: clean
cargo check --workspace: vert
cargo clippy --workspace --all-targets: vert, aucun warning signalé
Ces validations établissent l'état de base pre.001. Le présent fix ne modifie aucun fichier Rust, Cargo, frontend, runtime ou Config exécutable.
Validations exécutées sur ce correctif
- contrôle que le plan porte
version: 2, à partir de la version1livrée danspre.001; - contrôle de l'absence de
Cargo.tomlet de tout fichier code/runtime dans l'archive ; - contrôle que l'archive contient uniquement le plan modifié et le nouveau delta ;
- contrôle des occurrences résiduelles concernant alias interne/alias de filename et sens IPC des passwords.
Validations non exécutées
Aucune validation Cargo supplémentaire n'est revendiquée pour ce fix documentaire ; aucun fichier consommé par le build ou le runtime n'est modifié.
Décisions prises
- un secret
KSP_SECRET_WALLET_PASS_*est indexé par numéro/filename/alias de filename opérateur, jamais par l'alias interne du wallet ; - les passwords saisis peuvent traverser l'IPC uniquement dans le sens frontend -> Rust et uniquement pour l'opération demandée ;
- aucun password n'est renvoyé Rust -> frontend ;
- Config reste l'unique propriétaire des secrets provenant de process env/
.env; workspace.package.versionreste0.2.6-pre.1;- la prochaine tranche technique reste
pre.002après enregistrement de ce fix.
Questions ouvertes
Aucune question bloquante pour l'ouverture de pre.002.