Files
khadhroony-solana-project/deltas/0.0.3/pre.001-fix.004.md
2026-08-14 00:03:57 +02:00

125 lines
3.3 KiB
Markdown

<!-- file: deltas/0.0.3/pre.001-fix.004.md -->
<!-- version: 1 -->
# Delta 0.0.3-pre.001-fix.004
## Base requise
`0.0.3-pre.001-fix.003`.
## Objectif
Formaliser les dernières décisions de nomenclature et d'extensibilité :
- utiliser `ksp-<domain>-api` plutôt que `ksp-<domain>-api-lib` ;
- séparer contrats publics et implémentations officielles ;
- séparer strictement APIs workers et jobs ;
- retenir `ksp-job-backfill` pour l'acquisition historique à la demande ;
- normaliser les notifications de données indépendamment du producteur ;
- confirmer PostgreSQL comme implémentation de référence dans `ksp-store-lib` ;
- confirmer l'absence de pipeline/scenario monolithique ;
- confirmer Trading Intelligence avant la couche/application de trading opérationnelle.
## Version Cargo
Aucune modification de `Cargo.toml`.
Ce correctif est exclusivement documentaire. `workspace.package.version` reste :
```text
0.0.3-pre.1
```
## Fichiers ajoutés
- `deltas/0.0.3/pre.001-fix.004.md`
## Fichiers modifiés
- `README.md`
- `ROADMAP.md`
- `docs/architecture/003-COMPONENT_CONTRACTS.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.
## Décisions ajoutées
### Nomenclature des APIs
Les crates de contrats publics extensibles utilisent :
```text
ksp-<domain>-api
```
Elles restent techniquement des bibliothèques Rust mais n'utilisent pas le suffixe `-lib`, réservé par défaut aux bibliothèques d'implémentation.
Premiers couples :
```text
ksp-program-api / ksp-program-lib
ksp-materializer-api / ksp-materializer-lib
ksp-store-api / ksp-store-lib
```
Un unique `ksp-api-lib` monolithique est rejeté.
### Store
`ksp-store-api` porte les contrats backend-agnostic.
`ksp-store-lib` contient PostgreSQL comme implémentation officielle de référence.
### Workers et jobs
Les contrats communs sont strictement séparés :
```text
ksp-worker-api
ksp-job-api
```
Aucune API universelle worker+job n'est prévue.
`ksp-worker-control-lib` reste candidat pour l'implémentation de contrôle des workers uniquement.
`ksp-job-backfill` est retenu comme candidat du backfill historique à la demande.
D'autres jobs pourront apparaître pour metadata, quotes ou autres travaux ponctuels.
### Notifications de données
Une notification de donnée décrit la donnée disponible, pas son producteur.
Le même type de donnée utilise le même contrat de notification qu'il provienne d'un worker, d'un job ou d'une autre source.
`ksp-store-api` est le propriétaire candidat de ces contrats lorsque la notification concerne une donnée persistée.
Le contrat de notification reste séparé du mécanisme de transport.
### Pipelines
Pas de `ksp-pipeline-lib` monolithique. Les pipelines sont introduits séparément à la demande avec un périmètre concret.
### Scénarios
Pas de `ksp-scenarios-lib` monolithique. Les scénarios sont séparés en crates `ksp-scenario-<domain>-lib`.
### Trading
Trading Intelligence est introduit avant la couche/application de trading opérationnelle.
## Validations
Correctif documentaire uniquement :
- présence des en-têtes `file:` / `version:` vérifiée lors de la génération ;
- aucune commande Cargo requise ;
- aucune modification fonctionnelle ou runtime.