v0.3.10-pre.008

This commit is contained in:
2026-09-08 06:43:02 +02:00
parent ab87fd23cd
commit 510adcb49b
21 changed files with 790 additions and 195 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/architecture/002-LAYERS_AND_DEPENDENCIES.md -->
<!-- version: 11 -->
<!-- version: 12 -->
# Couches et dépendances KSP
@@ -26,7 +26,7 @@ Les niveaux architecturaux N1N4 décrivent les familles de composants du proj
### N3 — Données, jobs, workers et processing
- `ksp-store-api` / `ksp-store-lib` ;
- `ksp-materializer-api` / implementations lorsque DECODE s'ouvre ;
- `ksp-materializer-api` / implementations lorsque DECODED s'ouvre ;
- `ksp-job-api`, `ksp-job-backfill-lib` puis les jobs concrets introduits par les couches ;
- `ksp-worker-api` et workers ;
- processors/pipelines spécialisés réellement réutilisés.
@@ -45,32 +45,32 @@ La chaîne de données canonique est :
```text
D1 RAW
-> D2 CORE
-> D3 DECODE
-> D4 SPECIALIZED
-> D2 STRUCTURAL
-> D3 DECODED
-> D4 DOMAIN
```
Aliases fonctionnels :
```text
RAW -> CORE -> DECODE -> SPECIALIZED
RAW -> STRUCTURAL -> DECODED -> DOMAIN
```
RAW et CORE sont indépendants du décodage Program.
RAW et STRUCTURAL sont indépendants du décodage Program.
CORE est une normalisation générique de Solana : structure des blocs, transactions, messages, comptes, instructions/CPI brutes, logs/meta et relations fondamentales.
STRUCTURAL est une normalisation générique de Solana : structure des blocs, transactions, messages, comptes, instructions/CPI brutes, logs/meta et relations fondamentales.
Le premier decoder Program intervient seulement à `CORE -> DECODE`.
Le premier decoder Program intervient seulement à `STRUCTURAL -> DECODED`.
## Progression par couche
### RAW et CORE
### RAW et STRUCTURAL
Ces deux couches sont construites horizontalement.
À la fin de chaque couche, KSP ajoute les composants d'exploitation nécessaires : persistence, replay/backfill, worker/service et application de contrôle lorsque utiles.
### DECODE et SPECIALIZED
### DECODED et DOMAIN
À partir du décodage, KSP progresse verticalement par groupe fonctionnel :
@@ -134,7 +134,7 @@ Les applications Tauri restent minces :
- instrumentation frontend ;
- aucun déplacement de logique de transport, Wallet, Config, Program, Store ou Materializer dans Tauri.
Des applications spécialisées sont ajoutées au fur et à mesure pour valider les couches : Config Desk, Wallet Desk, `ksp-app-solprices-desk`, `ksp-app-backfill-desk`, `ksp-app-store-desk`, CORE tooling puis Market Desk. `ksp-app-solprices-desk` reste une HID mince : elle consomme linventaire, les observations, les états et les opérations génériques de `ksp-offchain-transport-lib` sans connaître les providers, leurs endpoints, leurs credentials ni leurs limites. `ksp-app-backfill-desk` compose Config, Transport HTTP, Store et `ksp-job-backfill-lib` sans absorber découverte, retry/rate-limit, persistance ou checkpoint ; son frontend ne reçoit que des DTOs sûrs et le checkpoint de reprise reste Rust-only. `ksp-app-store-desk` compose Config, Logging et `ksp-store-lib` pour une inspection RAW read-only : il n'accède ni au backend physique ni au SQL et sépare la pagination random-access de l'interface de la pagination cursor/keyset réservée aux consumers machine.
Des applications spécialisées sont ajoutées au fur et à mesure pour valider les couches : Config Desk, Wallet Desk, `ksp-app-solprices-desk`, `ksp-app-backfill-desk`, `ksp-app-store-desk`, STRUCTURAL tooling puis Market Desk. `ksp-app-solprices-desk` reste une HID mince : elle consomme linventaire, les observations, les états et les opérations génériques de `ksp-offchain-transport-lib` sans connaître les providers, leurs endpoints, leurs credentials ni leurs limites. `ksp-app-backfill-desk` compose Config, Transport HTTP, Store et `ksp-job-backfill-lib` sans absorber découverte, retry/rate-limit, persistance ou checkpoint ; son frontend ne reçoit que des DTOs sûrs et le checkpoint de reprise reste Rust-only. `ksp-app-store-desk` compose Config, Logging et `ksp-store-lib` pour une inspection RAW read-only : il n'accède ni au backend physique ni au SQL et sépare la pagination random-access de l'interface de la pagination cursor/keyset réservée aux consumers machine.
## Workers et jobs
@@ -171,7 +171,7 @@ ksp-execution-policy-api
## Groupes Program prioritaires
Après RAW/CORE :
Après RAW/STRUCTURAL :
```text
Solana Core Programs
@@ -198,4 +198,4 @@ Un satellite nécessaire à un protocole reste dans son groupe : Pump fee avec P
- split éventuel d'une API Interface séparée uniquement si un vrai besoin apparaît ;
- contrats Rust exacts de Program/Materializer/Store ;
- mécanisme IPC du premier manager de worker autonome ;
- granularité future des workers DECODE/SPECIALIZED par groupe.
- granularité future des workers DECODED/DOMAIN par groupe.