v0.2.8-pre.009
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md -->
|
||||
<!-- version: 21 -->
|
||||
<!-- version: 22 -->
|
||||
|
||||
# Validation `0.2.8` — Helius LaserStream WebSocket
|
||||
|
||||
> **Statut : `pre.007-fix.003` est vert côté Transport à 331/331 + 40 API + 29 completeness + 4 doctests, mais `cargo test --workspace` échoue sur le canari `transport_manifest_preserves_ksp_dependency_firewall`, resté figé sur les anciennes features Tokio dev. `pre.007-fix.004` met ce canari en cohérence avec le manifest déjà livré, sans changement runtime.**
|
||||
> **Statut : `pre.008` est entièrement vert : 335/335 unit Transport, 40/40 API, 30/30 completeness, 5/5 doctests et workspace complet. `pre.009` est préparé avec réconciliation de la documentation Helius courante : `slotsUpdates` rejoint la façade Helius ; `block` et `vote` restent explicitement non supportés.**
|
||||
|
||||
## 1. Références
|
||||
|
||||
@@ -29,6 +29,8 @@ 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
|
||||
pre.007 paused-I/O observation fix deltas/0.2.8/pre.007-fix.003.md
|
||||
pre.007 dependency-firewall fix deltas/0.2.8/pre.007-fix.004.md
|
||||
pre.008 adversarial/compliance guard deltas/0.2.8/pre.008.md
|
||||
pre.009 compliance provider/current deltas/0.2.8/pre.009.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
|
||||
@@ -112,7 +114,7 @@ Verdict : **gate `0.2.8-pre.001` positif ; `pre.002` + `fix.001` et `pre.003` so
|
||||
| `signatureSubscribe` pair | oui | supporté | réutiliser standard | présente | one-shot conservé |
|
||||
| `slotSubscribe` pair | oui | supporté | réutiliser standard | présente | exact wire + no regression |
|
||||
| `blockSubscribe` pair | oui, unstable | non supporté | ne pas exposer Helius | **absente** | API absence + guard interne avant I/O |
|
||||
| `slotsUpdatesSubscribe` pair | oui, unstable | docs divergentes ; index exhaustif = non supporté | ne pas exposer Helius | **absente** | API absence + divergence documentée |
|
||||
| `slotsUpdatesSubscribe` pair | oui, unstable | page spécifique + overview courant = disponible | réutiliser wire standard | présente | exact wire + warning unstable |
|
||||
| `voteSubscribe` pair | oui, unstable | non supporté | ne pas exposer Helius | **absente** | API absence + guard interne avant I/O |
|
||||
| `transactionSubscribe` | non standard | extension Helius | ajouter typed | présente | request/ack/notification fixtures |
|
||||
| `transactionUnsubscribe` | non standard | documenté dans référence transaction | ajouter via handle | présente | exact method + late-message race |
|
||||
@@ -136,7 +138,7 @@ Verdict : **gate `0.2.8-pre.001` positif ; `pre.002` + `fix.001` et `pre.003` so
|
||||
| Root | oui | oui | partagé standard |
|
||||
| Signature | oui | oui | partagé standard |
|
||||
| Slot | oui | oui | partagé standard |
|
||||
| SlotsUpdates | oui | **non** | standard seulement |
|
||||
| SlotsUpdates | oui | oui | partagé standard |
|
||||
| Vote | oui | **non** | standard seulement |
|
||||
| Helius Transaction | **non** | oui | provider-specific |
|
||||
|
||||
@@ -894,3 +896,93 @@ La correction `Debug` ne retire aucune donnée de l'API fonctionnelle : `transac
|
||||
|
||||
Verdict courant : **`pre.008` PREPARED ; `pre.009` bloqué jusqu'au gate opérateur.**
|
||||
|
||||
## 23. Fermeture `pre.008` et gate `pre.009`
|
||||
|
||||
Résultat opérateur `0.2.8-pre.8` :
|
||||
|
||||
```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
|
||||
[x] Transport unit = 335/335
|
||||
[x] Transport public API = 40/40
|
||||
[x] release completeness = 30/30
|
||||
[x] Transport doctests = 5/5
|
||||
[x] cargo test --workspace = vert
|
||||
```
|
||||
|
||||
Verdict : **`pre.008` DONE.**
|
||||
|
||||
### 23.1 Réaudit Helius final avant compliance
|
||||
|
||||
Le réaudit du 2026-08-23 révèle une évolution de la documentation Helius par rapport au checkpoint `pre.001` :
|
||||
|
||||
```text
|
||||
overview LaserStream WebSocket
|
||||
-> annonce le support du jeu complet des méthodes standard
|
||||
-> énumère account/block/logs/program/root/signature/slot/slotsUpdates/vote + unsubscribe
|
||||
|
||||
page blockSubscribe
|
||||
-> garde explicitement "Helius does not support"
|
||||
|
||||
page voteSubscribe
|
||||
-> garde explicitement "Helius does not support"
|
||||
|
||||
page slotsUpdatesSubscribe
|
||||
-> unstable
|
||||
-> endpoints Helius mainnet/devnet
|
||||
-> request/notification/result documentés
|
||||
-> aucune mention de non-support Helius
|
||||
|
||||
page slotsUpdatesUnsubscribe
|
||||
-> subscriptionId entier
|
||||
-> result bool
|
||||
```
|
||||
|
||||
Arbitrage : **la page spécifique de méthode prévaut sur la formulation générale lorsqu'elles divergent**. Le support Helius final retenu devient :
|
||||
|
||||
```text
|
||||
standard Helius : account/logs/program/root/signature/slot/slotsUpdates
|
||||
provider Helius : transaction
|
||||
absent Helius : block/vote
|
||||
```
|
||||
|
||||
Le point `accountSubscribe` « advanced filters » reste non matérialisé : l'overview le mentionne, mais la page API spécifique ne publie aucun wire provider-specific supplémentaire au-delà du contrat standard et de `notifyOn` deprecated/no-op. Aucun champ n'est inventé.
|
||||
|
||||
### 23.2 Critères `pre.009`
|
||||
|
||||
```text
|
||||
[ ] workspace.package.version = 0.2.8-pre.9
|
||||
[ ] HeliusLaserStreamWsSession expose slots_updates_subscribe
|
||||
[ ] Helius slotsUpdates réutilise SolanaSlotUpdate et WsSubscriptionKind::SlotsUpdates
|
||||
[ ] wire exact slotsUpdatesSubscribe / slotsUpdatesUnsubscribe inchangé
|
||||
[ ] warning unstable standard conservé
|
||||
[ ] compile-fail Helius slotsUpdates retiré
|
||||
[ ] compile-fail Helius block conservé
|
||||
[ ] compile-fail Helius vote conservé
|
||||
[ ] compile-fail Helius into_inner conservé
|
||||
[ ] compile-fail SolanaStandard transactionSubscribe conservé
|
||||
[ ] HTTP = 52 current + 14 historical
|
||||
[ ] Standard WebSocket = 9 familles / 18 méthodes
|
||||
[ ] Helius = 7 familles standard + transaction
|
||||
[ ] Config -> Transport reste la seule direction
|
||||
[ ] KSP_SECRET_HELIUS_API_KEY reste inventorié
|
||||
[ ] Transport n'ajoute aucune dépendance Config/Store/Program/tracing direct
|
||||
[ ] aucune nouvelle dépendance
|
||||
[ ] aucun second actor/socket/registry
|
||||
[ ] cargo fmt --all
|
||||
[ ] audit Rust = clean
|
||||
[ ] cargo check = sans warning
|
||||
[ ] cargo clippy = sans warning
|
||||
[ ] Transport unit = 335
|
||||
[ ] Transport public API = 41
|
||||
[ ] release completeness = 33
|
||||
[ ] Transport doctests = 4
|
||||
[ ] cargo test --workspace = vert
|
||||
```
|
||||
|
||||
Le passage de 5 à 4 doctests est attendu : le canari compile-fail `Helius -X-> slotsUpdatesSubscribe` est supprimé parce que la méthode devient volontairement publique. Les quatre canaris négatifs restants sont `Helius -X-> block`, `Helius -X-> vote`, `Helius -X-> into_inner` et `SolanaStandard -X-> transactionSubscribe`.
|
||||
|
||||
Verdict courant : **`pre.009` PREPARED ; `pre.010` bloqué jusqu'au gate opérateur.**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user