4.4 KiB
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 :
0.0.3-pre.2
à :
0.0.3-pre.3
Le header de Cargo.toml passe de version 8 à 9.
Fichiers ajoutés
docs/architecture/005-DEPENDENCY_GRAPH.mddeltas/0.0.3/pre.003.md
Fichiers modifiés
Cargo.tomlROADMAP.mddocs/architecture/000-README.mddocs/architecture/003-COMPONENT_CONTRACTS.mddocs/architecture/004-COMPONENT_INVENTORY.mddocs/rules/RULES_DEPENDENCIES.mddocs/rules/RULES_KSP.mddocs/IDEAS.mddocs/plans/001-V0_0_3_PLAN.mdprompts/001-V0_1_X_START_PROMPT.md
Fichiers supprimés
Aucun.
Corrections du roadmap
La ligne :
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
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 :
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
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.tomlparsé avec succès et version vérifiée à0.0.3-pre.3;- références internes vers
005-DEPENDENCY_GRAPH.mdvé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.