v0.0.3-pre.001
This commit is contained in:
14
docs/plans/000-README.md
Normal file
14
docs/plans/000-README.md
Normal file
@@ -0,0 +1,14 @@
|
||||
<!-- file: docs/plans/000-README.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Plans KSP
|
||||
|
||||
Ce répertoire contient les plans actifs ou historiques des versions et phases de travail KSP.
|
||||
|
||||
Un plan décrit le périmètre, les décisions déjà acquises, les questions ouvertes, les validations attendues et la prévision souple des prereleases. Il ne remplace pas le `ROADMAP.md`, qui reste global, ni les deltas qui enregistrent le travail réellement livré.
|
||||
|
||||
## Plan actif
|
||||
|
||||
- [`001-V0_0_3_PLAN.md`](001-V0_0_3_PLAN.md) — plan de la phase de brainstorming et planification `0.0.3`.
|
||||
|
||||
Le préfixe numérique sert ici à maintenir le plan actif prioritaire après `000-README.md`. Lorsqu'un autre ordre devient préférable, la convention documentaire permet de le réorganiser explicitement.
|
||||
101
docs/plans/001-V0_0_3_PLAN.md
Normal file
101
docs/plans/001-V0_0_3_PLAN.md
Normal file
@@ -0,0 +1,101 @@
|
||||
<!-- file: docs/plans/001-V0_0_3_PLAN.md -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# Plan KSP 0.0.3
|
||||
|
||||
## Mission
|
||||
|
||||
Poursuivre la phase fondatrice sans développement fonctionnel afin de transformer le brainstorming KSP en architecture, règles, nomenclature et plan de développement suffisamment précis pour ouvrir `0.1.x`.
|
||||
|
||||
## Décisions structurantes acquises
|
||||
|
||||
- Les bibliothèques d'implémentation utilisent `ksp-<role>-lib`.
|
||||
- Les crates de contrats publics extensibles utilisent `ksp-<domain>-api`, sans suffixe `-lib`.
|
||||
- Éviter un `ksp-api-lib` monolithique.
|
||||
- Couples API/implémentation retenus : program, materializer, store.
|
||||
- `ksp-store-lib` contient PostgreSQL comme implémentation de référence de `ksp-store-api`.
|
||||
- Les workers continus utilisent `ksp-worker-api`.
|
||||
- Les jobs à la demande utilisent `ksp-job-api`.
|
||||
- Workers et jobs ne partagent pas une abstraction de lifecycle commune.
|
||||
- W1 est strictement raw live/quasi-live et ne fait pas de backfill.
|
||||
- Le backfill historique est un job séparé, candidat `ksp-job-backfill`.
|
||||
- D'autres jobs pourront exister pour metadata, quotes et autres tâches ponctuelles.
|
||||
- Les notifications de données sont normalisées indépendamment de leur producteur ; `ksp-store-api` est le propriétaire candidat des notifications de données persistées.
|
||||
- `ksp-worker-control-lib` est le candidat pour une implémentation commune de contrôle des workers uniquement.
|
||||
- Aucun `ksp-pipeline-lib` monolithique ; pipelines séparés à la demande.
|
||||
- Aucun `ksp-scenarios-lib` monolithique ; scénarios séparés par crates de domaine.
|
||||
- Trading Intelligence précède la couche/application de trading opérationnelle.
|
||||
|
||||
## Ligne directrice du développement fonctionnel
|
||||
|
||||
- `0.1.x` — `ksp-core-lib`, `ksp-logging-lib`, `ksp-config-lib`, `ksp-app-config-desk`.
|
||||
- `0.2.x` — `ksp-onchain-transport-lib`, wallet, `ksp-interface-lib`, `ksp-program-api`, `ksp-program-lib`.
|
||||
- `0.3.x` — `ksp-materializer-api`, `ksp-materializer-lib`, `ksp-store-api`, `ksp-store-lib`, W1, `ksp-worker-api`, `ksp-job-api`, backfill.
|
||||
- `0.4.x` — premières surfaces Core/SPL/metadata, matérialisations, off-chain transport selon besoin, jobs/scénarios/demos spécialisés.
|
||||
- `0.5.x` — Anchor puis protocoles trading par releases bornées.
|
||||
- `0.6.x` — W2, contrôle workers, managers, orchestrateur et application globale.
|
||||
- `0.7.x` — Trading Intelligence.
|
||||
- `0.8.x+` — couche/application trading, extension continue, explorer Solana et explorer/analyse DEX.
|
||||
|
||||
## Prévision souple des prereleases 0.0.3
|
||||
|
||||
### `pre.001` — Base de planification
|
||||
|
||||
Considérée stabilisée après les fixes de cadrage.
|
||||
|
||||
### `pre.002` — Domaines et crates candidates
|
||||
|
||||
- inventorier les domaines fonctionnels ;
|
||||
- fixer les couples `*-api` / `*-lib` réellement justifiés ;
|
||||
- définir workers vs jobs ;
|
||||
- définir les responsabilités des notifications de données ;
|
||||
- inventorier les scénarios/pipelines spécialisés ;
|
||||
- définir pour chaque crate candidate responsabilité, niveau, entrées/sorties et consommateurs ;
|
||||
- mettre à jour le brouillon de prompt `0.1.x`.
|
||||
|
||||
### `pre.003` — Graphe de dépendances
|
||||
|
||||
- construire le graphe de dépendances autorisées/interdites ;
|
||||
- identifier les propriétaires des dépendances Solana externes ;
|
||||
- vérifier les risques de cycles ;
|
||||
- positionner précisément les crates `*-api` ;
|
||||
- préciser les dépendances autorisées de `ksp-program-api`, `ksp-materializer-api`, `ksp-store-api`, `ksp-worker-api` et `ksp-job-api`.
|
||||
|
||||
### `pre.004` — Programmes, décodage et exécution
|
||||
|
||||
- détailler `ksp-program-api` et `ksp-program-lib` ;
|
||||
- définir les interfaces wire et leur source de vérité ;
|
||||
- cadrer les tests de conformité ;
|
||||
- définir le niveau supérieur propriétaire de la sécurité d'exécution ;
|
||||
- traiter Metaplex/ElGamal comme exemples architecturaux sans développement fonctionnel.
|
||||
|
||||
### `pre.005` — Données, storage et acquisitions
|
||||
|
||||
- détailler `ksp-materializer-api` / `ksp-materializer-lib` ;
|
||||
- détailler `ksp-store-api` / `ksp-store-lib` ;
|
||||
- finaliser W1, `ksp-worker-api` et ses notifications de données ;
|
||||
- détailler `ksp-job-api` et le backfill ;
|
||||
- cadrer W2 sans l'implémenter ;
|
||||
- définir les frontières backend et replay/reconstruction.
|
||||
|
||||
### `pre.006` — Applications, workers, jobs, demos et scénarios
|
||||
|
||||
- formaliser config/store/wallet apps ;
|
||||
- finaliser la nomenclature réseau/environnement ;
|
||||
- détailler les crates de scénarios spécialisées ;
|
||||
- détailler managers workers/jobs et trajectoire vers l'orchestrateur ;
|
||||
- inventorier les pipelines spécialisés nécessaires sans crate pipeline monolithique.
|
||||
|
||||
### `pre.007` — Plan de développement et contrôle de charge
|
||||
|
||||
- affiner le roadmap fonctionnel `0.1.x+` ;
|
||||
- détailler le premier plan `0.1.x` ;
|
||||
- transformer le brouillon de prompt en quasi-version finale ;
|
||||
- vérifier et redécouper la charge de la session suivante si nécessaire.
|
||||
|
||||
### `pre.008` — Clôture fondatrice
|
||||
|
||||
- vérifier la cohérence règles/architecture/plans ;
|
||||
- mettre à jour la documentation finale ;
|
||||
- nettoyer/archiver les éléments temporaires ;
|
||||
- finaliser le prompt de reprise `0.1.x`.
|
||||
Reference in New Issue
Block a user