v0.2.8-pre.004-fix.002
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/plans/015-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET_PLAN.md -->
|
||||
<!-- version: 11 -->
|
||||
<!-- version: 12 -->
|
||||
|
||||
# Plan `0.2.8` — Helius LaserStream WebSocket
|
||||
|
||||
> **Statut : `0.2.8-pre.003` est validé ; le checkpoint `0.2.8-pre.004` a révélé un faux négatif de test, puis la revue du fix a identifié l'omission d'une représentation Devnet Helius déterministe. `pre.004-fix.001` corrige les deux points et reste préparé.** Le runtime Config/Transport est inchangé : pour une chaîne composée, `safe_value` conserve les segments littéraux non sensibles et remplace uniquement le segment secret par `********`. Le fix couvre désormais mainnet et devnet sans ouvrir `transactionSubscribe`.
|
||||
> **Statut : `0.2.8-pre.003` est validé ; `pre.004` est fonctionnellement implémenté mais son gate Config a nécessité deux corrections de canari. `pre.004-fix.001` a corrigé la redaction segmentaire et ajouté Devnet ; son checkpoint a ensuite révélé une seconde hypothèse de test erronée sur la provenance d'une chaîne composée. `pre.004-fix.002` corrige uniquement cette cardinalité/provenance et reste préparé.** Le runtime Config/Transport, les profils mainnet/devnet, le schema et le mapping Helius restent inchangés.
|
||||
|
||||
## 1. Objet, base et état courant
|
||||
|
||||
@@ -28,10 +28,11 @@ pre.002 socle protocolaire validé
|
||||
pre.002-fix.001 correction Clippy + normalisation structure documentaire validées
|
||||
pre.003 six familles standard Helius validées
|
||||
pre.004 Config V2 Helius implémenté ; checkpoint bloqué par un faux négatif de test
|
||||
pre.004-fix.001 correction safe_value + couverture Devnet Helius préparées
|
||||
pre.004-fix.001 correction safe_value + couverture Devnet Helius ; checkpoint bloqué par provenance
|
||||
pre.004-fix.002 correction du canari de provenance composée préparée
|
||||
|
||||
workspace.package.version courant = 0.2.8-pre.4.fix.1
|
||||
commit attendu = v0.2.8-pre.004-fix.001
|
||||
workspace.package.version courant = 0.2.8-pre.4.fix.2
|
||||
commit attendu = v0.2.8-pre.004-fix.002
|
||||
aucun tag prerelease
|
||||
```
|
||||
|
||||
@@ -53,8 +54,10 @@ pre.003 DONE — surface Helius standard supportée : account/logs/program/root
|
||||
+ absence typée de block/slotsUpdates/vote sur Helius + non-régression standard 9/9
|
||||
pre.004 CHECKPOINT — Config V2 helius_laserstream + schema/fixtures + mapping Config -> Transport
|
||||
+ stratégie de secret Helius et redaction URL ; runtime/check/clippy/Transport verts
|
||||
fix.001 PREPARED — corrige le faux négatif `safe_value` + complète la représentation Devnet Helius
|
||||
+ mainnet/devnet dans des profils distincts, même secret, sans changement runtime
|
||||
fix.001 CHECKPOINT — redaction segmentaire corrigée + représentation Devnet Helius ajoutée
|
||||
+ gate Config bloqué uniquement par une attente de provenance `1` au lieu de `2`
|
||||
fix.002 PREPARED — provenance composée attend `DocumentLiteral` + `EnvironmentProcess`
|
||||
+ aucun changement runtime/schema/fixture/profil
|
||||
pre.005 transactionSubscribe request typed + filters/options/tokenAccounts + transactionUnsubscribe
|
||||
+ bounds 50k + maxSupportedTransactionVersion conditionnel
|
||||
pre.006 transactionNotification + actor integration + reconnect/resubscribe/unsubscribe races
|
||||
@@ -894,7 +897,7 @@ validation finale fermée
|
||||
prompt 0.2.9 prêt
|
||||
```
|
||||
|
||||
## 13. Checkpoint `pre.004` et `fix.001`
|
||||
## 13. Checkpoints `pre.004`, `fix.001` et `fix.002`
|
||||
|
||||
Le checkpoint `pre.003` est fermé par preuve opérateur :
|
||||
|
||||
@@ -939,7 +942,27 @@ cargo test --workspace FAIL sur le même test Config
|
||||
|
||||
L'unique échec opérateur compare `safe_value` à `********` alors que le résolveur produit correctement `wss://mainnet.helius-rpc.com/?api-key=********`. Les canaris historiques Config prouvent déjà ce contrat de redaction segmentaire pour les chaînes composées. La revue du fix a aussi identifié que `pre.004` ne matérialisait déterministiquement que mainnet alors que le contrat Helius WebSocket couvre mainnet et devnet. `pre.004-fix.001` corrige donc l'attente du test **et** ajoute un profil/fixture Devnet Helius séparé, sans modifier le résolveur, le schema, le mapping protocol ou le runtime Transport.
|
||||
|
||||
Le checkpoint à rejouer avant de déclarer `pre.004` + `fix.001` `DONE` est :
|
||||
Le checkpoint opérateur de `pre.004-fix.001` reçu le 2026-08-23 confirme :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
python3 scripts/audit_rust_workspace_rules.py clean
|
||||
cargo check --workspace OK
|
||||
cargo clippy --workspace --all-targets OK
|
||||
cargo test -p ksp-config-lib FAIL 109/110
|
||||
cargo test -p ksp-onchain-transport-lib OK 314 unit + 38 public + 26 completeness + 4 doctests
|
||||
```
|
||||
|
||||
Le nouvel échec est strictement dans le canari Helius Config :
|
||||
|
||||
```text
|
||||
provenance observée = 2 segments
|
||||
provenance attendue = 1 segment
|
||||
```
|
||||
|
||||
Pour une URL composée `littéral + ${KSP_SECRET_HELIUS_API_KEY}`, le contrat Config enregistre correctement deux provenances ordonnées : `DocumentLiteral`, puis `EnvironmentProcess(KSP_SECRET_HELIUS_API_KEY)`. `pre.004-fix.002` corrige seulement cette attente pour mainnet et devnet ; aucune donnée Config ni logique runtime n'est modifiée.
|
||||
|
||||
Le checkpoint à rejouer avant de déclarer `pre.004` + `fix.001` + `fix.002` `DONE` est :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
@@ -951,4 +974,4 @@ cargo test -p ksp-onchain-transport-lib
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Si ce checkpoint est vert, `pre.005` peut ouvrir la requête typed `transactionSubscribe` / `transactionUnsubscribe`, ses filtres/options et validations déterministes.
|
||||
Si ce checkpoint est vert, `pre.004` et ses deux fixes peuvent être fermés, puis `pre.005` peut ouvrir la requête typed `transactionSubscribe` / `transactionUnsubscribe`, ses filtres/options et validations déterministes.
|
||||
|
||||
Reference in New Issue
Block a user