5.6 KiB
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-desktopconservé dans le domaine applicatif Bot ;- identités techniques actives sous
ks-lib-decoder.*,ks-lib-executor.*etks-lib-materializer.*; - variables Solana sous
KS_*, avecKS_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 :
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 :
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 ;
Debugsanitisé 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-targetssans warning ;python3 scripts/audit_rust_workspace_rules.pyavec 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.jsonavec 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 :
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 :
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_*versk_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.