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
014et de la compliance010réalignées par l'opérateur ; - interdire les séparateurs
|à l'intérieur des cellules de tableaux Markdown, en utilisantou, du texte ou une autre forme non ambiguë ; - remplacer le cross-check Agave
v3.1.8par la baseline Git actuelle Agavev4.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.transportV2 à plusieurs familles WebSocket via un discriminateur explicite, sans ajouter de paramètres Helius dans0.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.