12 KiB
12 KiB
Roadmap KSP
Le roadmap décrit les objectifs à atteindre et les grandes étapes prévues. Une série X.Y.x regroupe une famille fonctionnelle ; chaque release concrète reste une unité de développement/session distincte.
Légende
[ ]— prévu / non commencé ;[/]— en cours ;[X]— réalisé et validé ;[C]— annulé ;[R]— reporté.
Discipline de livraison
- Une prerelease vise environ 15 à 20 minutes de travail effectif.
- Une release concrète doit être dimensionnée pour pouvoir être ouverte et clôturée dans une seule session de chat.
- Cette règle fixe une durée maximale par release, pas une obligation de changer de session après chaque release : si une release est clôturée plus vite que prévu, la même session peut ouvrir puis clôturer la release suivante si son propre sizing reste positif et si toutes les frontières version/delta/validation sont conservées.
- Si
pre.001révèle qu'une release est trop grosse, elle est scindée avant implémentation fonctionnelle lourde. - À partir des couches Program/Decode, KSP progresse verticalement groupe par groupe plutôt que par grandes vagues horizontales de decoders/materializers/executors séparés.
0.0.x — Fondation
0.0.1— Initialiser le dépôt.0.0.2— Installer le squelette minimal et les règles initiales.0.0.3— Définir domaines, composants, dépendances, contrats, workers/jobs/scénarios/apps et plan global.- Sélectionner
0.1.1comme première release fonctionnelle et produire son prompt quasi-final. - Clôturer la fondation avec documentation, validations et prompt final ; release stable
0.0.3validée.
0.1.x — Fondations N1
0.1.1—ksp-core-lib: Error/Result, Program IDs fondamentaux et primitives N1.0.1.2—ksp-logging-lib: façade KSP de tracing.0.1.3—ksp-config-lib: documents, profils, environnement, persistence et adapters.0.1.4—ksp-app-config-desk: première application Tauri de référence.
0.2.x — Accès Solana, Wallet et contrats d'extension initiaux
Cadrage
0.2.0— Audit bot3, ordre fonctionnel de0.2.x, architecture durable, discipline de sizing et pipeline RAW/CORE/DECODE/SPECIALIZED stabilisés.0.2.1— HTTP foundation stable : matrice 52+14, runtime/routing/résilience/exécution HTTP, 4 canaris typés,std.transport, adapter Config -> Transport, canaries de clôture, smoke Devnet opt-in et documentation durable validés ; les 48 wrappers typés restants sont reportés à0.2.2–0.2.4.
Releases fonctionnelles décidées/pressenties
0.2.1— HTTP transport foundation réduite par le gatepre.001: crate/settings/JSON-RPC/registry 52 current + 14 deprecated historiques, pool/rôles/limites/retry, Config adapter, documentation et 4 méthodes typées canari (getBalance,getGenesisHash,getHealth,getVersion) publiés stables.0.2.2— HTTP Accounts + Tokens + Cluster : 22 wrappers typés (5 Accounts + 5 Tokens + 12 Cluster), canaries de complétude 52+14, smoke Devnet Transport pur et smoke historique Config -> Transport validés, documentation durable et prompt0.2.3publiés stables.0.2.3— HTTP Transactions stable : 11/11 wrappers typés publiés, classification8 Read / 2 WriteSubmission / 1 Simulation, no-resend ambigu prouvé pour les write submissions,KSP-TRANSPORT-007réaudité conforme sur les 37 wrappers HTTP courants, graphes Cargo et deux smokes Devnet validés ;0.2.4reprend les 15 Blocks/Economics restants.0.2.4— HTTP Blocks + Economics stable : 15/15 wrappersV0_2_4publiés, surface typed complète à 52/52 méthodes courantes, 14/14 historiques conservées, réaudit SIMD/inventaire final etKSP-TRANSPORT-007global validés ; deux smokes Devnet passés avant publication.0.2.5— Wallet foundation stable :.kspwalletV1, VIEW/OWNER indépendants, Argon2id/XChaCha20-Poly1305, autorité Ed25519 OWNER, persistence no-clobber, signature, administration/rotations/révocation VIEW forte, import/export Solana CLI JSON + Base58, canaris adversariaux, interop externe et documentation durable publiés. La clôturepre.010-fix.001–fix.003ajouteed25519-dalek 3.0.0direct, normalise le Rust workspace et installe l’audit structurel Python complémentaire à rustfmt/Clippy.Pubkeyreste viaksp-core-lib, la keypair reste encapsulée dans Wallet et Config/Transport/ExecutionPolicy/Store/Tauri restent hors Wallet.0.2.6— Introduireksp-app-wallet-deskutilisant Config composite + Wallet + transport HTTP.pre.001fixe le sizing et le gabarit ;pre.002matérialise la crate Tauri et son shell splash/main avec Config + Logging bootstrap, ports1432/1433, Bootstrap, Font Awesome, DataTables/Select, SimpleBar, resize-observer-polyfill, TS-RS et bridge frontend Logging.pre.003matérialisecfg.std.wallet/schema.std.wallet, le compositecfg.composite.ksp-app-wallet-desk,ResolvedWalletConfig,wallets_directoryglobal +wallets_subdirectorypar profil et la préparation automatique des répertoires côté application avec logs debug/error.pre.003-fix.001corrige les canaris Config révélés par les tests workspace, rend le composite explicite sur un profil Loggingwallet_desk_devet active la visibilité trace des interactions frontend Wallet Desk sans exposer les valeurs de contrôles. Les tranches suivantes ajoutent inventory, lifecycle VIEW/OWNER, secretsKSP_SECRET_WALLET_PASS_*, identité autorisée +getBalance, puis administration/import/export, avec une dernière tranche prévue pour README/USAGE/docs/validation, prompt0.2.7et build Tauri final.0.2.7— Étendreksp-onchain-transport-libau WebSocket Solana standard complet ; permettre plusieurs sessions sur une même URL sans imposer encore un pool automatique complexe.0.2.8— Ajouter Helius LaserStream WebSocket comme extension du moteur WebSocket standard, sans duplication de client.0.2.9— Ajouter une première fondation Yellowstone gRPC standard/provider-neutral ; dimensionner la surface exacte àpre.001selon la documentation normative actuelle.0.2.10— Introduireksp-offchain-transport-libavec un premier lecteur de prix, au minimum SOL/USD et SOL/EUR.0.2.11— Introduire une petite application desk de visualisation/validation des prix offchain, puis intégrer cette capacité dansksp-app-wallet-desksans dupliquer la logique de récupération/normalisation possédée par le composant spécialisé.0.2.12— Introduire la première surface deksp-interface-lib, comprenant une API wire publique utilisable par les implémentations officielles et externes.0.2.13— Introduireksp-program-apicomme premier contrat Program extensible, sans imposer encoreksp-program-libcomplet.
Règles Transport pour toute la série
- Couvrir toutes les méthodes/opérations documentées pour la surface normative ciblée par chaque release.
- Conserver les méthodes deprecated/obsolete encore fonctionnelles et émettre un
warnKSP lors de leur utilisation. - Implémenter les méthodes unstable/experimental ciblées et émettre un
warnKSP lors de leur utilisation. - Centraliser la metadata de statut des méthodes plutôt que disperser des warnings ad hoc.
- Garder
ksp-onchain-transport-libindépendant deksp-config-lib, du Store et des modèles Program/métier.
Architecture de données — progression canonique
La chaîne durable cible est :
RAW -> CORE -> DECODE -> SPECIALIZED
- RAW et CORE ne nécessitent aucun décodage Program.
- À la fin de chaque couche horizontale RAW/CORE, ajouter les jobs/workers/apps nécessaires pour la rendre réellement exploitable avant d'ouvrir la couche suivante.
- À partir de DECODE, avancer verticalement groupe par groupe : wire -> decode -> matérialisation -> projection spécialisée si utile -> préparation d'exécution -> policy -> execution -> scénarios Devnet.
0.3.x — RAW / acquisition persistée
0.3.1— Introduireksp-store-api+ksp-store-libavec PostgreSQL de référence et modèles/persistence RAW uniquement.0.3.2— Étendreksp-interface-libavec les wires génériques nécessaires aux acquisitions et à la future normalisation CORE.0.3.3— Introduireksp-job-apiet un job de backfill historique concret.0.3.4— Introduire une application spécialisée de backfill/inspection RAW.- Compléter ensuite la couche RAW avec le worker/service live, son contrôle et les outils d'exploitation réellement nécessaires avant de passer à CORE.
Série CORE suivante
- Définir la persistence CORE canonique Solana générique.
- Implémenter
RAW -> COREsans decoder Program : blocs, slots, signatures, transactions/messages, comptes, instructions/CPI brutes, logs/meta et relations structurelles. - Ajouter replay/backfill RAW -> CORE.
- Ajouter worker/service CORE.
- Ajouter l'application de contrôle/inspection CORE utile.
Séries DECODE/SPECIALIZED/EXECUTION — progression verticale
Priorité 1 — Solana Core Programs
- Wire/decoding des programmes Core nécessaires transversalement.
- Matérialisation et projections utiles.
- Préparation d'exécution, policy et scénarios Devnet pour les opérations retenues.
Priorité 2 — SPL token/trading
- SPL Token.
- Associated Token Account.
- Token-2022 et extensions pertinentes.
- Pour chaque famille : decode -> materialize -> specialized -> prepare -> policy -> execute -> scenarios.
Priorité 3 — Metadata token
- Metaplex Token Metadata.
- Token-2022 Metadata.
- [R] Solana Program Metadata (SPM) — redéveloppement plus tard avec le décodage généraliste.
Priorité 4 — Anchor
- Introduire les contrats et mécanismes Anchor nécessaires aux protocoles trading suivants.
Priorité 5 — DEX à fort intérêt
- Meteora, y compris vaults/fees/positions/états auxiliaires nécessaires à son groupe.
- Raydium, y compris programmes satellites nécessaires.
- Pump, y compris fee program et composants launch/bonding/pool nécessaires.
- Orca, y compris programmes satellites nécessaires.
- Chaque groupe est terminé verticalement avant de devenir secondaire au profit du suivant.
Market Desk V1
- Après les premiers groupes Meteora/Raydium/Pump/Orca, introduire une petite
ksp-app-market-deskspécialisée. - Visualiser tokens, pools/markets, liquidité, swaps/trades, prix, volumes, OHLC/candles et activité live/récente lorsque disponible.
- Lire les projections SPECIALIZED KSP ; ne pas reconstruire la logique protocolaire dans l'UI.
Routing
- Jupiter.
- OKX et autres routeurs selon besoin réel.
- Enrichir Market Desk avec routes, legs, DEX impliqués, fees/slippage et comparaison quote/execution lorsque disponible.
Trading-adjacent puis décodage généraliste
- Ajouter ensuite les programmes indépendants utiles au trading : oracles, locks/vesting indépendants, lifecycle token, risk/signaux, etc.
- Ne jamais y repousser un satellite appartenant à un groupe DEX déjà ciblé.
- Étendre enfin le décodage au reste de Solana selon valeur fonctionnelle.
Trading Intelligence et produits ultérieurs
- Statistiques/features/datasets historiques.
- Signaux, risque, anomalies et patterns.
- Replay analytique/backtests.
- XGBoost puis autres modèles lorsque les données et contrats sont stables.
- Construire ensuite les produits de trading opérationnel au-dessus de ces couches.
- Faire évoluer Market Desk vers davantage d'analyse sans la confondre avec l'application globale ou l'orchestrateur.
- Étudier plus tard les autres applications Wallet : mobile, extensions navigateur et web.