v0.3.1-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/003-COMPONENT_CONTRACTS.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Contrats initiaux des composants KSP
|
||||
|
||||
@@ -16,7 +16,7 @@ Couples explicitement retenus :
|
||||
```text
|
||||
ksp-program-api / ksp-program-lib
|
||||
ksp-materializer-api / ksp-materializer-lib
|
||||
ksp-store-api / ksp-store-lib
|
||||
ksp-store-api / ksp-store-lib + ksp-store-<backend>-lib
|
||||
```
|
||||
|
||||
Lifecycle APIs séparées :
|
||||
@@ -27,6 +27,8 @@ ksp-job-api
|
||||
ksp-execution-policy-api
|
||||
```
|
||||
|
||||
Pour Store, le couple API/façade est complété par des crates backend séparées : chaque `ksp-store-<backend>-lib` implémente `ksp-store-api` et ne dépend jamais de `ksp-store-lib`. Les consumers runtime ordinaires utilisent la façade `ksp-store-lib`, pas une crate backend concrète.
|
||||
|
||||
Une crate `*-api` n'est jamais créée uniquement pour la symétrie des noms.
|
||||
|
||||
## Core
|
||||
@@ -156,7 +158,9 @@ Interprétation Program/protocole puis matérialisation générique/journal dura
|
||||
|
||||
Projections queryables de domaine : token, metadata, pools, trades, OHLC, routes, etc.
|
||||
|
||||
`ksp-store-api` possède les contrats backend-agnostic. `ksp-store-lib` fournit PostgreSQL comme backend officiel.
|
||||
`ksp-store-api` possède les contrats backend-agnostic. `ksp-store-lib` fournit la façade/runtime commune et sélectionne les backends compilés par features. PostgreSQL est le backend officiel par défaut mais son implémentation physique appartient à `ksp-store-postgres-lib`.
|
||||
|
||||
Les jobs, workers et applications consomment normalement `ksp-store-lib`; les crates backend dépendent de `ksp-store-api` et restent invisibles aux consumers. Une dépendance directe à `ksp-store-api` reste réservée aux implémentations de contrats ou composants réutilisables qui ont réellement besoin de ces traits/types sans façade runtime.
|
||||
|
||||
La première Store release est RAW-only ; les couches suivantes sont ajoutées quand elles sont réellement ouvertes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user