diff --git a/deltas/0.3.9/pre.006-fix.002.md b/deltas/0.3.9/pre.006-fix.002.md new file mode 100644 index 0000000..0035ad6 --- /dev/null +++ b/deltas/0.3.9/pre.006-fix.002.md @@ -0,0 +1,51 @@ + + + +# 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é. diff --git a/docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md b/docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md index 91313e4..a2892ca 100644 --- a/docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md +++ b/docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md @@ -1,5 +1,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 diff --git a/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md b/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md index ca113fc..1336553 100644 --- a/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md +++ b/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md @@ -1,5 +1,5 @@ - + # 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.** diff --git a/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md b/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md index 6d3f432..0f45508 100644 --- a/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md +++ b/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md @@ -1,5 +1,5 @@ - + # Validation v0.3.9 — Worker API + audit RAW Transaction @@ -179,7 +179,7 @@ Aucun item ci-dessous n’est 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 n’est 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 n’est 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