v0.0.3-pre.001
This commit is contained in:
24
prompts/000-README.md
Normal file
24
prompts/000-README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
<!-- file: prompts/000-README.md -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# Prompts KSP
|
||||
|
||||
Ce répertoire contient les prompts de reprise structurés permettant d'ouvrir une nouvelle version ou une nouvelle session sans perdre les décisions, règles, contraintes et objectifs déjà établis.
|
||||
|
||||
Le préfixe `000-` maintient ce point d'entrée en première position dans les listings.
|
||||
|
||||
## Rôle
|
||||
|
||||
`prompts/` contient uniquement les prompts eux-mêmes et leur index pratique.
|
||||
|
||||
La structure normative, le cycle de vie et les règles de dimensionnement des prompts sont définis dans [`../docs/rules/PROMPT_STRUCTURE.md`](../docs/rules/PROMPT_STRUCTURE.md).
|
||||
|
||||
## Cycle pratique
|
||||
|
||||
Un prompt de prochaine grande phase est créé dès que sa direction devient suffisamment claire, puis maintenu comme brouillon vivant jusqu'à la clôture de la phase courante.
|
||||
|
||||
Le prompt `0.1.x` est commencé pendant `0.0.3`, mis à jour au fil des décisions, puis finalisé avant l'ouverture du développement fonctionnel.
|
||||
|
||||
## Documents
|
||||
|
||||
- [`001-V0_1_X_START_PROMPT.md`](001-V0_1_X_START_PROMPT.md) — brouillon vivant du prompt ouvrant le développement fonctionnel `0.1.x`.
|
||||
70
prompts/001-V0_1_X_START_PROMPT.md
Normal file
70
prompts/001-V0_1_X_START_PROMPT.md
Normal file
@@ -0,0 +1,70 @@
|
||||
<!-- file: prompts/001-V0_1_X_START_PROMPT.md -->
|
||||
<!-- version: 3 -->
|
||||
|
||||
# Prompt de démarrage KSP 0.1.x
|
||||
|
||||
**Status : Brouillon vivant — ne pas utiliser comme prompt final tant que `0.0.3` n'est pas clôturée.**
|
||||
|
||||
## Mission provisoire
|
||||
|
||||
Commencer le développement fonctionnel KSP sur les fondations N1 nécessaires au reste du projet, principalement :
|
||||
|
||||
- `ksp-core-lib` ;
|
||||
- `ksp-logging-lib` ;
|
||||
- `ksp-config-lib` ;
|
||||
- `ksp-app-config-desk`.
|
||||
|
||||
## Décisions déjà acquises
|
||||
|
||||
- Le développement fonctionnel commence en `0.1.x`.
|
||||
- Chaque delta est commité à partir de cette série.
|
||||
- Les bibliothèques d'implémentation réutilisables utilisent `ksp-<role>-lib`.
|
||||
- Les crates de contrats publics extensibles utilisent `ksp-<domain>-api`, sans suffixe `-lib`.
|
||||
- Une crate `*-api` n'est pas une implémentation directement destinée à être appelée par un exécutable.
|
||||
- Éviter un `ksp-api-lib` monolithique ; les APIs restent séparées par domaine.
|
||||
- `ksp-program-api`, `ksp-materializer-api` et `ksp-store-api` sont les premiers contrats d'extension prévus.
|
||||
- Les workers et jobs possèdent des APIs communes séparées : `ksp-worker-api` et `ksp-job-api`.
|
||||
- Les notifications de données restent indépendantes du worker/job producteur ; `ksp-store-api` est le propriétaire candidat des notifications de données persistées.
|
||||
- `ksp-store-lib` contient PostgreSQL comme implémentation de référence.
|
||||
- Les applications restent des interfaces/compositions au-dessus des composants KSP.
|
||||
- Les exécutables ne dépendent pas directement de crates Solana/protocoles externes.
|
||||
- `ksp-core-lib`, `ksp-config-lib`, `ksp-logging-lib` et `ksp-interface-lib` sont des fondations N1.
|
||||
- `ksp-core-lib` doit posséder les Program IDs fondamentaux et un type d'erreur public commun.
|
||||
- Les règles fines de nommage des items publics/arborescence seront définies à partir des premières APIs réelles.
|
||||
- Les prereleases intermédiaires sont planifiées comme des tranches bornées d'environ 15–20 minutes maximum de travail effectif estimé.
|
||||
- Si le plan complet de `0.1.x` risque de saturer une seule session, il doit être réparti sur plusieurs sessions et/ou versions avant développement.
|
||||
|
||||
## Objectifs provisoires
|
||||
|
||||
1. Stabiliser le premier contrat utile de `ksp-core-lib`.
|
||||
2. Définir le modèle commun `Error` sans rendre N1 dépendant des domaines supérieurs.
|
||||
3. Intégrer les Program IDs fondamentaux dans `ksp-core-lib`.
|
||||
4. Créer `ksp-logging-lib`.
|
||||
5. Créer `ksp-config-lib`.
|
||||
6. Créer `ksp-app-config-desk` comme interface de manipulation de la configuration.
|
||||
7. Ajouter les règles API/naming/arborescence rendues nécessaires par les premiers vrais contrats.
|
||||
8. Préparer uniquement les contrats minimaux requis pour `0.2.x` lorsque leur définition précoce est utile.
|
||||
|
||||
## Hors périmètre provisoire
|
||||
|
||||
- implémentation réelle de `ksp-program-api` / `ksp-program-lib` au-delà des contrats strictement nécessaires ;
|
||||
- implémentation complète de `ksp-interface-lib` ;
|
||||
- wallet ;
|
||||
- transport on-chain ;
|
||||
- storage/materializers ;
|
||||
- workers/jobs ;
|
||||
- protocoles trading ;
|
||||
- Trading Intelligence.
|
||||
|
||||
## Validations attendues
|
||||
|
||||
Au minimum, lorsque du code Rust est introduit :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo test --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
```
|
||||
|
||||
Aucune validation non exécutée ne doit être déclarée réussie.
|
||||
Reference in New Issue
Block a user