v0.5.1-pre.009

This commit is contained in:
2026-08-10 11:44:47 +02:00
parent 0e05c660c6
commit bae7f0b9d8
21 changed files with 521 additions and 65 deletions

View File

@@ -0,0 +1,131 @@
<!-- file: docs/validation/V0_5_1_FOUNDATION_VALIDATION_REPORT.md -->
<!-- version: 1 -->
# 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 dun binaire sélectionne les documents et profils quil consomme sans obliger `ks-config` à connaître la structure métier de lapplication.
`logs_directory` et `wallets_directory` sont globaux à leurs domaines respectifs. Les autorisations denvoi appartiennent à la politique dexé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 sapplique aussi aux valeurs composées après substitution des placeholders denvironnement.
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 à lapplication 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 dURL 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`, lopé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 dAPI externe ;
- `ks-core` : 2 tests ;
- `ks-lib` : 606 tests, plus 9 tests dintégration/API externe ;
- `ks-logging` : 25 tests ;
- `ks-onchain-transport` : 124 tests ;
- `ks-pipeline` : 109 tests, plus 3 tests dAPI externe Metadata ;
- `ks-pipeline-demo-scenarios` : 105 tests bibliothèque, 1 test CLI et 1 test dAPI 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.**