136 lines
4.0 KiB
Markdown
136 lines
4.0 KiB
Markdown
<!-- 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é.
|