5.0 KiB
5.0 KiB
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-libmonolithique. - Couples API/implémentation retenus : program, materializer, store.
ksp-store-libcontient PostgreSQL comme implémentation de référence deksp-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-apiest le propriétaire candidat des notifications de données persistées. ksp-worker-control-libest le candidat pour une implémentation commune de contrôle des workers uniquement.- Aucun
ksp-pipeline-libmonolithique ; pipelines séparés à la demande. - Aucun
ksp-scenarios-libmonolithique ; 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/*-libré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-apietksp-job-api.
pre.004 — Programmes, décodage et exécution
- détailler
ksp-program-apietksp-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-apiet ses notifications de données ; - détailler
ksp-job-apiet 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.