v0.2.8-pre.003
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Validation `0.2.8` — Helius LaserStream WebSocket
|
||||
|
||||
> **Statut : `pre.002` testé avec succès sauf Clippy ; `pre.002-fix.001` préparé.** La matrice conserve les critères et preuves exécutées ; le forecast détaillé reste exclusivement dans le plan actif afin que ce fichier ne devienne pas un second plan.
|
||||
> **Statut : `pre.002` + `pre.002-fix.001` validés ; `pre.003` préparé.** La façade Helius contient les six wrappers standard supportés sans DTO/wire provider parallèle. Les nouvelles fixtures et canaries doivent encore passer le checkpoint Cargo opérateur avant que `pre.003` soit marqué `DONE`.
|
||||
|
||||
## 1. Références
|
||||
|
||||
@@ -16,6 +16,7 @@ fix architecture deltas/0.2.8/pre.001-fix.001.md
|
||||
fix forecast/nomenclature deltas/0.2.8/pre.001-fix.002.md
|
||||
pre.002 deltas/0.2.8/pre.002.md
|
||||
pre.002 Clippy/docs fix deltas/0.2.8/pre.002-fix.001.md
|
||||
pre.003 deltas/0.2.8/pre.003.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
|
||||
@@ -86,7 +87,7 @@ Verdict : doublons transitifs, aucune nouvelle dépendance Helius, aucune anomal
|
||||
[x] doublons ciblés analysés comme transitifs/non bloquants
|
||||
```
|
||||
|
||||
Verdict : **gate `0.2.8-pre.001` positif ; `pre.002` testé par l’opérateur avec un unique échec Clippy ciblé, corrigé par `pre.002-fix.001`.**
|
||||
Verdict : **gate `0.2.8-pre.001` positif ; `pre.002` + `pre.002-fix.001` sont entièrement verts et fermés. `pre.003` est ouvert.**
|
||||
|
||||
## 3. Matrice provider normative
|
||||
|
||||
@@ -138,8 +139,8 @@ Verdict : **gate `0.2.8-pre.001` positif ; `pre.002` testé par l’opérateur a
|
||||
| LaserStream gRPC | backend/type/Config distincts, hors `0.2.8` | absence de réutilisation WS | décidé |
|
||||
| escape hatch Helius | aucun `inner()`/`into_inner()` public | compile-fail/source canary | pre.002 implémenté |
|
||||
| generic Helius `WsSession::connect` | ne doit pas permettre de contourner la façade | invalid protocol pre-I/O canary | pre.002 implémenté |
|
||||
| Helius unsupported | absent de la façade | compile-fail/API absence canary | décidé |
|
||||
| standard Helius commun | délégation vers le même wire/actor | exact fixture | décidé |
|
||||
| Helius unsupported | absent de la façade | compile-fail/API absence canary | pre.003 implémenté, checkpoint pending |
|
||||
| standard Helius commun | délégation vers le même wire/actor | exact fixture | pre.003 implémenté, checkpoint pending |
|
||||
| DTO duplication | seulement si wire/sémantique divergent | public/source audit | décidé |
|
||||
| Config direction | Config -> Transport uniquement | ownership tests | décidé |
|
||||
| heartbeat | Helius-only, actor commun | deterministic timers | décidé |
|
||||
@@ -201,7 +202,7 @@ aucun payload brut dans logs/snapshots
|
||||
[x] SolanaStandard facade n'expose pas transactionSubscribe
|
||||
[x] Helius facade n'expose aucun escape hatch vers le handle générique
|
||||
[x] protocol mismatch rejeté avant I/O — fixture opérateur verte
|
||||
[ ] 6 familles standard Helius utilisent le wire standard exact — `pre.003`
|
||||
[ ] 6 familles standard Helius utilisent le wire standard exact — implémenté en `pre.003`, fixture opérateur pending
|
||||
[ ] transaction subscribe/ack exact
|
||||
[ ] transaction unsubscribe/result exact
|
||||
[ ] transaction notification dispatch exact
|
||||
@@ -254,46 +255,38 @@ Statut initial : **non exécuté**.
|
||||
|
||||
Contrat cible : opt-in, Config résout l'api-key, Transport ne lit pas l'environnement. Aucun secret n'est versionné ou affiché. Un échec lié au plan/credential provider doit rester distinguable d'une panne du moteur.
|
||||
|
||||
## 10. Preuve `pre.002` et fix Clippy
|
||||
## 10. Preuves `pre.002` / `fix.001` et préparation `pre.003`
|
||||
|
||||
Surface introduite :
|
||||
|
||||
```text
|
||||
WsProtocolKind::HeliusLaserStream -> "helius_laserstream"
|
||||
SolanaStandardWsSession
|
||||
HeliusLaserStreamWsSession
|
||||
WsSession::connect_for_protocol -> crate-internal
|
||||
WsSession::connect_physical -> unique physical spawn path
|
||||
```
|
||||
|
||||
Canaries ajoutées/prévues dans la livraison :
|
||||
|
||||
```text
|
||||
[x] protocol descriptors distincts
|
||||
[x] façade standard publique + 9 délégations vers les wrappers 0.2.7
|
||||
[x] façade Helius publique + lifecycle partagé
|
||||
[x] generic WsSession::connect rejette Helius avant I/O
|
||||
[x] chaque façade rejette le mauvais protocol kind avant I/O
|
||||
[x] les deux façades ouvrent/ferment une connexion contre un peer local via le même actor — test opérateur vert
|
||||
[x] Debug Helius ne projette pas une query api-key canary — test opérateur vert
|
||||
[x] source de façade sans second spawn/socket/command actor
|
||||
[x] compile-fail Helius blockSubscribe — doctest opérateur vert
|
||||
[x] compile-fail Helius into_inner — doctest opérateur vert
|
||||
[ ] six wrappers standard Helius — `pre.003`
|
||||
```
|
||||
|
||||
Validation opérateur reçue pour `pre.002` :
|
||||
Checkpoint `pre.002-fix.001` reçu :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
python3 scripts/audit_rust_workspace_rules.py clean
|
||||
cargo check --workspace OK
|
||||
cargo clippy --workspace --all-targets FAIL : 5 `implicit_return` dans unit_tests/ws_protocol_session.rs
|
||||
cargo clippy --workspace --all-targets OK
|
||||
cargo test -p ksp-onchain-transport-lib OK
|
||||
cargo test --workspace OK
|
||||
```
|
||||
|
||||
`pre.002-fix.001` ajoute les retours explicites exigés par la politique Clippy KSP et ne change aucun contrat runtime. Le fix doit être revalidé par le même checkpoint avant passage à `pre.003`.
|
||||
Surface `pre.003` préparée :
|
||||
|
||||
```text
|
||||
[ ] Helius accountSubscribe/accountUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] Helius programSubscribe/programUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] Helius logsSubscribe/logsUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] Helius signatureSubscribe/signatureUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] Helius slotSubscribe/slotUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] Helius rootSubscribe/rootUnsubscribe — wrapper présent, fixture pending
|
||||
[ ] compile-fail Helius blockSubscribe — doctest ajouté, exécution pending
|
||||
[ ] compile-fail Helius slotsUpdatesSubscribe — doctest ajouté, exécution pending
|
||||
[ ] compile-fail Helius voteSubscribe — doctest ajouté, exécution pending
|
||||
[ ] public API canary des six wrappers — ajouté, exécution pending
|
||||
[ ] release completeness canary — ajouté, exécution pending
|
||||
```
|
||||
|
||||
La fixture Helius locale vérifie les noms de méthodes, paramètres, remote IDs et méthodes d'unsubscribe pour les six familles. Elle réutilise volontairement les DTOs Solana standard ; les tests historiques `ws_accounts`, `ws_transactions` et `ws_cluster` restent la preuve du décodage exact des notifications et de leurs variantes.
|
||||
|
||||
Aucun `transactionSubscribe`, changement Config, heartbeat ou nouvelle dépendance n'est introduit dans cette tranche.
|
||||
|
||||
## 11. Audit structurel des documents actifs
|
||||
|
||||
@@ -320,3 +313,17 @@ 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. Gate opérateur `pre.003`
|
||||
|
||||
```text
|
||||
[ ] cargo fmt --all
|
||||
[ ] python3 scripts/audit_rust_workspace_rules.py = clean
|
||||
[ ] cargo check --workspace
|
||||
[ ] cargo clippy --workspace --all-targets
|
||||
[ ] cargo test -p ksp-onchain-transport-lib
|
||||
[ ] cargo test --workspace
|
||||
```
|
||||
|
||||
Verdict courant : **`pre.003` préparé, non déclaré `DONE` avant ce checkpoint.**
|
||||
|
||||
Reference in New Issue
Block a user