# Audit statique préalable à `0.4.6` ## Résumé L’audit statique a été exécuté sur l’archive complète `v0.1.0-pre.074-fix001`. ## Résultats propres - seul `kb-config` dépend directement de `dotenvy` ; - 50 commandes littérales appelées par le frontend ont été détectées ; - les 50 sont présentes dans `tauri::generate_handler!` ; - les huit commandes enregistrées non appelées directement depuis TypeScript correspondent aux ouvertures de fenêtres déclenchées depuis le menu Rust ; - `AppState` possède la session WebSocket persistante ; - la destruction de `demo_ws` ne contient pas de déconnexion statique ; - la destruction de la fenêtre principale appelle la déconnexion globale ; - aucune ancienne crate consolidée n’est redevenue une dépendance Cargo active ; - les onze crates possèdent les quatre documents obligatoires. ## Écart démontré : `tauri.rs` reste trop substantiel `kb-app-demo-desktop/src/tauri.rs` contient encore environ 1 900 lignes et appelle directement : - `kb_pipeline::execute_decode_replay` ; - `kb_pipeline::execute_http_backfill` ; - `kb_store::PostgresStore::connect` et des repositories ; - les scénarios Devnet Solana Core, Memo, SPL Token, ATA et Token-2022 ; - la construction de listes de matérialisateurs et de filtres de diagnostics. Le fichier n’est donc pas encore uniquement une couche mince de wrappers `#[tauri::command]`. ### Décision Avant `0.4.6`, déplacer l’orchestration vers les modules fonctionnels déjà présents : - `demo_backfill.rs` ; - `demo_core_extraction.rs` ; - `demo_decode_replay.rs` ; - `demo_execution_solana_core.rs` ; - `demo_execution_spl.rs` et ses sous-modules ; - modules SQL concernés. `tauri.rs` doit conserver l’assemblage Tauri, les wrappers de commandes, l’ouverture des fenêtres et les adaptations minimales d’erreur ou d’état. ## Vérifications runtime encore nécessaires L’audit statique ne prouve pas : - la persistance réelle de la socket après fermeture de la fenêtre ; - la restauration visuelle du statut à la réouverture ; - les timeouts réseau ; - le comportement des profils et routes de logging ; - la campagne PostgreSQL et Devnet complète. Ces points doivent être validés avec les scénarios dédiés et leurs logs.