v0.0.3-pre.003
This commit is contained in:
182
deltas/0.0.3/pre.003.md
Normal file
182
deltas/0.0.3/pre.003.md
Normal file
@@ -0,0 +1,182 @@
|
||||
<!-- file: deltas/0.0.3/pre.003.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.3-pre.003
|
||||
|
||||
## Base requise
|
||||
|
||||
`v0.0.3-pre.002`.
|
||||
|
||||
## Objectif
|
||||
|
||||
Formaliser le graphe de dépendances KSP, corriger l'inventaire `pre.002` lorsque le graphe révèle une frontière plus propre et éliminer les dépendances susceptibles de créer des cycles ou de mélanger sémantique, I/O et persistence.
|
||||
|
||||
## Version Cargo
|
||||
|
||||
`workspace.package.version` passe de :
|
||||
|
||||
```text
|
||||
0.0.3-pre.2
|
||||
```
|
||||
|
||||
à :
|
||||
|
||||
```text
|
||||
0.0.3-pre.3
|
||||
```
|
||||
|
||||
Le header de `Cargo.toml` passe de version 8 à 9.
|
||||
|
||||
## Fichiers ajoutés
|
||||
|
||||
- `docs/architecture/005-DEPENDENCY_GRAPH.md`
|
||||
- `deltas/0.0.3/pre.003.md`
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
- `Cargo.toml`
|
||||
- `ROADMAP.md`
|
||||
- `docs/architecture/000-README.md`
|
||||
- `docs/architecture/003-COMPONENT_CONTRACTS.md`
|
||||
- `docs/architecture/004-COMPONENT_INVENTORY.md`
|
||||
- `docs/rules/RULES_DEPENDENCIES.md`
|
||||
- `docs/rules/RULES_KSP.md`
|
||||
- `docs/IDEAS.md`
|
||||
- `docs/plans/001-V0_0_3_PLAN.md`
|
||||
- `prompts/001-V0_1_X_START_PROMPT.md`
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
Aucun.
|
||||
|
||||
## Corrections du roadmap
|
||||
|
||||
La ligne :
|
||||
|
||||
```text
|
||||
Ne pas créer ksp-onchain-transport-api ni ksp-wallet-api sans nouveau besoin concret
|
||||
```
|
||||
|
||||
est supprimée des tâches à cocher.
|
||||
|
||||
Il s'agit d'une décision architecturale, conservée dans les règles et le graphe, pas d'un livrable.
|
||||
|
||||
## Décisions principales
|
||||
|
||||
### Program
|
||||
|
||||
```text
|
||||
ksp-program-api
|
||||
-> core/interface
|
||||
|
||||
ksp-program-lib
|
||||
-> ksp-program-api
|
||||
```
|
||||
|
||||
Program reste indépendant du wallet, du transport, du store et des materializers.
|
||||
|
||||
### Execution / Policy
|
||||
|
||||
`ksp-execution-policy-api` et `ksp-execution-lib` passent de candidats forts à composants retenus.
|
||||
|
||||
`ksp-execution-lib` dépend de :
|
||||
|
||||
```text
|
||||
ksp-program-api
|
||||
ksp-execution-policy-api
|
||||
ksp-wallet-lib
|
||||
ksp-onchain-transport-lib
|
||||
```
|
||||
|
||||
Il ne dépend pas de `ksp-program-lib`.
|
||||
|
||||
Les implémentations Program officielles ou externes restent substituables derrière `ksp-program-api`.
|
||||
|
||||
### Materializer
|
||||
|
||||
`ksp-materializer-api` peut dépendre de `ksp-program-api`.
|
||||
|
||||
`ksp-materializer-api` et `ksp-materializer-lib` ne dépendent pas du store.
|
||||
|
||||
### Store
|
||||
|
||||
`ksp-store-api` reste indépendant de Program, Materializer et Transport.
|
||||
|
||||
`ksp-store-lib` implémente `ksp-store-api` avec PostgreSQL comme référence.
|
||||
|
||||
Les modèles persistants appartiennent au store ; les workers/jobs effectuent les conversions depuis les modèles de transport/processing.
|
||||
|
||||
Aucun `ksp-data-api` global n'est introduit.
|
||||
|
||||
### Transport
|
||||
|
||||
`ksp-onchain-transport-lib` ne dépend pas du store.
|
||||
|
||||
Les providers normalisent leurs réponses dans des modèles de transport homogènes, ensuite convertis explicitement par `ksp-worker-raw-retriever`.
|
||||
|
||||
### Workers / Jobs
|
||||
|
||||
`ksp-worker-api` et `ksp-job-api` restent des lifecycle APIs séparées.
|
||||
|
||||
`ksp-worker-control-lib` dépend de `ksp-worker-api` et ne contrôle pas les jobs.
|
||||
|
||||
Aucune `ksp-job-control-lib` n'est prévue.
|
||||
|
||||
### Notifications
|
||||
|
||||
`ksp-store-api` devient le propriétaire retenu du contrat canonique de notification lorsqu'une donnée persistée est disponible.
|
||||
|
||||
Le contrat reste indépendant du producteur et du mécanisme de diffusion.
|
||||
|
||||
## Frontières de conversion retenues
|
||||
|
||||
```text
|
||||
transport model
|
||||
-> worker/job acquisition
|
||||
-> store raw DTO
|
||||
|
||||
store raw DTO
|
||||
-> core processor
|
||||
-> program API/lib
|
||||
-> store Core DTO
|
||||
|
||||
store Core DTO
|
||||
-> materializer worker
|
||||
-> materializer API/lib
|
||||
-> store materialization/projection DTO
|
||||
```
|
||||
|
||||
Ces conversions explicites empêchent les dépendances croisées entre bibliothèques basses.
|
||||
|
||||
## Questions reportées
|
||||
|
||||
### `pre.004`
|
||||
|
||||
- types exacts decoder/executor ;
|
||||
- opération préparée ;
|
||||
- policy API détaillée ;
|
||||
- cycle exact de `ksp-execution-lib` ;
|
||||
- conformité wire et historique/deprecated.
|
||||
|
||||
### `pre.005`
|
||||
|
||||
- modèles persistants raw/Core/materialization/projection ;
|
||||
- materializer API détaillée ;
|
||||
- notifications et diffusion ;
|
||||
- replay/provenance/idempotence ;
|
||||
- rôle précis des workers de matérialisation.
|
||||
|
||||
### `pre.006`
|
||||
|
||||
- managers/processus/IPC ;
|
||||
- norme scenarios ;
|
||||
- orchestration globale ;
|
||||
- pipelines spécialisés.
|
||||
|
||||
## Validations
|
||||
|
||||
- headers `file:` / `version:` vérifiés sur tous les fichiers Markdown livrés ;
|
||||
- `Cargo.toml` parsé avec succès et version vérifiée à `0.0.3-pre.3` ;
|
||||
- références internes vers `005-DEPENDENCY_GRAPH.md` vérifiées ;
|
||||
- anciennes références à la fausse tâche roadmap vérifiées absentes ;
|
||||
- aucune commande Cargo exécutée : l'archive delta ne contient pas le workspace complet et ne modifie aucun code Rust.
|
||||
Reference in New Issue
Block a user