54 lines
4.2 KiB
Markdown
54 lines
4.2 KiB
Markdown
<!-- file: docs/architecture/CRATE_MAP.md -->
|
||
<!-- version: 3 -->
|
||
|
||
# Carte des crates
|
||
|
||
## 1. Inventaire
|
||
|
||
| Crate | Type | Responsabilité principale | État documentaire |
|
||
|------------------------------|------------------------|--------------------------------------------------------------------|------------------------------------------|
|
||
| `kb-core` | bibliothèque | erreurs, résultat et identité de module partagés | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-config` | bibliothèque | configuration JSON, environnement, validation et profils | migration/restructuration en `0.5.1` |
|
||
| `kb-lib` | bibliothèque | modèles, décodeurs, exécuteurs et matérialisateurs consolidés | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-logging` | bibliothèque | initialisation du logging et du tracing | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-program-ids` | bibliothèque | registre des programmes et comptes Solana connus | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-pipeline` | bibliothèque | backfill, extraction, replay, stateful, préflight et orchestration | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-pipeline-demo-scenarios` | bibliothèque + binaire | scénarios Devnet réutilisables et CLI | renommage `0.5.1`, audit `0.5.4` |
|
||
| `kb-onchain-transport` | bibliothèque | transports RPC HTTP/WebSocket et pools d’endpoints | README/TODO/USAGE/CHANGELOG présents |
|
||
| `kb-store` | bibliothèque | contrats de stockage et adaptateur PostgreSQL | renommage `0.5.1`, normalisation `0.5.3` |
|
||
| `kb-wallet` | bibliothèque | wallet temporaire et frontière de signataire | renommage `0.5.1`, refonte `0.5.2` |
|
||
| `kb-app-demo-desktop` | bibliothèque + binaire | application de démonstration Tauri | documentée ; réconciliation en `0.5.4` |
|
||
|
||
La table décrit les noms physiques du workspace `0.5.0`. La migration `0.5.1` renomme les dix crates généralistes en `ks-core`, `ks-config`, `ks-lib`, `ks-logging`, `ks-program-ids`, `ks-pipeline`, `ks-pipeline-demo-scenarios`, `ks-onchain-transport`, `ks-store` et `ks-wallet`. `kb-app-demo-desktop` conserve son nom parce qu’il appartient au domaine applicatif Bot. Voir [`../decisions/KHADHROONY_SOLANA_NAMESPACE_POLICY.md`](../decisions/KHADHROONY_SOLANA_NAMESPACE_POLICY.md).
|
||
|
||
## 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 dispose 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.
|