Files
khadhroony-solana-project/deltas/0.2.6/pre.001-fix.001.md

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 version 1 livrée dans pre.001 ;
  • contrôle de l'absence de Cargo.toml et 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.version reste 0.2.6-pre.1 ;
  • la prochaine tranche technique reste pre.002 après enregistrement de ce fix.

Questions ouvertes

Aucune question bloquante pour l'ouverture de pre.002.