v0.2.8-pre.007-fix.002

This commit is contained in:
2026-08-23 16:16:39 +02:00
parent 3b64d1e0ec
commit 9cc140fb84
5 changed files with 261 additions and 16 deletions

View File

@@ -1,9 +1,9 @@
<!-- file: docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# Validation `0.2.8` — Helius LaserStream WebSocket
> **Statut : `pre.007` est implémenté mais son gate est bloqué par un lint de helper test et deux canaris Tokio pausés. `pre.007-fix.001` est préparé comme correction test-only, sans changement runtime heartbeat.**
> **Statut : `pre.007-fix.001` passe fmt/audit/check/Clippy et corrige le close canary ; un seul canari périodique reste non déterministe. `pre.007-fix.002` est préparé comme correction test-only d'observation scheduler, sans changement runtime heartbeat.**
## 1. Références
@@ -26,6 +26,7 @@ pre.005 dead-code fix deltas/0.2.8/pre.005-fix.002.md
pre.006 actor transaction deltas/0.2.8/pre.006.md
pre.007 heartbeat Helius deltas/0.2.8/pre.007.md
pre.007 test determinism fix deltas/0.2.8/pre.007-fix.001.md
pre.007 scheduler observation fix deltas/0.2.8/pre.007-fix.002.md
validation standard WS docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md
HTTP compliance docs/validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md
KSP-TRANSPORT-007 docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md
@@ -344,6 +345,7 @@ Constats `pre.002-fix.001` :
Aucun split en fichiers supplémentaires n'est retenu : les plans historiques `0.2.5``0.2.7` sont de taille comparable ou supérieure, et le contenu du plan `015` reste entièrement centré sur une seule release. Le problème identifié était **l'ordre interne et la duplication de responsabilités**, pas la nécessité d'un nouveau type de document.
## 12. Gates opérateur `pre.004` / `fix.001` / `fix.002`
Premier passage `pre.004` reçu le 2026-08-23 :
@@ -679,3 +681,55 @@ Critères `pre.007-fix.001` :
Verdict courant : **`pre.007` FIX REQUIRED ; `pre.007-fix.001` PREPARED ; `pre.008` bloqué.**
## 19. Replay `pre.007-fix.001` et gate `pre.007-fix.002`
Résultat opérateur `0.2.8-pre.7.fix.1` :
```text
[x] cargo fmt --all
[x] audit Rust workspace = clean / 0 candidate
[x] cargo check --workspace = vert, sans warning
[x] cargo clippy --workspace --all-targets = vert, sans warning
[!] Transport unit = 330 passed / 1 failed sur 331
```
Canaris heartbeat verts :
```text
[x] policy provider-owned Helius + 60 s
[x] close avant deadline annule le heartbeat
[x] SolanaStandard n'émet aucun heartbeat provider
[x] write failure du Ping suit le chemin reconnect existant
[x] reconnect réussi réarme depuis la connexion de remplacement
```
Seul échec :
```text
[!] helius_heartbeat_sends_ping_at_sixty_seconds_and_rearms
`try_recv()` peut encore précéder la propagation actor/socket/fixture/channel après `advance(1 s)`.
```
Critères `pre.007-fix.002` :
```text
[ ] aucune modification de `src/ws_session.rs`
[ ] cadence Helius exacte 60 s inchangée
[ ] aucune API/Config/dependency supplémentaire
[ ] attente positive bornée par scheduler steps uniquement
[ ] aucune nouvelle `advance()`, `sleep()` ou `timeout()` pour attendre le Ping
[ ] t=59 s reste strictement sans Ping
[ ] Ping observé à t=60 s après propagation scheduler bornée
[ ] t=119 s reste strictement sans second Ping
[ ] second Ping observé à t=120 s après propagation scheduler bornée
[ ] canal Disconnected avant Ping = échec explicite
[ ] cargo fmt --all
[ ] audit Rust = clean
[ ] cargo check = sans warning
[ ] cargo clippy = sans warning
[ ] Transport = 331 unit + 40 public API + 29 completeness + 4 doctests
[ ] cargo test --workspace = vert
```
Verdict courant : **`pre.007` FIX REQUIRED ; `pre.007-fix.001` CHECKPOINT ; `pre.007-fix.002` PREPARED ; `pre.008` bloqué.**