v0.2.7-pre.001-fix.001
This commit is contained in:
147
deltas/0.2.7/pre.001-fix.001.md
Normal file
147
deltas/0.2.7/pre.001-fix.001.md
Normal file
@@ -0,0 +1,147 @@
|
||||
<!-- file: deltas/0.2.7/pre.001-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.7-pre.001-fix.001` — correction documentaire du gate WebSocket
|
||||
|
||||
## Base requise
|
||||
|
||||
Livraison immédiatement précédente :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
anza-xyz/agave v4.2.1
|
||||
```
|
||||
|
||||
Le cross-check `v4.2.1` confirme :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
profiles[].ws_endpoints[].kind
|
||||
```
|
||||
|
||||
Pour `0.2.7` :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```text
|
||||
docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md
|
||||
docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.2.7/pre.001-fix.001.md
|
||||
```
|
||||
|
||||
## Fichiers volontairement inchangés
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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.
|
||||
Reference in New Issue
Block a user