v0.2.7-pre.013
This commit is contained in:
99
deltas/0.2.7/pre.013.md
Normal file
99
deltas/0.2.7/pre.013.md
Normal file
@@ -0,0 +1,99 @@
|
||||
<!-- file: deltas/0.2.7/pre.013.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.7-pre.013` — smoke WebSocket live et audit final des dépendances
|
||||
|
||||
## Base
|
||||
|
||||
Base directe validée par l'opérateur :
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```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
|
||||
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.
|
||||
Reference in New Issue
Block a user