v0.0.3-pre.004
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/005-DEPENDENCY_GRAPH.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# Graphe de dépendances KSP
|
||||
|
||||
@@ -87,6 +87,23 @@ ksp-interface-lib -> ksp-core-lib
|
||||
|
||||
---
|
||||
|
||||
# Propriété des codecs wire
|
||||
|
||||
Pour les surfaces wire officielles KSP :
|
||||
|
||||
```text
|
||||
ksp-interface-lib
|
||||
-> codecs wire nécessaires (borsh/wincode/...)
|
||||
```
|
||||
|
||||
`ksp-program-lib` n'ajoute pas directement une autre génération de codec pour les mêmes surfaces.
|
||||
|
||||
Une extension Program externe peut temporairement posséder son wire lorsqu'il n'est pas encore officiellement intégré à `ksp-interface-lib`.
|
||||
|
||||
Le critère d'adoption d'une crate d'interface externe inclut la compatibilité de son graphe de dépendances avec le stack KSP actuel.
|
||||
|
||||
---
|
||||
|
||||
# Graphe Program
|
||||
|
||||
```text
|
||||
@@ -102,7 +119,7 @@ ksp-program-lib
|
||||
|
||||
## Frontière de `ksp-program-api`
|
||||
|
||||
`ksp-program-api` doit porter les contrats publics nécessaires à une implémentation externe de decoder/executor.
|
||||
`ksp-program-api` doit porter les contrats publics nécessaires à une implémentation externe de decoder/execution preparation.
|
||||
|
||||
Il est également le propriétaire candidat du **contrat d'opération préparée** produit par la sémantique programme et consommé par la couche d'exécution.
|
||||
|
||||
@@ -131,10 +148,26 @@ ksp-program-lib -X-> ksp-materializer-lib
|
||||
ksp-program-lib -X-> ksp-execution-lib
|
||||
```
|
||||
|
||||
Le decoder/executor de programme reste donc testable sans réseau, wallet ou base de données.
|
||||
Le decoder/execution preparation de programme reste donc testable sans réseau, wallet ou base de données.
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Implémentations Program externes
|
||||
|
||||
Une implémentation externe peut dépendre de :
|
||||
|
||||
```text
|
||||
ksp-program-<name>-lib
|
||||
-> ksp-program-api
|
||||
-> ksp-core-lib
|
||||
-> ksp-interface-lib # lorsque le wire officiel nécessaire existe
|
||||
```
|
||||
|
||||
Elle ne dépend pas obligatoirement de `ksp-program-lib`.
|
||||
|
||||
Le runtime peut composer registry officiel + registry/implémentations externes derrière `ksp-program-api`.
|
||||
|
||||
# Graphe Execution / Policy
|
||||
|
||||
`ksp-execution-policy-api` et `ksp-execution-lib` sont retenus comme composants.
|
||||
|
||||
Reference in New Issue
Block a user