# Validation de fondation — clôture 0.5.1 ## Périmètre La version `0.5.1` ferme la première restructuration de fondation décidée pendant `0.5.0` : namespaces Khadhroony Solana, configuration composable, séparation source/runtime/public et réduction de la surface TS-RS aux applications. Elle ne modifie volontairement ni le préfixe SQL historique `kb_sol_*`, ni la structure fonctionnelle profonde de `ks-wallet`, ni la couverture protocolaire Solana/DEX. ## Namespace et ownership La cible validée est : - dix bibliothèques Solana généralistes sous `ks-*` / `ks_*` ; - `kb-app-demo-desktop` conservé dans le domaine applicatif Bot ; - identités techniques actives sous `ks-lib-decoder.*`, `ks-lib-executor.*` et `ks-lib-materializer.*` ; - variables Solana sous `KS_*`, avec `KS_SECRET_*`, `KS_PUBLIC_*` et internes ; - `KB_*` réservé aux contrats réellement possédés par une application Bot. Le workspace, le dépôt et le répertoire racine restent volontairement nommés `khadhroony-bot3`. ## Configuration composable La configuration source est répartie entre : ```text config/ ├── kb-app-demo-desktop.default.config.json ├── logging.config.json ├── transport.config.json ├── listeners.config.json ├── store.config.json ├── wallet.config.json ├── execution.config.json ├── exemples/ └── schemas/ ``` Les documents spécialisés possèdent leurs defaults et profils indépendants. La composition d’un binaire sélectionne les documents et profils qu’il consomme sans obliger `ks-config` à connaître la structure métier de l’application. `logs_directory` et `wallets_directory` sont globaux à leurs domaines respectifs. Les autorisations d’envoi appartiennent à la politique d’exécution. Les defaults de reconnexion WebSocket appartiennent au transport et peuvent être surchargés par endpoint. ## Frontières de sensibilité La classification appliquée est : ```text Secret > Internal > Public ``` Elle s’applique aussi aux valeurs composées après substitution des placeholders d’environnement. Les contrats source/runtime susceptibles de contenir des valeurs résolues sensibles restent backend-only et ne dérivent ni `serde::Serialize` ni `Debug` par défaut. Les snapshots de transport exposables ne transportent plus les URLs résolues. Les erreurs HTTP/WS et de validation ne recopient plus les valeurs rejetées, les corps HTTP distants ni les messages JSON-RPC distants susceptibles de réinjecter un credential. ## Tauri et TS-RS `ks-config` et `ks-lib` ne produisent plus de bindings TS-RS. Les contrats TypeScript/Tauri appartiennent à l’application consommatrice. `kb-app-demo-desktop` construit explicitement ses DTO publics et diagnostiques et ne retourne plus directement les contrats runtime `ks-*`. Les canaris desktop et transport vérifient notamment : - absence d’URL RPC/WS résolue dans les payloads ; - absence de DSN PostgreSQL ; - absence de chemin wallet/SQLite dans les payloads fonctionnels ; - absence de secret canari dans les projections publiques/diagnostiques ; - `Debug` sanitisé pour les clients/sessions transport. ## Validation opérateur du 10 août 2026 Après `0.5.1-pre.008-delta-fix-003`, l’opérateur a validé : - `cargo fmt --all` ; - `cargo check --workspace` ; - `cargo clippy --all-targets` sans warning ; - `python3 scripts/audit_rust_workspace_rules.py` avec audit Rust général propre, export completeness à zéro candidat et audit Khadhroony propre ; - `cargo test --workspace` ; - `cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json` avec chargement de la composition et initialisation des transports/store. Les principales cibles unitaires observées après le dernier correctif comprennent : - `kb-app-demo-desktop` : 165 tests ; - `ks-config` : 31 tests, plus 2 tests d’API externe ; - `ks-core` : 2 tests ; - `ks-lib` : 606 tests, plus 9 tests d’intégration/API externe ; - `ks-logging` : 25 tests ; - `ks-onchain-transport` : 124 tests ; - `ks-pipeline` : 109 tests, plus 3 tests d’API externe Metadata ; - `ks-pipeline-demo-scenarios` : 105 tests bibliothèque, 1 test CLI et 1 test d’API externe ; - `ks-program-ids` : 6 tests ; - `ks-store` : 84 tests ; - `ks-wallet` : 6 tests. ## Validation finale de `pre.009` `0.5.1-pre.009` ne doit introduire aucun nouveau comportement fonctionnel. Après application du delta de clôture, la campagne standard doit être rejouée : ```bash cargo fmt --all cargo check --workspace cargo clippy --all-targets python3 scripts/audit_rust_workspace_rules.py cargo test --workspace ``` Avant publication finale de `0.5.1`, le build desktop de release est recommandé afin de vérifier également TypeScript/Vite par la chaîne Tauri : ```bash cargo tauri build -c kb-app-demo-desktop/tauri.conf.json ``` Ce rapport ne prétend pas que ce build de release a déjà été exécuté pour `0.5.1`. ## Reports - restructuration fonctionnelle profonde du wallet : `0.5.2` ; - migration `kb_sol_*` vers `k_sol_*` et normalisation temporelle/provenance : `0.5.3` ; - centralisation finale des scénarios et audit des exécuteurs : `0.5.4` ; - nouvelle qualification réseau ElGamal uniquement si une possibilité technique nouvelle apparaît. ## Traçabilité Le plan temporaire `0.5.1` et le prompt de session `030` sont archivés sous `olddocs/archivekbot3/`. Les décisions durables restent dans le ROADMAP, les guides, les règles et la politique de namespace active. ## Statut **Fondation fonctionnelle `0.5.1` prête pour la validation finale de la prerelease de clôture.**