Files
khadhroony-solana-project/deltas/0.2.8/rel.001.md
2026-08-23 23:14:58 +02:00

7.1 KiB
Raw Blame History

Delta 0.2.8-rel.001 — publication stable Helius LaserStream WebSocket

1. Base requise

Base directe attendue :

0.2.8-pre.011
workspace.package.version = 0.2.8-pre.11

Commit attendu pour cette livraison :

v0.2.8-rel.001

Tag stable attendu après validation :

v0.2.8

2. Objectif

Publier 0.2.8 — Helius LaserStream WebSocket sans ajouter de capacité fonctionnelle après la candidate.

rel.001 :

  • passe workspace.package.version de 0.2.8-pre.11 à 0.2.8 ;
  • clôt ROADMAP.md, le plan 015 et la matrice validation/011 ;
  • ajoute lentrée stable 0.2.8 au CHANGELOG.md ;
  • passe Helius WS à Stable dans linventaire composants ;
  • synchronise les index/documentation de séquence vers le statut publié ;
  • conserve prompts/014-V0_2_9_START_PROMPT.md inchangé comme contrat actif pour 0.2.9.

Aucun fichier Rust, aucune API publique, aucun schema/config runtime, aucune dépendance et aucune feature ne changent dans cette livraison.

3. Preuve candidate finale acquise

Le checkpoint opérateur fourni le 23 août 2026 après application de 0.2.8-pre.011 est intégralement vert :

cargo fmt --all                               OK
python3 scripts/audit_rust_workspace_rules.py OK
  General Rust rule audit                     clean
  Rust export completeness audit              0 candidate(s)
  KSP workspace Rust rule audit               clean
cargo check --workspace                       OK
cargo clippy --workspace --all-targets        OK
cargo test -p ksp-onchain-transport-lib       OK
  unit                                         335 passed
  public API                                   41 passed
  release completeness                         34 passed
  doctests compile-fail                         4 passed
cargo test --workspace                        OK

Les suites Config/Core/Logging/Wallet/Desks passent également. Les smokes réseau, benchmarks et probes operator-only restent ignorés par défaut conformément à leur contrat.

Les trois audits Cargo ont été exécutés en pre.010 puis conservés valides par pre.011, qui ne modifie aucune dépendance :

cargo tree -p ksp-onchain-transport-lib
cargo tree -p ksp-onchain-transport-lib --duplicates
cargo tree --duplicates

Transport ne présente aucune nouvelle dépendance Helius/gRPC/Config ; les doublons ciblés syn 2/3 et webpki-roots 0.26/1.0 sont transitifs et non bloquants.

4. Surface stable publiée

HTTP hérité

52/52 méthodes HTTP courantes typées
14/14 méthodes historiques Deprecated/Removed conservées
KSP-TRANSPORT-007 appliqué à la surface typed
write submissions : aucun resend après dispatch ambigu

WebSocket Solana standard hérité

9 familles standard
18/18 opérations subscribe/unsubscribe
stable   : account, logs, program, root, signature, slot
unstable : block, slotsUpdates, vote

Helius LaserStream WebSocket

Surface standard réutilisée :

account
logs
program
root
signature
slot
slotsUpdates   # unstable

Extension Helius typée :

transactionSubscribe
transactionUnsubscribe
transactionNotification

Absents de la façade Helius :

block
vote

Contrats stabilisés :

HeliusLaserStreamWsSession façade publique dédiée
WsSession actor physique unique partagé avec le standard
aucun second client/socket/registry/scheduler
capability guards avant I/O
heartbeat Helius-only = WebSocket Ping control frame / 60 s
reconnect/resubscribe/remap/unsubscribe races bornés
backpressure isolé par subscription
payload oversized borné avant decode métier
erreurs RPC provider nabattent pas la session physique
Debug/snapshots Helius sans payload provider brut

Config et secrets

std.transport V2 comprend helius_laserstream
profiles Helius mainnet/devnet
KSP_SECRET_HELIUS_API_KEY appartient à Config
redaction segmentaire des URLs résolues
Config -> Transport autorisé
Transport -X-> Config / environnement

Le smoke Helius live cross-crates est reporté vers une future surface dintégration/orchestration dédiée afin de ne pas faire de Config une destination générale de smoke et de ne pas faire lire le secret par Transport.

LaserStream gRPC / Yellowstone reste un backend distinct : aucune promesse gRPC/replay nest attachée au contrat WebSocket 0.2.8.

5. Fichiers ajoutés

deltas/0.2.8/rel.001.md

6. Fichiers modifiés

Cargo.toml
ROADMAP.md
CHANGELOG.md
docs/000-README.md
docs/architecture/004-COMPONENT_INVENTORY.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/015-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET_PLAN.md
docs/validation/000-README.md
docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md
prompts/000-README.md

Volontairement inchangé :

prompts/014-V0_2_9_START_PROMPT.md
crates/**
config/**
.env.example

7. Décisions de clôture

Aucune nouvelle décision de protocole nest introduite par rel.001. La publication confirme :

  1. Helius LaserStream WebSocket reste une façade provider dédiée sur le moteur/actor WebSocket partagé ;
  2. la surface publiée est 7 familles standard + transaction, avec block/vote absents ;
  3. slotsUpdates reste exposé comme unstable ;
  4. le heartbeat Ping 60 s est provider-owned et Helius-only ;
  5. Config reste lunique propriétaire du secret Helius et Transport ne lit pas lenvironnement ;
  6. le smoke live cross-crates Helius attend une surface dintégration/orchestration dédiée ;
  7. HTTP 52+14 et Standard WS 18/18 restent des non-régressions obligatoires ;
  8. 0.2.9 ouvre Yellowstone gRPC standard/provider-neutral par audit/sizing avant dépendances ou implémentation lourde.

8. Validation finale après application

Le passage du signal Cargo à la version stable doit être revalidé avant commit/tag :

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

Les graphes Cargo nont pas besoin dêtre rejoués si loverlay appliqué est exactement 0.2.8-rel.001, car cette livraison ne change aucune dépendance. Les smokes live nont pas besoin dêtre rejoués non plus : aucune source runtime nest modifiée.

Comptages Transport attendus :

unit                     = 335
public API               = 41
release completeness     = 34
doctests compile-fail    = 4

9. Commit et tag stable

Après succès du gate :

commit : v0.2.8-rel.001
tag    : v0.2.8

Aucun tag intermédiaire de prerelease/fix/rel nest requis.

10. Suite

Après création du tag stable v0.2.8, ouvrir :

0.2.9-pre.001

avec :

prompts/014-V0_2_9_START_PROMPT.md

La première tranche est un gate strict de relecture, audit Yellowstone courant, architecture, threat model, dépendances/licences/MSRV/features et sizing. La prévision pre.001 -> pre.013 du prompt est explicitement souple et doit être recalibrée avant toute implémentation gRPC lourde.