v0.3.10-pre.006-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md -->
|
||||
<!-- version: 14 -->
|
||||
<!-- version: 15 -->
|
||||
|
||||
# Acquisition, workers, jobs et pipelines spécialisés
|
||||
|
||||
@@ -90,7 +90,7 @@ Le job :
|
||||
|
||||
Le caller desktop spécialisé actuel est `ksp-app-backfill-desk`. Il compose Config, le pool HTTP et Store, puis remet ces ressources au runtime Backfill. Il peut retenir le checkpoint terminal uniquement en mémoire Rust pour un Resume in-session ; cette rétention applicative ne transforme pas le checkpoint en garantie de reprise durable après redémarrage.
|
||||
|
||||
Cette verticale `0.3.6`/`0.3.7` est **la première stratégie de backfill**, pas la définition générale du backfill KSP. Son discovery `getSignaturesForAddress` + hydration `getTransaction` est HTTP parce que cette méthode a été choisie pour le premier vertical slice. Après stabilisation du worker live et de sa Desk, `0.3.12` doit réauditer `ksp-job-backfill-lib` et `ksp-app-backfill-desk` pour intégrer les autres stratégies historiques/catch-up pertinentes identifiées par l'audit RAW Transaction de `0.3.9`.
|
||||
Cette verticale `0.3.6`/`0.3.7` est **la première stratégie de backfill**, pas la définition générale du backfill KSP. Son discovery `getSignaturesForAddress` + hydration `getTransaction` est HTTP parce que cette méthode a été choisie pour le premier vertical slice. Après stabilisation du worker live et de sa Desk, `0.3.16` doit réauditer `ksp-job-backfill-lib` et `ksp-app-backfill-desk` pour intégrer les autres stratégies historiques/catch-up pertinentes identifiées par l'audit RAW Transaction de `0.3.9`.
|
||||
|
||||
### Worker RAW Transaction live
|
||||
|
||||
@@ -163,25 +163,25 @@ La présence d'une voie dans l'architecture signifie qu'elle doit pouvoir être
|
||||
|
||||
Pour chaque voie, l'audit couvre au minimum :
|
||||
|
||||
| Dimension | Question à trancher |
|
||||
|----------------------|-----------------------------------------------------------------------|
|
||||
| transport/protocole | HTTP, WS standard, extension provider, Yellowstone ou autre ? |
|
||||
| réseau | Mainnet, Devnet, Testnet réellement disponibles et utiles ? |
|
||||
| disponibilité | gratuite/payante/provider-dependent ; limites actuelles à réauditer ? |
|
||||
| temporalité | live, catch-up, historique, replay récent ? |
|
||||
| discovery | comment la transaction est-elle découverte ? |
|
||||
| transaction complète | reçue directement ou hydration nécessaire ? |
|
||||
| filtres | programmes/comptes/signatures/slots/status et bornes ? |
|
||||
| ordering/duplicates | quelles garanties existent et quelles duplications sont normales ? |
|
||||
| reconnect/replay | que se passe-t-il après coupure ? |
|
||||
| gap recovery | quelle autre stratégie répare les trous ? |
|
||||
| backpressure | quelles limites et comportements si le consumer ralentit ? |
|
||||
| commitment/finality | quels niveaux sont disponibles et comment les interpréter ? |
|
||||
| provenance | quelles métadonnées sûres alimentent `RawTransactionObservation` ? |
|
||||
| limites/quota | RPS, connexions, subscriptions, credits ou autres limites actuelles ? |
|
||||
| gap KSP Transport | surface déjà disponible ou adaptation nécessaire en `0.3.10` ? |
|
||||
| gap KSP Config | profil/secret/capability déjà disponible ou adaptation nécessaire ? |
|
||||
| usage | continuous ingest, gap repair, historical backfill ou combinaison ? |
|
||||
| Dimension | Question à trancher |
|
||||
|----------------------|-----------------------------------------------------------------------------|
|
||||
| transport/protocole | HTTP, WS standard, extension provider, Yellowstone ou autre ? |
|
||||
| réseau | Mainnet, Devnet, Testnet réellement disponibles et utiles ? |
|
||||
| disponibilité | gratuite/payante/provider-dependent ; limites actuelles à réauditer ? |
|
||||
| temporalité | live, catch-up, historique, replay récent ? |
|
||||
| discovery | comment la transaction est-elle découverte ? |
|
||||
| transaction complète | reçue directement ou hydration nécessaire ? |
|
||||
| filtres | programmes/comptes/signatures/slots/status et bornes ? |
|
||||
| ordering/duplicates | quelles garanties existent et quelles duplications sont normales ? |
|
||||
| reconnect/replay | que se passe-t-il après coupure ? |
|
||||
| gap recovery | quelle autre stratégie répare les trous ? |
|
||||
| backpressure | quelles limites et comportements si le consumer ralentit ? |
|
||||
| commitment/finality | quels niveaux sont disponibles et comment les interpréter ? |
|
||||
| provenance | quelles métadonnées sûres alimentent `RawTransactionObservation` ? |
|
||||
| limites/quota | RPS, connexions, subscriptions, credits ou autres limites actuelles ? |
|
||||
| gap KSP Transport | surface déjà disponible ou adaptation nécessaire dans `0.3.10` à `0.3.14` ? |
|
||||
| gap KSP Config | profil/secret/capability déjà disponible ou adaptation nécessaire ? |
|
||||
| usage | continuous ingest, gap repair, historical backfill ou combinaison ? |
|
||||
|
||||
#### Helius et Config
|
||||
|
||||
@@ -192,7 +192,7 @@ Décisions déjà acquises :
|
||||
```text
|
||||
KSP_SECRET_HELIUS_API_KEY existe déjà côté environnement KSP
|
||||
Helius HTTP et WS Mainnet/Devnet doivent être considérés comme futures sources candidates
|
||||
les profils/endpoints réellement nécessaires sont ajoutés seulement en 0.3.10
|
||||
les profils/endpoints réellement nécessaires sont ajoutés seulement dans la release Worker qui les consomme, principalement 0.3.13/0.3.14
|
||||
aucune URL Helius nouvelle n'est ajoutée pendant 0.3.8
|
||||
Config reste l'unique propriétaire des secrets et de leur résolution
|
||||
les fonctionnalités standard et advanced/enhanced sont capability-gated, jamais supposées par le seul nom du provider
|
||||
@@ -226,7 +226,7 @@ La déduplication ne doit donc pas supprimer la provenance utile sous prétexte
|
||||
|
||||
La Desk prévue après le worker choisit et supervise les **source(s)/méthode(s)** offertes par la composition réellement disponible. Elle ne possède pas la logique de discovery, hydration, déduplication, replay ou persistance.
|
||||
|
||||
Elle doit pouvoir représenter selon les capacités finales de `0.3.10` :
|
||||
Elle doit pouvoir représenter selon les capacités finales du Worker après `0.3.14` :
|
||||
|
||||
```text
|
||||
une source unique
|
||||
|
||||
Reference in New Issue
Block a user