v0.3.9-pre.006-fix.001
This commit is contained in:
135
deltas/0.3.9/pre.006-fix.001.md
Normal file
135
deltas/0.3.9/pre.006-fix.001.md
Normal file
@@ -0,0 +1,135 @@
|
||||
<!-- file: deltas/0.3.9/pre.006-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.9-pre.006-fix.001`
|
||||
|
||||
## 1. Objet
|
||||
|
||||
Corriger la synthèse architecturale RAW de `pre.006` sans modifier le runtime.
|
||||
|
||||
Le document `docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md` était fonctionnellement riche mais conservait la forme de deux audits chronologiques A/B auxquels une synthèse avait été ajoutée. Cette structure masquait aussi la séparation stricte attendue entre les deux producteurs de `RawTransaction`.
|
||||
|
||||
Le correctif réécrit intégralement l'owner comme une synthèse unique centrée sur Store / `RawTransaction`.
|
||||
|
||||
## 2. Architecture corrigée
|
||||
|
||||
Le modèle durable devient explicitement :
|
||||
|
||||
```text
|
||||
sources/protocoles/providers
|
||||
-> capabilities d'acquisition
|
||||
-> Job Backfill OU Worker Ingest selon l'intention
|
||||
-> normalisation RAW source-neutral
|
||||
-> Store
|
||||
-> RawTransaction + observations/provenance
|
||||
```
|
||||
|
||||
Les deux producteurs sont indépendants :
|
||||
|
||||
```text
|
||||
Job Backfill
|
||||
= historique demandé
|
||||
= paramètres métier explicites
|
||||
= campagne bornée et terminable
|
||||
|
||||
Worker Raw Transaction Ingest
|
||||
= acquisition continue depuis start
|
||||
= aucun paramètre métier de campagne au start
|
||||
= stop pour terminer normalement
|
||||
```
|
||||
|
||||
Aucun edge, appel, délégation, checkpoint partagé ou coordination lifecycle `Job <-> Worker` n'est admis.
|
||||
|
||||
## 3. Protocoles et capabilities
|
||||
|
||||
Le correctif supprime toute lecture implicite :
|
||||
|
||||
```text
|
||||
HTTP = Backfill
|
||||
WS/gRPC = Worker
|
||||
```
|
||||
|
||||
La règle correcte est :
|
||||
|
||||
```text
|
||||
HTTP / WS / gRPC / archive / EARLY
|
||||
= moyens d'acquisition
|
||||
= utilisables par le producer dont l'intention correspond
|
||||
```
|
||||
|
||||
Exemples :
|
||||
|
||||
- HTTP `getTransaction` sert au Worker pour hydrater un signal live et au Job pour hydrater une signature historique ;
|
||||
- HTTP `getBlock` peut servir au Worker en live polling/repair de continuité et au Job pour une plage historique ;
|
||||
- Yellowstone `from_slot` peut réparer la continuité d'un Worker depuis son frontier actif ou alimenter un Job de replay historique borné ;
|
||||
- une API archive/provider history appartient au Job lorsqu'elle répond à une campagne historique.
|
||||
|
||||
## 4. Frontière de continuité Worker
|
||||
|
||||
Le Worker peut réparer uniquement les pertes de continuité liées à son acquisition active :
|
||||
|
||||
```text
|
||||
frontier live
|
||||
-> gap détecté
|
||||
-> replay/hydration/block recovery
|
||||
-> frontier restauré
|
||||
-> live continue
|
||||
```
|
||||
|
||||
Il ne reçoit jamais une requête arbitraire « remonte avant telle date/slot/signature ». Cette responsabilité appartient au Job Backfill.
|
||||
|
||||
## 5. Normalisation commune
|
||||
|
||||
`ksp-raw-transaction-lib` reste retenu comme lower-layer source-neutral commun afin d'éviter la duplication du canonicalizer RAW v1.
|
||||
|
||||
Cette dépendance inférieure ne crée aucune relation fonctionnelle entre Job et Worker :
|
||||
|
||||
```text
|
||||
Job ------> raw common ------> Store
|
||||
Worker ---> raw common ------> Store
|
||||
|
||||
aucun edge Job <-> Worker
|
||||
```
|
||||
|
||||
## 6. Données d'audit conservées
|
||||
|
||||
La réécriture conserve et réorganise :
|
||||
|
||||
- la matrice exhaustive des méthodes standard HTTP/WS/Yellowstone ;
|
||||
- l'applicabilité Worker / Job par méthode ;
|
||||
- les providers et infrastructures connus ;
|
||||
- les réseaux ;
|
||||
- les prix/tiers datés au 4 septembre 2026 ;
|
||||
- les statuts `PROUVÉ`, `TESTABLE`, `NON PROUVÉ`, `BLOQUÉ TIER`, `À REVALIDER` ;
|
||||
- les sources EARLY/shreds ;
|
||||
- la stratégie de preuve Mainnet/Devnet/Testnet/local ;
|
||||
- les gaps Transport/Config ;
|
||||
- les handoffs `0.3.10` Worker et `0.3.12` Backfill.
|
||||
|
||||
## 7. Version
|
||||
|
||||
Correctif strictement documentaire. Conformément aux règles KSP applicables aux fixes documentaires :
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.3.9-pre.6
|
||||
```
|
||||
|
||||
Aucun changement `Cargo.toml` n'est effectué.
|
||||
|
||||
## 8. 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
|
||||
```
|
||||
|
||||
Ajouté :
|
||||
|
||||
```text
|
||||
deltas/0.3.9/pre.006-fix.001.md
|
||||
```
|
||||
|
||||
Aucun fichier Rust, Config, Store, Transport, endpoint ou secret n'est modifié.
|
||||
Reference in New Issue
Block a user