v0.3.9-pre.006-fix.002

This commit is contained in:
2026-09-05 12:32:20 +02:00
parent 116eabba7d
commit c3c9a80310
4 changed files with 80 additions and 14 deletions

View File

@@ -0,0 +1,51 @@
<!-- file: deltas/0.3.9/pre.006-fix.002.md -->
<!-- version: 1 -->
# Delta `0.3.9-pre.006-fix.002`
## 1. Objet
Corriger la direction de l'identité réseau Mainnet dans la synthèse RAW sans modifier le runtime.
La cible canonique KSP devient `mainnet`. `mainnet-beta` est conservé uniquement comme alias de compatibilité/historique ou comme libellé externe lorsqu'un provider/API l'emploie réellement.
## 2. Motivation
Le précédent état documentaire conservait `mainnet-beta` comme identité Store canonique principalement parce que cette valeur était déjà présente dans l'état N1 RAW. Cette contrainte n'est pas pertinente : tant que les Jobs et Workers d'acquisition RAW ne sont pas finalisés, les données Mainnet actuelles restent des données de test et la base peut être droppée/recréée si une normalisation est nécessaire.
La compatibilité avec des données jetables ne doit donc pas imposer la direction de l'alias durable.
## 3. Décision
```text
identité KSP canonique = mainnet
alias legacy/externe = mainnet-beta
```
Cette décision concerne l'identité logique KSP. Elle ne réécrit pas artificiellement les noms publiés par les providers : une documentation externe qui nomme son cluster `mainnet-beta` reste décrite avec son libellé natif.
Le changement technique correspondant dans Config/Store et les éventuelles migrations de données ne sont pas introduits en `0.3.9` ; ils restent un handoff des releases d'acquisition suivantes.
## 4. Fichiers modifiés
```text
docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md
docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md
docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md
```
Nouveau fichier :
```text
deltas/0.3.9/pre.006-fix.002.md
```
## 5. Versioning
Correctif strictement documentaire :
```text
workspace.package.version = 0.3.9-pre.6
```
`Cargo.toml` n'est pas modifié.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Acquisition et alimentation `RawTransaction`
@@ -512,12 +512,12 @@ Jito prévoit l'arrêt complet de ShredStream le **5 septembre 2026** et recomma
Le support de stratégie doit rester network-neutral ; les smokes utilisent pragmatiquement les accès disponibles.
| Réseau KSP | Preuves prioritaires disponibles | Branches complémentaires | Règle |
|----------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|-----------------------------------------------------|
| `mainnet-beta` | HTTP/WS standard multi-provider, PublicNode Yellowstone gRPC, Helius HTTP/WSS | Helius gRPC payant, QuickNode, Alchemy, Chainstack, Shyft, Triton, dRPC, GetBlock | identité réseau canonique Store |
| `devnet` | Solana public HTTP/WS, Helius standard, OrbitFlare Yellowstone gratuit | Helius LaserStream Developer+, Alchemy, self-host | terrain privilégié pour protocole sans coût Mainnet |
| `testnet` | Solana public HTTP/WS, PublicNode RPC/WS/Yellowstone | self-host et autres providers | ne pas extrapoler disponibilité provider |
| local/custom | fixtures, Agave local, Yellowstone local si nécessaire | serveurs contrôlés | prouver gaps, replay, backpressure et erreurs |
| Réseau KSP | Preuves prioritaires disponibles | Branches complémentaires | Règle |
|--------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------|
| `mainnet` | HTTP/WS standard multi-provider, PublicNode Yellowstone gRPC, Helius HTTP/WSS | Helius gRPC payant, QuickNode, Alchemy, Chainstack, Shyft, Triton, dRPC, GetBlock | identité KSP canonique ; `mainnet-beta` = alias legacy/externe |
| `devnet` | Solana public HTTP/WS, Helius standard, OrbitFlare Yellowstone gratuit | Helius LaserStream Developer+, Alchemy, self-host | terrain privilégié pour protocole sans coût Mainnet |
| `testnet` | Solana public HTTP/WS, PublicNode RPC/WS/Yellowstone | self-host et autres providers | ne pas extrapoler disponibilité provider |
| local/custom | fixtures, Agave local, Yellowstone local si nécessaire | serveurs contrôlés | prouver gaps, replay, backpressure et erreurs |
Plan de preuve :
@@ -609,7 +609,7 @@ priorités/composition
Les prix/tiers d'audit ne doivent pas devenir une politique runtime.
`mainnet-beta` reste l'identité réseau durable ; `mainnet` peut rester un identifiant de profil/composition/UI.
`mainnet` devient l'identité réseau durable KSP. `mainnet-beta` reste uniquement un alias de compatibilité/historique ou un libellé externe lorsqu'un provider/API l'emploie. La phase N1 RAW étant encore une phase de test, aucune donnée existante ne doit forcer la conservation de `mainnet-beta` comme identité canonique : la base peut être droppée/recréée lors de la normalisation si nécessaire.
## 13. Normalisation RAW commune sans couplage Job/Worker
@@ -877,7 +877,7 @@ Store convergence = identité (network, signature), idempotence + con
observations = plusieurs acquisitions/provenances possibles pour un même RAW
support vs preuve = axes séparés ; NON PROUVÉ n'implique pas REJETÉ
provider model = capabilities/configuration, jamais enum provider fermé
network identity = mainnet-beta canonique
network identity = mainnet canonique ; mainnet-beta alias legacy/externe
RAW canonicalisation = lower-layer commune, sans edge Job <-> Worker
0.3.10 = Worker live multi-source + adaptations communes nécessaires
0.3.12 = Job Backfill multi-stratégie historique

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md -->
<!-- version: 11 -->
<!-- version: 12 -->
# Plan v0.3.9 — Worker API générique + audit RAW Transaction
@@ -586,7 +586,7 @@ Budget cible : **15-20 min**. La production API de `pre.002` reste inchangée :
**Statut : réalisé ; audit documentaire daté, aucun runtime modifié.**
Budget cible : **15-20 min**. Le document durable `docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md` est créé et ouvre l'audit daté du 4 septembre 2026. Les voies standard sont classifiées en capabilities orthogonales : discovery adressée + hydration HTTP, scan bloc HTTP, live discovery `logsSubscribe`, confirmation ciblée `signatureSubscribe`, direct full `blockSubscribe` sous capability explicite, et primitives slot/ledger auxiliaires. L'inventaire KSP confirme Store/provenance et Config déjà suffisants pour plusieurs voies, mais identifie notamment l'absence de `get_block_observed`, l'ownership Backfill actuelle du canonicalizer RAW v1, le besoin de gap repair explicite après reconnect WS et la canonicalisation durable `mainnet-beta`. Aucun gap n'est implémenté dans cette tranche.
Budget cible : **15-20 min**. Le document durable `docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md` est créé et ouvre l'audit daté du 4 septembre 2026. Les voies standard sont classifiées en capabilities orthogonales : discovery adressée + hydration HTTP, scan bloc HTTP, live discovery `logsSubscribe`, confirmation ciblée `signatureSubscribe`, direct full `blockSubscribe` sous capability explicite, et primitives slot/ledger auxiliaires. L'inventaire KSP confirme Store/provenance et Config déjà suffisants pour plusieurs voies, mais identifie notamment l'absence de `get_block_observed`, l'ownership Backfill actuelle du canonicalizer RAW v1, le besoin de gap repair explicite après reconnect WS et l'état alors observé où `mainnet-beta` servait d'identité réseau. Aucun gap n'est implémenté dans cette tranche ; la direction canonique de l'alias réseau est corrigée ensuite par `pre.006-fix.002`.
### `pre.005` — audit RAW B : Helius, Yellowstone/providers + kbot3 fonctionnel
@@ -606,6 +606,12 @@ Budget cible : **15-20 min**. `docs/architecture/011-RAW_TRANSACTION_ACQUISITION
Réécriture complète de `docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md` pour supprimer l'effet « audit A + audit B + synthèse ajoutée ». Le document devient une référence architecturale unique centrée sur `RawTransaction` dans Store. Il fixe explicitement : Job Backfill = historique paramétré/borné ; Worker Ingest = acquisition continue start/stop sans paramètres métier historiques ; aucun edge, délégation ou coordination obligatoire entre les deux ; capabilities HTTP/WS/gRPC/archive classifiées par usage et non par producteur. Le replay/repair Worker est limité à la continuité de son acquisition active et ne devient jamais une campagne historique. Correctif strictement documentaire : `workspace.package.version` reste `0.3.9-pre.6`.
#### `pre.006-fix.002` — identité réseau canonique `mainnet`
**Statut : réalisé ; correctif documentaire uniquement.**
La synthèse corrige la direction de compatibilité réseau : `mainnet` devient l'identité KSP canonique et `mainnet-beta` devient un alias legacy/externe, jamais l'inverse. Les libellés provider natifs qui utilisent encore `mainnet-beta` restent documentés comme tels, sans imposer cette valeur à l'identité Store. La base N1 RAW actuelle reste jetable tant que Jobs/Workers d'acquisition ne sont pas finalisés ; aucune donnée de test existante ne justifie donc de figer une convention de nommage indésirable. La normalisation runtime/Config/Store correspondante est un handoff technique ultérieur, pas un changement de code `0.3.9`. `workspace.package.version` reste `0.3.9-pre.6`.
### `pre.007` — gate technique final
**Statut : prévu.**

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md -->
<!-- version: 10 -->
<!-- version: 11 -->
# Validation v0.3.9 — Worker API + audit RAW Transaction
@@ -179,7 +179,7 @@ Aucun item ci-dessous nest déclaré exécuté en `pre.001`.
- [X] HTTP discovery/hydration roles classifiés.
- [X] WS logs/signature/block roles classifiés.
- [X] Live/catch-up/gap-repair/history applicability documentée.
- [X] `mainnet` / `mainnet-beta` audit interne commencé sans migration ; `mainnet-beta` retenu comme identité durable.
- [X] `mainnet` / `mainnet-beta` audit interne commencé sans migration ; l'état alors observé utilisait `mainnet-beta`, décision ensuite supersédée par `pre.006-fix.002`.
### `pre.005` — providers + kbot3 historique
@@ -208,7 +208,7 @@ Aucun item ci-dessous nest déclaré exécuté en `pre.001`.
- [X] Gaps Transport `0.3.10` listés (`get_block_observed`, projection/provenance full commune, conservation moteur Yellowstone), non implémentés en `0.3.9`.
- [X] Gaps Config `0.3.10` listés : sources multiples, rôles/capabilities, priorité/enablement et network binding ; aucun nouvel endpoint ajouté en `0.3.9`.
- [X] Réutilisation unique `KSP_SECRET_HELIUS_API_KEY` confirmée pour toutes les surfaces Helius concernées.
- [X] Stratégie `mainnet` / `mainnet-beta` conclue : `mainnet-beta` reste l'identité réseau canonique ; `mainnet` peut rester alias de profil/UI.
- [X] Stratégie `mainnet` / `mainnet-beta` conclue après correction : `mainnet` est l'identité réseau canonique KSP ; `mainnet-beta` est un alias legacy/externe.
- [X] Applicability `0.3.12` Backfill indiquée par source/méthode : GSFA, block scan, explicit signatures, Yellowstone replay, provider history/archive et Old Faithful.
- [X] `docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md` créé dès `pre.004` comme owner durable, à enrichir en `pre.005`/`pre.006`.
@@ -225,6 +225,15 @@ Aucun item ci-dessous nest déclaré exécuté en `pre.001`.
- [X] Matrices provider/réseau/prix/preuve et sources EARLY conservées dans la synthèse réorganisée.
- [X] Correctif documentaire uniquement : `workspace.package.version` reste `0.3.9-pre.6`.
#### `pre.006-fix.002` — identité réseau canonique `mainnet`
- [X] `mainnet` devient l'identité réseau canonique KSP pour Store/RAW/Config futurs.
- [X] `mainnet-beta` devient un alias de compatibilité/historique ou un libellé provider externe, jamais la cible canonique.
- [X] Les libellés provider documentés en `mainnet-beta` restent inchangés lorsqu'ils décrivent réellement l'API externe.
- [X] Les données Mainnet de la phase N1 RAW restent considérées comme données de test et peuvent être droppées/recréées pour normaliser l'identité réseau.
- [X] Aucun changement runtime/Config/Store n'est effectué dans ce correctif documentaire ; la migration technique reste un handoff ultérieur.
- [X] `workspace.package.version` reste `0.3.9-pre.6`.
## 7. Couloirs de fermeture
### `pre.007` — gate technique final