Files
2026-09-10 21:02:29 +02:00

3.0 KiB

Delta 0.3.13-pre.010 — snapshots/health multi-source

Objet

Fermer la projection publique source-neutral prévue pour le runtime multi-source sans exposer les identités logiques, providers, endpoints, filtres ou matériaux Transport.

Runtime

RawTransactionIngestSnapshot expose désormais quatre gauges latest-value : source_total, source_active, source_reconnecting et source_failed.

source_total est initialisé dès le démarrage depuis la collection RawTransactionIngestRuntimeResources validée. L'inventaire privé borné agrège ensuite les états locaux et publie uniquement les comptes numériques, l'état source agrégé et les compteurs de continuité déjà existants.

La health commune devient conservative pendant Running : une source failed donne Unhealthy; un reconnect ou une composition dont toutes les sources attendues ne sont pas encore actives donne Degraded; toutes les sources attendues actives permettent Healthy. Faulted reste Unhealthy et Stopping/Stopped conservent la dernière health qualifiée.

L'activity reste liée au travail concret, aux pending, à la persistence, au reconnect ou au closing. Une source simplement ouverte n'est pas artificiellement classée Active.

Preuves ajoutées

Les tests couvrent les comptes d'inventaire, la health Degraded -> Healthy -> Unhealthy, les quatre getters publics, la redaction du snapshot, l'absence de backend/network client direct et la présence des canaris dans release_completeness.

Frontière

Aucun changement de convergence, fairness, quota, Store, Transport, dépendance ou feature. Aucun failover, provider health public, snapshot par source ou coverage inference. Les races et shutdown concurrents restent pre.011.

Gate reçu avant cette tranche

Le gate opérateur 0.3.13-pre.009-fix.002 est vert pour toutes les commandes exécutées : fmt, audits, workspace check, Clippy strict, Transport 389 + 52 + 44 + 4 avec 5 smokes live opt-in ignorés, puis Worker 99 + 4 + 16 + 23 + 17 + 4, sans échec. Aucun cargo tree n'était requis ni exécuté.

Validation locale d'assemblage

Le toolchain Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Aucun résultat Cargo post-modification n'est déclaré PASS localement. Les audits statiques et contrôles de packaging effectivement exécutés sont les seules preuves locales consignées pour cette livraison.

Gate opérateur avant pre.011

cargo fmt --all
cargo fmt --all -- --check
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-worker-raw-transaction-ingest-lib

Aucun cargo tree n'est requis ; aucune dépendance ni feature n'a changé. Le Transport n'est pas modifié par cette tranche snapshot/health.