v0.1.0-pre.058

This commit is contained in:
2026-07-27 02:02:11 +02:00
parent e56f2561c5
commit e828677201
22 changed files with 378 additions and 192 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: KHADHROONY_BOT3_MIGRATION_CLOSURE_TODO.md -->
<!-- version: 4 -->
<!-- version: 7 -->
# Checklist détaillée de clôture de la migration `khadhroony-bot3`
@@ -86,16 +86,28 @@
- [x] Garantir exactement un bouton Effacer pour la sortie principale.
- [x] Vider le buffer TypeScript lors de leffacement.
- [ ] Tester JSON, scalaire, texte, erreur et résultat vide.
- [x] Restaurer le gabarit desktop à deux colonnes : requête à gauche, endpoints et résultat à droite.
### 2.2 WebSocket
- [x] Afficher les messages dans un composant texte/log.
- [x] Fixer la hauteur et le scroll interne.
- [x] Garantir une seule paire Copier/Effacer pour la sortie Messages.
- [ ] Conserver les messages pendant la session active.
- [ ] Restaurer laffichage après fermeture/réouverture de la fenêtre.
- [x] Borner le débit et la taille des notifications envoyées à lUI pour éviter les freezes.
- [x] Conserver le payload complet sous forme JSON compacte dans les logs de debug avant formatage et troncage UI.
- [x] Conserver les messages pendant la session active.
- [x] Restaurer laffichage après fermeture/réouverture de la fenêtre.
- [x] Restaurer le gabarit desktop à deux colonnes : souscription à gauche, statut/endpoints/messages à droite.
- [x] Appliquer `base64` par défaut aux souscriptions `accountSubscribe` et `programSubscribe` lorsque lencodage est absent, sans écraser un encodage explicite.
- [ ] Décider après test runtime si Statut et Endpoints WebSocket restent textuels ou deviennent des viewers JSON structurés ; supprimer alors tout bouton Copier redondant fourni par le viewer.
### 2.3 Journaux généraux et viewers
### 2.3 Backfill et autocomplétion
- [x] Garder Program ID librement éditable.
- [x] Ajouter un autocomplétion non bloquant depuis le registre public `kb-program-ids`.
- [ ] 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
- [ ] Vérifier Backfill HTTP.
- [ ] Vérifier Extraction core.
@@ -110,7 +122,7 @@
- [ ] Utiliser des textareas pour texte brut, logs et diagnostics concaténés.
- [ ] Fixer la hauteur de tous les viewers JSON.
### 2.4 Fenêtres SQL
### 2.5 Fenêtres SQL
- [ ] Mettre toutes les fenêtres SQL, sauf Replay Candidates, sur une seule colonne pleine largeur.
- [ ] Mettre les tables sur toute la largeur.
@@ -155,35 +167,44 @@
- [ ] Marquer les variables limitées aux scénarios de démonstration.
- [ ] Documenter les futurs remplacements par configuration ou structure typée.
## 5.1 Wrappers Tauri
- [x] Déplacer la logique complète de `splash_frontend_ready` dans `splash.rs` et conserver un wrapper privé mince dans `tauri.rs`.
- [ ] Inventorier toutes les fonctions `#[tauri::command]` de `tauri.rs`.
- [ ] Déplacer progressivement toute logique métier restante dans son module fonctionnel `pub(crate)`.
- [ ] Vérifier que chaque wrapper Tauri ne fait que ladaptation des arguments et la délégation.
- [ ] Ajouter ou conserver les tests unitaires dans les modules fonctionnels, pas dans les wrappers.
## 6. Cycle de vie WebSocket
- [ ] Vérifier quaucun pool WebSocket nest créé au démarrage.
- [ ] Vérifier la création paresseuse au premier accès.
- [ ] Vérifier le stockage du pool dans `AppState`.
- [ ] Vérifier la survie de la session après fermeture de `demo_ws`.
- [ ] Vérifier la récupération de létat à la réouverture.
- [x] Vérifier quaucun pool WebSocket nest créé au démarrage.
- [x] Vérifier la création paresseuse au premier accès.
- [x] Vérifier le stockage du pool dans `AppState`.
- [x] Vérifier la survie de la session après fermeture de `demo_ws`.
- [x] Vérifier la récupération de létat à la réouverture.
- [ ] Vérifier la fermeture explicite.
- [ ] Vérifier le timeout.
- [ ] Vérifier larrêt global de lapplication.
- [ ] Vérifier que la fermeture de la fenêtre nappelle jamais la déconnexion globale.
- [x] Vérifier que la fermeture de la fenêtre nappelle jamais la déconnexion globale.
## 7. Initialisation PostgreSQL et splash
- [ ] Charger lenvironnement.
- [ ] Charger et valider la configuration.
- [ ] Initialiser le logging.
- [ ] Initialiser le pool HTTP.
- [x] Charger lenvironnement.
- [x] Charger et valider la configuration.
- [x] Initialiser le logging.
- [x] Initialiser le pool HTTP.
- [ ] Se connecter à PostgreSQL.
- [ ] Appeler `initialize_postgres_schema_for_startup`.
- [ ] Appeler `emit_sql_startup_table_report`.
- [ ] Relier `emit_sql_startup_error`.
- [ ] Relier `emit_sql_startup_splash`.
- [ ] Ouvrir `main` seulement après le rapport PostgreSQL.
- [ ] Fermer le splash après le statut final.
- [ ] Ne pas initialiser WebSocket dans cette séquence.
- [ ] Rendre la zone de messages du splash scrollable.
- [ ] Garder le dernier message visible.
- [ ] Afficher connexion, schéma, nombre de tables, tables manquantes et statut final.
- [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`.
- [x] Relier `emit_sql_startup_splash`.
- [x] Ouvrir `main` seulement après le rapport PostgreSQL et le fade-out.
- [x] Fermer le splash après le statut final.
- [x] Ne pas initialiser WebSocket dans cette séquence.
- [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.
## 8. Purge contrôlée des données dérivées
@@ -295,7 +316,7 @@
- [ ] `cargo fmt --all`.
- [ ] `cargo check -p kb-config`.
- [ ] `cargo test -p kb-config`.
- [ ] `cargo test -p kb-config` (44/45 passaient ; contrat de route groupée `kb-pipeline` corrigé dans la prochaine prerelease).
- [ ] `cargo check -p kb-pipeline-demo-scenarios`.
- [ ] `cargo test -p kb-pipeline-demo-scenarios`.
- [ ] `cargo check -p kb-store`.
@@ -303,7 +324,7 @@
- [ ] `cargo check -p kb-lib`.
- [ ] `cargo test -p kb-lib`.
- [x] `cargo check -p kb-app-demo-desktop`.
- [ ] `cargo test -p kb-app-demo-desktop` (112 tests passaient, 1 contrat dordre de décodeurs corrigé dans `pre.057`; relance requise).
- [ ] `cargo test -p kb-app-demo-desktop` (112/113 passaient ; contrat dordre de décodeurs corrigé, relance requise).
- [x] `cargo check --workspace`.
- [ ] `cargo test --workspace`.
- [ ] `python3 scripts/audit_rust_workspace_rules.py`.