# Delta `0.2.8-pre.010` — documentation Helius finale + stratégie smoke live + cargo tree final ## Objet Fermer la documentation d’usage de la surface Helius WebSocket acquise en `pre.009`, décider explicitement si un smoke Helius live peut être committé sans violer les frontières KSP, puis demander le dernier audit du graphe Cargo avant la tranche de clôture. ## Décision smoke live Aucun nouveau smoke Helius live n’est ajouté dans cette tranche. Motif : ```text Transport ne peut ni lire KSP_SECRET_HELIUS_API_KEY ni dépendre de Config. Config ne doit pas devenir la destination générale des futurs smokes Config + autre crate. Le smoke Config -> Transport historique reste une exception transitoire déjà documentée. ``` Le propriétaire durable sera la future surface KSP d’intégration/orchestration. Son scénario minimal devra utiliser `helius_devnet`, ouvrir `HeliusLaserStreamWsSession`, faire `slotSubscribe`, attendre une notification sous timeout, unsubscribe puis close. `transactionSubscribe` pourra rester un opt-in additionnel soumis aux droits provider. ## Documentation `README.md` et `USAGE.md` de Transport documentent désormais : - Helius = `account/logs/program/root/signature/slot/slotsUpdates` + `transaction` ; - `block` et `vote` absents ; - `slotsUpdates` unstable ; - heartbeat Helius control-frame Ping à 60 s ; - secret Helius résolu par Config, jamais lu par Transport ; - LaserStream gRPC distinct du namespace WebSocket ; - stratégie de smoke live et future ownership d’intégration. ## Canari de release Un canari `release_completeness` supplémentaire vérifie que : - Transport ne dépend toujours pas de Config ; - le smoke WebSocket Transport ne lit ni `KSP_SECRET_HELIUS_API_KEY` ni `ConfigEnvironment` ; - aucun `helius_websocket_smoke.rs` n’est ajouté à Config ; - README/USAGE portent explicitement la décision et les commandes `cargo tree` ; - `.env.example` conserve l’inventaire `KSP_SECRET_HELIUS_API_KEY`. ## Version et comptages attendus ```text workspace.package.version = 0.2.8-pre.10 commit attendu = v0.2.8-pre.010 Git tag = aucun Transport unit 335 Transport public API 41 release completeness 34 Transport doctests 4 ``` ## Audit opérateur requis ```bash cargo fmt --all python3 scripts/audit_rust_workspace_rules.py cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-onchain-transport-lib cargo test --workspace cargo tree -p ksp-onchain-transport-lib cargo tree -p ksp-onchain-transport-lib --duplicates cargo tree --duplicates ``` `pre.011` ne s’ouvre qu’après gate vert et inspection des graphes résolus.