# Carte des crates ## 1. Inventaire | Crate | Type | Responsabilité principale | État documentaire | |------------------------------|------------------------|--------------------------------------------------------------------|------------------------------------| | `kb-core` | bibliothèque | erreurs, résultat et identité de module partagés | contrat par crate à créer | | `kb-config` | bibliothèque | configuration JSON, environnement, validation et profils | contrat par crate à créer | | `kb-lib` | bibliothèque | modèles, décodeurs, exécuteurs et matérialisateurs consolidés | contrat par crate à créer | | `kb-logging` | bibliothèque | initialisation du logging et du tracing | contrat par crate à créer | | `kb-program-ids` | bibliothèque | registre des programmes et comptes Solana connus | contrat par crate à créer | | `kb-pipeline` | bibliothèque | backfill, extraction, replay, stateful, préflight et orchestration | contrat par crate à créer | | `kb-pipeline-demo-scenarios` | bibliothèque + binaire | scénarios Devnet réutilisables et CLI | contrat par crate à créer | | `kb-onchain-transport` | bibliothèque | transports RPC HTTP/WebSocket et pools d’endpoints | contrat par crate à créer | | `kb-store` | bibliothèque | contrats de stockage et adaptateur PostgreSQL | contrat par crate à créer | | `kb-wallet` | bibliothèque | wallet temporaire et frontière de signataire | ébauche à documenter explicitement | | `kb-app-demo-desktop` | bibliothèque + binaire | application de démonstration Tauri | contrat par crate à créer | ## 2. Consolidations principales depuis bot2 La migration a regroupé de nombreuses anciennes crates dans des frontières plus larges : - les modèles et APIs de décodage, matérialisation et exécution ont rejoint `kb-lib` ; - les implémentations de stockage core et PostgreSQL ont rejoint `kb-store` ; - les responsabilités de pipeline ont été réunies dans `kb-pipeline` ; - les transports Solana sont réunis dans `kb-onchain-transport` ; - l’application et sa bibliothèque sont réunies dans `kb-app-demo-desktop` ; - les scénarios réutilisables ont été extraits dans `kb-pipeline-demo-scenarios`. Cette carte n’est pas une table de compatibilité exhaustive des anciennes crates. Les correspondances historiques détaillées seront synthétisées dans la documentation de migration et l’audit d’alignement. ## 3. Crates mixtes ### 3.1 `kb-pipeline-demo-scenarios` - bibliothèque Rust : `kb_pipeline_demo_scenarios` ; - binaire : `kb-pipeline-demo-scenarios-cli` ; - `autobins = false` évite une cible implicite concurrente. ### 3.2 `kb-app-demo-desktop` - bibliothèque Rust : `kb_app_demo_desktop_lib` ; - binaire : `kb-app-demo-desktop` ; - le package reste volontairement unique. ## 4. Relations documentaires Chaque crate devra disposer de `README.md`, `TODO.md`, `USAGE.md` et `CHANGELOG.md`. Les documents transversaux présents dans `docs/architecture/` évitent de répéter l’architecture complète dans chaque README.