0.3.15-pre.010-fix.001

This commit is contained in:
2026-09-15 05:53:36 +02:00
parent 9fd51c5a41
commit e919945d1e
20 changed files with 1013 additions and 28 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md -->
<!-- version: 16 -->
<!-- version: 17 -->
# Plan v0.3.15 — Raw Transaction Ingest Desk
@@ -811,7 +811,13 @@ Budget cible : une tranche runtime/throughput Mainnet + multi-route.
### `pre.010` — snapshots et monitoring runtime
Relayer les snapshots/events sûrs nécessaires à la Desk : lifecycle, health, activity, backpressure, reconnect, replay, gaps et repair, sans payload RawTransaction ni identité provider sensible.
**État : implémenté.** Chaque route active fournit désormais une source latest-value indépendante dérivée directement du `RawTransactionIngestSnapshotSource` de son Worker. Le backend projette lifecycle, health, activity, admission/persistence, backpressure, hydration pending, processing frontier, source counts, reconnect/replay, continuité, gaps et repair sans exposer `WorkerId`, source key, endpoint, provider physique, URI Store, signature ni payload `RawTransaction`.
Le relais Tauri suit le pattern KSP déjà utilisé par Backfill Desk : l'événement `ksp-raw-ingest-route-status` transporte une projection complète à chaque latest value, tandis que `get_route_monitoring` fournit une resynchronisation explicite des Workers actifs et des derniers terminaux retenus dans la session same-network. Le monitor d'événements est séparé du monitor de cleanup Store/Worker : perdre un événement UI ne modifie jamais le lifecycle ni la fermeture du Store.
Les compteurs, séquences et slots issus de `u64` sont sérialisés en texte décimal pour éviter toute perte de précision JavaScript. Les cardinalités bornées `usize` sont converties en `u32` avec échec fermé si elles deviennent non représentables. Le Worker ouvre uniquement cinq getters publics source-neutral déjà portés par son snapshot (`continuity_policy_observed`, `continuity_frontier_slot`, `continuity_has_open_gaps`, `failed_source_losses_reconciled`, `future_target_coverage`) ; aucune logique d'acquisition, retry, repair ou persistence n'est déplacée.
Le frontend détaillé ne consomme pas encore cette surface pour construire la vue de supervision complète : ce rendu et son tracing TypeScript restent `pre.011`.
Budget cible : une tranche observabilité.