155 lines
4.0 KiB
Markdown
155 lines
4.0 KiB
Markdown
<!-- file: deltas/0.2.9/pre.001-fix.002.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.9-pre.001-fix.002` — provider divergence + waitlist Yellowstone
|
|
|
|
## 1. Base requise
|
|
|
|
```text
|
|
0.2.9-pre.001-fix.001
|
|
workspace.package.version = 0.2.9-pre.1
|
|
```
|
|
|
|
Ce correctif est **documentaire uniquement**. Conformément au workflow de version, il ne modifie pas `workspace.package.version`.
|
|
|
|
## 2. Motif du correctif
|
|
|
|
Le cadrage `pre.001-fix.001` avait correctement séparé :
|
|
|
|
```text
|
|
N1 moteur Yellowstone partagé
|
|
N2 façade Solana Yellowstone standard
|
|
N3 intégration provider
|
|
```
|
|
|
|
mais la formulation « sans duplication du moteur ni du wire standard » pouvait être comprise comme une hypothèse d'équivalence wire/capabilities entre Yellowstone upstream et tous les providers.
|
|
|
|
Cette hypothèse n'est pas acceptable : un provider peut implémenter seulement un sous-ensemble du standard, imposer des limites/auth/lifecycle différents ou proposer des extensions propres.
|
|
|
|
Le correctif ferme aussi la liste des providers à implémenter à court terme :
|
|
|
|
```text
|
|
0.2.9 PublicNode
|
|
0.2.10 OrbitFlare
|
|
0.2.11 Helius LaserStream gRPC
|
|
```
|
|
|
|
Les autres providers ne reçoivent plus de numéro de release réservé.
|
|
|
|
## 3. Décisions corrigées
|
|
|
|
### 3.1 Règle N1 / N2 / N3
|
|
|
|
```text
|
|
N1 = moteur client Yellowstone unique
|
|
N2 = contrat Solana Yellowstone standard KSP
|
|
N3 = adaptation provider
|
|
```
|
|
|
|
Invariant N1 :
|
|
|
|
```text
|
|
aucun second actor/channel/stream moteur par provider
|
|
```
|
|
|
|
Règle N2/N3 :
|
|
|
|
```text
|
|
réutiliser N2 lorsqu'une capacité provider est réellement compatible
|
|
restreindre explicitement N2 lorsqu'une capacité standard est absente/non supportée
|
|
ajouter une extension typed N3 lorsqu'un provider étend le protocole/wire
|
|
porter en N3 les différences auth/metadata/compression/keepalive/replay/from_slot/limites/lifecycle
|
|
ne jamais présumer une équivalence provider/standard sans preuve
|
|
```
|
|
|
|
Une divergence réelle n'est donc ni dupliquée arbitrairement ni masquée derrière le standard.
|
|
|
|
### 3.2 Providers actuellement planifiés
|
|
|
|
```text
|
|
0.2.9 moteur Yellowstone + standard Solana + PublicNode
|
|
0.2.10 OrbitFlare Yellowstone gRPC
|
|
0.2.11 Helius LaserStream gRPC
|
|
```
|
|
|
|
Chaque release provider commence par un delta audit avec Yellowstone upstream courant et ne matérialise que ses différences réelles.
|
|
|
|
### 3.3 Providers en attente
|
|
|
|
Les providers suivants sont retirés de la séquence numérotée :
|
|
|
|
```text
|
|
TODO eRPC
|
|
TODO Triton
|
|
TODO Alchemy
|
|
TODO QuickNode
|
|
TODO Chainstack
|
|
IDEAS Tatum
|
|
IDEAS Shyft
|
|
IDEAS Solinfra
|
|
IDEAS NodeFlare
|
|
IDEAS autres providers
|
|
```
|
|
|
|
Aucun Config profile, type public, dépendance, smoke ou forecast n'est préparé pour eux tant qu'une décision explicite d'implémentation n'est pas prise.
|
|
|
|
### 3.4 Séquence fonctionnelle libérée
|
|
|
|
La suppression de la réservation `0.2.12 eRPC` ramène la suite active à :
|
|
|
|
```text
|
|
0.2.12 off-chain price transport
|
|
0.2.13 Price Desk + intégration prix Wallet Desk
|
|
0.2.14 interface/wire foundation
|
|
0.2.15 program-api foundation
|
|
```
|
|
|
|
## 4. Fichiers modifiés
|
|
|
|
```text
|
|
ROADMAP.md
|
|
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
|
docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md
|
|
docs/validation/012-V0_2_9_YELLOWSTONE_GRPC.md
|
|
```
|
|
|
|
## 5. Fichier ajouté
|
|
|
|
```text
|
|
deltas/0.2.9/pre.001-fix.002.md
|
|
```
|
|
|
|
## 6. Fichiers non modifiés intentionnellement
|
|
|
|
```text
|
|
Cargo.toml
|
|
prompts/014-V0_2_9_START_PROMPT.md
|
|
crates/**
|
|
config/**
|
|
.env.example
|
|
```
|
|
|
|
Le prompt `014` reste l'autorité historique d'ouverture ; le plan et les deltas successifs enregistrent les décisions prises pendant le gate.
|
|
|
|
## 7. Validation
|
|
|
|
Correctif documentaire :
|
|
|
|
```bash
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
```
|
|
|
|
Aucun `cargo check/clippy/test` supplémentaire n'est requis par ce correctif tant qu'aucun artefact code/build/runtime/config n'est modifié.
|
|
|
|
## 8. État de sortie
|
|
|
|
```text
|
|
N1 moteur unique explicite
|
|
N2 standard non présumé universel
|
|
N3 peut réutiliser/restreindre/étendre
|
|
PublicNode/OrbitFlare/Helius seuls providers planifiés
|
|
reste des providers en TODO/IDEAS non numérotés
|
|
off-chain price revient en 0.2.12
|
|
aucun changement runtime/dependency
|
|
```
|