v0.0.3-pre.001

This commit is contained in:
2026-08-14 00:03:57 +02:00
parent 4032298589
commit 5a86808376
23 changed files with 1845 additions and 102 deletions

14
docs/plans/000-README.md Normal file
View 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.

View 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`.