3.3 KiB
Delta 0.2.7-pre.013 — smoke WebSocket live et audit final des dépendances
Base
Base directe validée par l'opérateur :
0.2.7-pre.012-fix.001
Cargo 0.2.7-pre.12.fix.1
Les gates fmt, audit Python, check, clippy, les 309 tests unitaires Transport, 36 tests d'API publique, 24 tests de release completeness, 109 tests unitaires Config et le workspace complet sont verts.
Signal technique
livraison = 0.2.7-pre.013
workspace.package.version = 0.2.7-pre.13
commit = v0.2.7-pre.013
tag = aucun
Smoke WebSocket Devnet opt-in
Un nouveau smoke Transport pur websocket_devnet_smoke.rs couvre le chemin live stable minimal :
settings programmatiques
-> wss://api.devnet.solana.com
-> WsSession::connect
-> slotSubscribe
-> une slotNotification sous timeout 20 s
-> slotUnsubscribe via WsSubscription
-> WsSession::close
Le test est #[ignore] par défaut. Il ne lit ni Config ni environnement et n'utilise aucune famille unstable. Les fixtures WebSocket locales restent les gates déterministes du lifecycle, des DTOs et des familles block, slotsUpdates et vote.
Un échec lié au réseau, au rate-limit ou à l'indisponibilité Devnet ne constitue pas automatiquement une régression KSP.
Audit de dépendances
Le canari workspace de ksp-core-lib verrouille désormais les noms directs de dépendances de Transport :
runtime : futures-util, ksp-core-lib, ksp-logging-lib, reqwest, serde, serde_json, tokio, tokio-tungstenite
dev : tokio
Il complète le firewall existant contre Config, Store, Program et tracing direct.
L'inspection du graphe résolu doit être faite côté opérateur :
cargo tree -p ksp-onchain-transport-lib
cargo tree -p ksp-onchain-transport-lib --duplicates
cargo tree --duplicates
Les doublons transitifs sont à analyser, pas à supprimer mécaniquement lorsqu'ils résultent de contraintes upstream différentes.
Documentation
README.md et USAGE.md distinguent désormais les smokes HTTP Transport, WebSocket Transport et le smoke historique Config -> Transport. Le plan et la matrice enregistrent le checkpoint pre.013.
ROADMAP.md et CHANGELOG.md restent inchangés pendant cette prerelease.
Comptages attendus
Transport unit tests = 309
Transport public API tests = 36
Transport release completeness = 24
Transport WebSocket live smoke = 1 ignored par défaut
Config unit tests = 109
Core workspace dependency tests = 3
Validation opérateur
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
cargo test -p ksp-onchain-transport-lib --test websocket_devnet_smoke -- --ignored --nocapture
Le smoke live peut être qualifié séparément si Devnet est indisponible ; les autres gates restent déterministes.
Le sandbox de préparation ne possède pas Cargo/rustc ; les gates Cargo et le smoke live restent à exécuter côté opérateur.