Files
khadhroony-solana-project/deltas/0.2.7/pre.001-fix.001.md
2026-08-22 18:21:20 +02:00

6.5 KiB

Delta 0.2.7-pre.001-fix.001 — correction documentaire du gate WebSocket

Base requise

Livraison immédiatement précédente :

0.2.7-pre.001
workspace.package.version = 0.2.7-pre.1

Ce fix est documentaire uniquement. Conformément à VERSION_WORKFLOW.md et FILE_CONTRACTS.md, il ne modifie pas Cargo.toml et conserve :

workspace.package.version = 0.2.7-pre.1
commit                    = v0.2.7-pre.001-fix.001
aucun tag prerelease

Objet

Corriger et renforcer le gate pre.001 avant toute implémentation WebSocket :

  • partir des versions du plan 014 et de la compliance 010 réalignées par l'opérateur ;
  • interdire les séparateurs | à l'intérieur des cellules de tableaux Markdown, en utilisant ou, du texte ou une autre forme non ambiguë ;
  • remplacer le cross-check Agave v3.1.8 par la baseline Git actuelle Agave v4.2.1 ;
  • appliquer au WebSocket la même discipline que la compliance HTTP : documentation Solana, tag Git Agave courant et audit SIMD ;
  • ajouter un audit SIMD ciblé des changements pouvant affecter le wire, la sémantique ou les bornes de ressources WebSocket ;
  • préparer std.transport V2 à plusieurs familles WebSocket via un discriminateur explicite, sans ajouter de paramètres Helius dans 0.2.7.

Baseline Agave corrigée

Le tag Git audité est :

anza-xyz/agave v4.2.1

Le cross-check v4.2.1 confirme :

9 subscribe + 9 unsubscribe = 18 opérations standard actuelles
aucune famille PubSub standard supplémentaire détectée
accountSubscribe.minContextSlot toujours ignoré côté handler PubSub
programSubscribe.withContext conservé
a vote.timestamp optionnel côté RpcVote
7 variantes SlotUpdate actuelles inchangées

La documentation Solana reste l'autorité pour la surface publique annoncée. Le tag Agave courant sert de contrôle d'implémentation, même si une page documentaire contient encore un lien vers une révision source plus ancienne.

Audit SIMD ajouté

Le plan et la compliance suivent désormais explicitement les SIMDs pertinents :

SIMD Statut Décision KSP principale
0118 Partitioned Epoch Rewards Distribution Activated réutiliser les DTOs bloc/rewards lossless déjà acquis par HTTP
0291 Commission Rate in Basis Points Review ne pas dériver localement une représentation de commission depuis une autre
0296 Larger Transaction Size Review proposition jusqu'à 4096 octets ; aucune limite WS dérivée en dur de l'ancienne taille transaction de 1232 octets
0298 Bank Hash in Block Footer Idea aucun bankHash spéculatif
0301 parent bank hash PR fermé aucun parentBankHash spéculatif ; PR non mergée
0307 Add Block Footer Review aucun footer spéculatif ; réaudit lorsque l'upstream l'expose
0326 Alpenglow Review ne pas figer les sémantiques TowerBFT des flux unstable
0337 Alpenglow Fast Leader Handover Markers Review surveiller l'impact futur sur shape/taille des blocs
0384 Alpenglow migration Review ne pas supposer une séquence exhaustive de notifications commitment/optimistic confirmation
0385 Transaction V1 Review conserver versions transaction et maxSupportedTransactionVersion génériques

Aucun de ces SIMDs n'ajoute, dans la baseline Agave v4.2.1, une dixième famille WebSocket standard.

Préparation multi-familles WebSocket

Le shape Config V2 planifié devient explicitement extensible :

profiles[].ws_endpoints[].kind

Pour 0.2.7 :

kind = solana_standard    supporté
autre kind                rejet explicite

Le type Transport correspondant est planifié #[non_exhaustive]. Une release ultérieure pourra ainsi ajouter notamment une famille Helius Enhanced WebSocket sans refondre profiles[].ws_endpoints[] et sans contaminer WsSessionSettings ou les wrappers Solana standard avec des options provider-specific.

Ce fix ne décide pas encore si Helius Enhanced WebSocket et LaserStream WebSocket partageront exactement la même famille de settings ou le même moteur ; ce point reste soumis à l'audit provider-specific prévu après 0.2.7.

Markdown

Correction appliquée dans la matrice lifecycle :

avant : Never PIPE ActiveSubscriptions
après : Never ou ActiveSubscriptions

Les caractères | restent uniquement les délimiteurs structurels nécessaires aux tableaux Markdown ; ils ne sont pas utilisés comme séparateurs sémantiques dans une cellule.

Fichiers modifiés

docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md
docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md

Fichier ajouté

deltas/0.2.7/pre.001-fix.001.md

Fichiers volontairement inchangés

Cargo.toml
deltas/0.2.7/pre.001.md
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/validation/000-README.md
CHANGELOG.md
ROADMAP.md
config/**
crates/**

Les index ne changent pas : ils référencent déjà les documents 014 et 010.

Validation documentaire du fix

À vérifier avant commit :

aucun pipe sémantique dans une cellule de tableau Markdown
nombre de colonnes cohérent pour chaque table modifiée
18 opérations WebSocket toujours présentes dans la compliance
Agave v4.2.1 utilisé comme baseline Git
SIMDs ciblés documentés avec leur statut courant
Cargo.toml absent du delta fix

Ce fix ne change aucun code, build, runtime, configuration effective ou migration ; les gates Cargo ne sont donc pas redéclarés comme exécutés par ce delta documentaire.