# Prompt de reprise — clôture migration `khadhroony-bot3` ## 1. Mission Poursuivre et clôturer la migration de `khadhroony-bot2` vers `khadhroony-bot3`. Objectif fonctionnel intermédiaire : - revenir d’abord à un niveau de couverture équivalent à `0.4.6` de Bot2 ; - terminer ensuite le travail Metaplex Token Metadata commencé mais non achevé dans `0.4.7` de Bot2 ; - seulement après cela, finaliser Clippy/Tauri, la documentation et le passage de Bot3 à `0.4.7`. Ne pas déclarer la migration terminée avant validation complète des critères de clôture. --- ## 2. Revalidation initiale obligatoire des règles Avant toute modification de code : 1. relire intégralement : - `RULES.md` - `docs/rules/RULES_GENERAL.md` - `docs/rules/RULES_RUST.md` - `docs/rules/RULES_SPECIFIC_KHADHROONY.md` - `README.md` - `ROADMAP.md` - `CHANGELOG.md` - le présent prompt ; 2. comparer les règles Bot2 encore applicables avec les règles Bot3 ; 3. vérifier qu’aucune règle de migration récente n’est absente ou contradictoire ; 4. vérifier en particulier : - conventions de noms ; - façades `kb-lib` et `kb-store` ; - ordre des imports et réexports ; - interdiction de `unsafe`, `unwrap`, `expect`, `panic`, `anyhow`, `thiserror` ; - règles Tauri ; - conventions TS-RS ; - conventions de logging ; - règles d’archives delta ; - politique de versionnement ; 5. corriger les documents de règles avant le code si une divergence est détectée ; 6. lancer immédiatement : ```bash cargo fmt --all python3 scripts/audit_rust_workspace_rules.py ``` L’objectif est d’éviter de refaire plusieurs fois les mêmes corrections structurelles plus tard. --- ## 3. Architecture consolidée Crates principales : ```text kb-config kb-core kb-lib kb-logging kb-onchain-transport kb-pipeline kb-pipeline-demo-scenarios kb-program-ids kb-store kb-wallet kb-app-demo-desktop ``` Règles : - `kb-store` remplace `kb_store_core` et `kb_store_pg`. - Modèles, décodeurs, matérialiseurs et exécuteurs sont sous `kb-lib`. - Les modules Rust Token-2022 utilisent `token2022`, jamais `token_2022`. - Les variables externes historiques comme `TOKEN_2022_*` peuvent rester si elles constituent un contrat opératoire. - Les fenêtres dynamiques vont dans `capabilities/default.json` et `vite.config.ts`. - Elles ne vont pas dans `tauri.conf.json`, sauf `splash` et `main`. - Toutes les fenêtres doivent avoir la permission de logging/tracing. - Livrer des ZIP delta, sans `Cargo.lock` ni SHA256. - Les correctifs utilisent `delta-fix-XXX`, avec reprise à `fix-001` pour chaque prerelease. --- ## 4. État déjà atteint Fenêtres migrées / non testées completement : - splash ; - main ; - configuration ; - HTTP JSON-RPC ; - WebSocket ; - backfill HTTP ; - SQL diagnostics ; - PostgreSQL raw ; - PostgreSQL core ; - SQL replay candidates ; - extraction core ; - decode replay / matérialisation ; - exécution Solana Core ; - exécution SPL ; - SPL ATA ; - SPL Token classique ; - SPL Token-2022. Dépendances déjà présentes : ```text kb-lib kb-program-ids kb-pipeline-demo-scenarios kb-store kb-wallet ``` Le `.env` est désormais chargé par `kb-config`. Ordre de résolution attendu : 1. environnement du processus ; 2. fichier indiqué par `KB_ENV_FILE` ; 3. sinon `.env` à la racine du workspace ; 4. fallback `${VARIABLE:-valeur}` ; 5. absence non fatale pour les services optionnels jusqu’à leur utilisation. `HELIUS_API_KEY` fonctionne depuis `.env`. Décodeur Metaplex enregistré sous : ```text metadata_metaplex_token_metadata ``` Program ID : ```text metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s ``` L’IDL Metaplex Token Metadata est déjà présent dans `idl`. Ne pas le retélécharger. --- ## 5. Contrôles rapides et prise en main du code ### 5.1 Audit TS-RS Auditer uniquement les `.rs` : ```bash find kb-config kb-lib kb-app-demo-desktop -type f -name '*.rs' -print0 | xargs -0 grep -n 'export_to' ``` Chemins attendus : ```text ../frontend/ts/bindings/kb_config/... ../frontend/ts/bindings/kb_lib/... ../frontend/ts/bindings/kb_app_demo_desktop/... ``` Supprimer les chemins historiques : ```text kb_executor_* kb_decoder_* kb_materializer_* kb_model kb_store_pg kb_store_core kb_lib_executor_* kb_executor_spl_token_2022 ``` Vérifier que les tests TS-RS régénèrent les fichiers attendus. ### 5.2 Audit des anciens chemins Bot2 ```bash find kb-app-demo-desktop -type f -name '*.rs' -print0 | xargs -0 grep -nE 'kb_store_pg|kb_store_core|kb_model|kb_decoder_|kb_materializer_|kb_executor_|token_2022' ``` Toute occurrence doit être justifiée ou supprimée. ### 5.3 Audit rapide HTML Copier/Effacer ```bash find kb-app-demo-desktop/frontend -type f -name '*.html' -print0 | xargs -0 grep -nE 'Copier|Effacer' ``` Vérifier : - exactement un bouton Copier ; - exactement un bouton Effacer ; - aucun doublon entre HTML statique et helper TypeScript ; - journaux globaux hors accordéon. ### 5.4 Menu principal Ordre attendu : 1. Configuration 2. Transport et collecte 3. Pipeline 4. SQL 5. Exécution Vérifier labels, séparateurs, entrées mortes et fenêtres oubliées. --- ## 6. Corrections UI rapides ### `demo_http` Le bloc `Résultat` ne doit pas utiliser `@andypf/json-viewer`. À faire : - remettre un `