6.2 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 de la prerelease de clôture
Après application de 0.5.1-pre.009, l’opérateur a rejoué le 10 août 2026 la campagne standard complète :
cargo fmt --all
cargo check --workspace
cargo clippy --all-targets
python3 scripts/audit_rust_workspace_rules.py
cargo test --workspace
Tous les contrôles sont passés sans erreur ni warning : audit Rust général propre, export completeness à zéro candidat et audit Khadhroony propre. La transition de 0.5.1-pre.009 vers 0.5.1 ne modifie aucun comportement fonctionnel ; elle ne change que la version workspace et les traces documentaires de clôture.
Après passage du workspace à 0.5.1, l’opérateur a également validé le 10 août 2026 le build desktop de release :
cargo tauri build -c kb-app-demo-desktop/tauri.conf.json
La chaîne Tauri a validé TypeScript/Vite, compilé toutes les crates du workspace en 0.5.1 avec le profil release et généré avec succès les trois bundles desktop attendus :
Khadhroony Bot3 Demo Desktop_0.5.1_amd64.deb;Khadhroony Bot3 Demo Desktop-0.5.1-1.x86_64.rpm;Khadhroony Bot3 Demo Desktop_0.5.1_amd64.AppImage.
Aucun correctif fonctionnel supplémentaire n’est requis pour la release 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 clôturée, validations finales et build desktop de release réussis ; prête pour commit/tag.