# Delta `0.3.15-pre.008-fix.003` ## Objet Fermer le gate Clippy de `pre.008-fix.002` et corriger la resynchronisation Stop lorsqu'un Worker atteint spontanément un état terminal avant l'action utilisateur, sans modifier les capabilities Config ni le périmètre mono-route. ## Défauts observés Le gate opérateur confirme `cargo check --workspace` et les suites de tests, mais Clippy strict rejette encore un `?` dans la boucle bornée de nettoyage Stop au titre de `clippy::question_mark_used`. Le parcours Tauri live montre également qu'une route peut atteindre spontanément `Faulted` et fermer son Store avant que le frontend ne clique Stop. Le slot backend est alors correctement libéré, mais le frontend possède encore son dernier accusé `Starting`; un Stop tardif retourne donc `route_runtime_not_active` au lieu de lui permettre de récupérer l'état terminal déjà observé. ## Correction - le `?` interdit est remplacé par un `match` explicite avec `return` ; - le runtime mono-route conserve uniquement le dernier `RawIngestRouteRuntimeDto` terminal sûr après la terminaison Worker et la fermeture Store ; - un Stop tardif sur un slot déjà `Idle` retourne ce dernier terminal de manière idempotente ; - la réservation d'un nouveau Start efface immédiatement ce terminal afin de ne jamais mélanger deux exécutions ; - le cache terminal ne contient aucun handle Worker, aucun `Store`, aucun endpoint, aucun secret et aucune ressource Transport. ## Caractérisation live inchangée Les terminaisons `Faulted` observées ne sont pas masquées par ce fix : - Yellowstone Mainnet a rencontré un overflow de queue Transport sous charge, concomitant à de l'hydration HTTP et à une mise en cooldown rate-limit ; - `standard-block-direct` a atteint `Faulted` après la tentative `blockSubscribe`, méthode explicitement instable. Ces événements restent des résultats Worker/Transport réels. Le fix ne fabrique aucune capability, ne transforme pas `Configured` en garantie live et ne modifie aucune politique provider. ## Périmètre inchangé - un seul runtime route à la fois ; - même revalidation Start issue de `pre.007` ; - même ouverture, health et fermeture Store via `ksp-store-lib` ; - même lancement `RawTransactionIngestWorker::start_with_runtime_resources` ; - aucun partage Store multi-worker de `pre.009` ; - aucun monitoring continu de `pre.010`. ## Version ```text header racine : 611 -> 612 workspace : 0.3.15-pre.8.fix.2 -> 0.3.15-pre.8.fix.3 ``` ## Gate opérateur Le gate complet de `pre.008` doit être rejoué après application de ce fix.