# 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--lib`. - Les crates de contrats publics extensibles utilisent `ksp--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`.