v0.1.0-pre.060

This commit is contained in:
2026-07-27 15:13:11 +02:00
parent 626385f9b6
commit c7bad46f50
12 changed files with 124 additions and 63 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: KHADHROONY_BOT3_MIGRATION_CLOSURE_TODO.md -->
<!-- version: 8 -->
<!-- version: 9 -->
# Checklist détaillée de clôture de la migration `khadhroony-bot3`
@@ -105,15 +105,16 @@
- [x] Garder Program ID librement éditable.
- [x] Ajouter un autocomplétion non bloquant depuis le registre public `kb-program-ids`.
- [ ] Ajouter le même autocomplétion Program ID au filtre « programme déjà indexé » dExtraction core.
- [ ] Ajouter ultérieurement les autocomplétions Token et Pool lorsque leurs tables de référence existeront.
### 2.4 Journaux généraux et viewers
- [x] Vérifier Backfill HTTP en runtime.
- [ ] Vérifier Extraction core en runtime après correction du gabarit pleine largeur.
- [x] Vérifier Extraction core en runtime après correction du gabarit pleine largeur.
- [ ] Vérifier Exécution Solana Core.
- [ ] Vérifier Exécution SPL.
- [ ] Vérifier Decode replay.
- [x] Vérifier Decode replay en runtime et conserver les échecs Loader/Metaplex comme anomalies fonctionnelles à corriger.
- [x] Vérifier HTTP en runtime.
- [x] Vérifier WebSocket en runtime.
- [x] Placer les paramètres dExtraction core dans les accordéons.
@@ -125,6 +126,12 @@
### 2.5 Fenêtres SQL
- [x] Relever temporairement le plafond de résultats de 5 000 à 100 000 pour les campagnes de migration.
- [ ] Ajouter ultérieurement une pagination SQL/IPC serveur avant les volumes massifs.
- [x] Écrire les CSV dans `<workspace>/data/exports_csv`, indépendamment du répertoire courant Tauri.
- [ ] Corriger la valeur de repli TypeScript `maximumReplayCandidateLimit = 5_000` vers `100_000`.
- [x] Valider quun export produit `data/exports_csv/replay_transactions.csv`.
- [ ] Mettre toutes les fenêtres SQL, sauf Replay Candidates, sur une seule colonne pleine largeur.
- [ ] Mettre les tables sur toute la largeur.
- [ ] Limiter le scroll horizontal au wrapper de table.
@@ -210,7 +217,7 @@
- [x] Charger et valider la configuration.
- [x] Initialiser le logging.
- [x] Initialiser le pool HTTP.
- [ ] Se connecter à PostgreSQL.
- [x] Se connecter à PostgreSQL et confirmer la disponibilité du profil `mainnet_research`.
- [x] Appeler `initialize_postgres_schema_for_startup` après disponibilité du frontend splash.
- [x] Appeler `emit_sql_startup_table_report`.
- [x] Relier `emit_sql_startup_error`.
@@ -221,27 +228,39 @@
- [x] Rendre les zones du splash scrollables sans afficher leurs barres de défilement.
- [x] Garder automatiquement le dernier log et le dernier message visibles.
- [x] Afficher connexion, schéma, nombre de tables, tables manquantes et statut final.
- [ ] Valider visuellement le fade-in, les messages intermédiaires, le fade-out et louverture de `main` sur le workspace réel.
- [ ] Supprimer lécrasement artificiel de `auto_initialize_schema` à `false` dans le chemin du splash et respecter la valeur du profil actif.
- [x] Valider visuellement les messages intermédiaires, louverture de `main`, labsence de scrollbar visible et lauto-scroll ; conserver le fade CSS Tauri/Linux comme limitation visuelle non bloquante.
## 8. Purge contrôlée des données dérivées
- [ ] Inventorier les tables via `kb-store`.
- [ ] Classer chaque table en raw, nécessaire au replay, dérivée ou ambiguë.
- [ ] Bloquer la purge tant quune table reste ambiguë.
- [ ] Créer un script SQL versionné et idempotent.
- [ ] Conserver transactions, signatures et payloads RPC raw.
- [ ] Conserver toutes les données nécessaires à lextraction et au replay.
- [ ] Purger core dérivé, décodage, observations, coverage, diagnostics et états de replay dérivés.
- [ ] Purger annotations, événements matérialisés, token accounts, lifecycle, admin, fees, risk, compliance et staking dérivés.
- [ ] Exécuter la purge dans une transaction.
- [ ] Ajouter des vérifications avant/après.
- [ ] Documenter précisément les tables conservées.
- [ ] Relancer lextraction core.
- [x] Inventorier les tables via les migrations `kb-store` 0001 à 0004.
- [x] Classer `kb_sol_raw_transactions` et `kb_sol_obs_transaction_observations` comme acquisition raw ; classer core, ledger, decode, coverage et matérialisation comme dérivés reconstructibles.
- [x] Confirmer quaucune table actuellement définie par `kb-store` ne reste ambiguë pour cette reconstruction.
- [x] Confirmer que le schéma courant est initialisé par les listes SQL idempotentes de `kb-store` et non par une table `_sqlx_migrations` active.
- [ ] Corriger `kb-store/maintenance/reset_derived_store_keep_raw.sql` pour conserver explicitement les deux tables dacquisition et utiliser une stratégie `TRUNCATE ... RESTART IDENTITY` pour les tables dérivées.
- [x] Conserver `kb_sol_raw_transactions` avec 4 574 transactions et remettre tous les `processing_state` à `received`.
- [ ] Restaurer ou accepter explicitement la perte des anciennes lignes de `kb_sol_obs_transaction_observations` supprimées pendant la reconstruction manuelle.
- [x] Recréer manuellement toutes les tables manquantes depuis les scripts SQL de `kb-store`.
- [x] Vérifier avant reprise que toutes les tables Core contiennent zéro ligne.
- [x] Vérifier avant reprise que `kb_sol_ops_processing_ledger` est vide.
- [x] Vérifier avant reprise que les 4 574 raws sont sélectionnables avec létat `received`.
- [x] Purger les tables core, ledger, decode, coverage et matérialisation dérivées.
- [x] Encadrer la reconstruction manuelle par une démarche contrôlée sans toucher aux transactions raw.
- [x] Ajouter des vérifications avant reprise : compteurs raw, Core et ledger.
- [ ] Documenter précisément les tables conservées et la politique de reconstruction dans `kb-store/maintenance/README.md`.
- [ ] Relancer lextraction core sur les 4 574 raws.
- [ ] Relancer tous les décodeurs.
- [ ] Relancer la matérialisation.
- [ ] Valider les compteurs et erreurs.
- [ ] Contrôler la reconstruction de chaque projection attendue.
### 8.1 Anomalies observées avant reconstruction
- [ ] Auditer les instructions Loader immuables/v4 dun octet qui échouent actuellement comme `*_tag_truncated`, notamment lorsque la transaction porte `UnsupportedProgramId`.
- [ ] Décider, signature réelle à lappui, si ces formes doivent être `Unsupported`/`Ignored` plutôt que `Failed`.
- [ ] Auditer les flags signer/writable Metaplex réels avant dassouplir les contrats de comptes.
- [ ] Comparer les signatures Metaplex en échec avec Bot2 `0.4.7-pre.035` et le contrat officiel.
## 9. Jalon fonctionnel Bot2 `0.4.6`
- [ ] Solana Core équivalent et validé.
@@ -345,7 +364,7 @@
- [x] `cargo check --workspace`.
- [ ] `cargo test --workspace`.
- [x] `python3 scripts/audit_rust_workspace_rules.py` après `pre.058-fix-002`.
- [ ] `cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json`.
- [x] `cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json` : démarrage, splash, PostgreSQL, fenêtres et export CSV validés.
- [ ] `cargo clippy --all-targets` en dernier.
## 16. Critères de clôture