v0.3.15-pre.017

This commit is contained in:
2026-09-19 08:36:52 +02:00
parent 5f19786ce9
commit cd5c79c253
15 changed files with 282 additions and 104 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# Acquisition et alimentation `RawTransaction`
@@ -833,6 +833,11 @@ coverage exacte/superset conservative avec epochs prouvés
repair borné réutilisant Transport/Common RAW/admission/Store existants
source-loss continuation uniquement sous TargetCoverage prouvée
snapshots gap/repair source-neutral et health gap-aware
Desk réseau-centrique multi-route avec Store partagé et Workers indépendants
Yellowstone Block Mainnet : trigger gRPC + HTTP getBlock Full/Base64 borné/concurrent
backpressure Yellowstone soutenue propagée au stream gRPC au lieu d'un overflow local
Stop Yellowstone post-half-close : status distant tardif classé Closed, status actif toujours fautif/reconnectable
compatibilité étroite : canonique complet + incoming logMessages avec marqueur exact Log truncated
```
Reste hors de cette verticale et nécessite une tranche dédiée :
@@ -840,7 +845,9 @@ Reste hors de cette verticale et nécessite une tranche dédiée :
```text
sources EARLY / pre-execution
campagne historique multi-source ou caller-paramétrable
Worker multi-source -> Store live E2E avec environnement complet provisionné
variantes RAW durables et résolution générale des conflits
promotion canonique d'une représentation moins complète vers une plus complète
retry Store et reconnexion Transport configurables au niveau prévu par 0.3.16
```
### 14.3 Gaps Transport Worker
@@ -869,6 +876,12 @@ settings techniques nécessaires
Elle peut activer plusieurs providers/endpoints simultanément. Les secrets restent Config-owned, avec réutilisation unique de `KSP_SECRET_HELIUS_API_KEY` pour les surfaces Helius concernées.
### 14.4.1 Politique de convergence effectivement livrée en `0.3.15`
La règle générale reste fail-closed : une divergence canonique non reconnue produit `content_conflict`; le Worker ne choisit ni majorité ni provider préféré. Une seule exception de qualité a été démontrée et livrée avant la généralisation `0.3.16` : si le RAW déjà stocké est complet, que l'entrant possède la même référence/slot/block time/format, la même transaction/version/index et le même `meta` hors `logMessages`, que le canonique ne contient aucun marqueur exact `Log truncated` et que l'entrant en contient exactement un après un préfixe identique, l'entrant est traité comme observation compatible moins complète. Le canonique n'est pas réécrit et aucun `content_conflict` n'est produit.
Le sens inverse reste volontairement non résolu en `0.3.15` : un canonique tronqué suivi d'une représentation complète n'est pas promu automatiquement. Deux contenus complets divergents, un préfixe incompatible, une différence hors `logMessages` ou toute relation de troncature non prouvée restent des conflits. Cette asymétrie est précisément le point d'entrée du modèle de variantes/promotion/résolution de `0.3.16`.
## 14.5 Handoff `0.3.16` : résilience RAW et conflits durables
`0.3.16` doit déplacer la résolution des divergences RAW dans le contrat Store partagé, afin que Worker live et futurs Jobs historiques convergent avec la même politique. Une divergence de contenu n'est plus assimilée automatiquement à une panne d'acquisition.
@@ -923,7 +936,10 @@ Ordre conseillé :
0.3.13 P0 : WS logs + hydration, blockSubscribe, Helius transactionSubscribe, HTTP live polling
0.3.13 P1 : multi-source convergence, dedup, provenance, content conflict, backpressure/fairness
0.3.13 P2 : health source-neutral, shutdown/races, completeness/security et gate live keyless
0.3.14 : trajectoire suivante définie par son prompt dédié ; ne pas réintroduire implicitement un scope reporté
0.3.14 P0 : gaps run-local, coverage prouvée, repair borné, source-loss et shutdown/fairness cross-layer
0.3.15 P0 : Raw Transaction Ingest Desk multi-route + stabilité Mainnet Yellowstone/getBlock/polling
0.3.15 P1 : diagnostic/convergence logMessages tronqués + backpressure gRPC soutenue + Stop post-half-close
0.3.16 P0 : variantes/conflits RAW durables, promotions/résolutions, retries et Store Desk conflicts
0.3.17 P0 : block scan historique
0.3.17 P0 : replay Yellowstone borné
0.3.17 P1 : provider history/archive