5.9 KiB
Delta 0.3.15-pre.010
Base
base archive : ksp-general-0.3.15-pre.009-fix.003.zip
base SHA-256 : 7882f39d8ac213712f81b4dbef1681e4b63064e1ebdf0b8515e343cf3d2094ef
base version : 0.3.15-pre.9.fix.3
Le gate opérateur de la base confirme les audits Rust/Markdown, cargo check --workspace, Clippy strict, les tests Worker Raw Transaction Ingest, workspace_logging, le workspace all-targets/all-features et le lancement Tauri. Le correctif pre.009-fix.003 supprime le fault synthétique source.admission_closed observé lors du Stop coopératif des routes Mainnet Yellowstone et HTTP Block Polling.
Objectif
Matérialiser l'observabilité runtime prévue pour la Desk sans modifier l'acquisition : relayer les snapshots latest-value de chaque Worker indépendant vers un contrat IPC sûr couvrant lifecycle, health, activity, admission/persistence, backpressure, reconnect/replay, continuité, gaps et repair.
Projection latest-value sûre
Le nouveau module route_monitoring consomme exclusivement RawTransactionIngestSnapshotSource et RawTransactionIngestSnapshot. Il construit deux DTO frontend-safe :
RawIngestRouteMonitoringDto
RawIngestRouteGapDto
La projection comprend notamment :
lifecycle / terminal / fault code stable
health / activity
admission queue / persistence concurrency
admitted / canonicalized / persisted
entity / observation outcomes
store/source failures
backpressure waits
hydration pending / processing frontier
continuity policy / frontier / open-gap state / future coverage
source active/reconnecting/failed
reconnect / replay-attempt / replay-retention-gap counters
gap details bornés
repair totals par mécanisme
Aucune URL, credential, provider physique, source key, WorkerId, handle, URI Store, signature ou payload RawTransaction n'est projeté.
Les séquences, compteurs et slots issus de u64 traversent IPC sous forme de texte décimal afin d'éviter toute perte de précision JavaScript. Les cardinalités bornées issues de usize sont converties en u32 avec échec fermé lorsqu'elles ne sont pas représentables.
Relais Tauri et resynchronisation
Chaque Start conserve le monitor terminal/cleanup existant et ajoute un monitor latest-value indépendant :
Worker handle
-> RawTransactionIngestSnapshotSource clone
-> projection sûre
-> event Tauri ksp-raw-ingest-route-status
Le monitor d'observabilité ne possède ni Store ni lifecycle. Une erreur d'émission UI n'arrête pas le Worker et ne modifie pas le cleanup terminal.
La commande :
get_route_monitoring
retourne les latest values des routes actives ainsi que les derniers terminaux sûrs retenus dans la session runtime same-network. Un nouveau Start de la même identité remplace son ancien terminal ; une nouvelle session réseau repart sans terminaux hérités.
Cette commande permet une resynchronisation explicite même si le frontend a manqué un événement intermédiaire.
Extension minimale du snapshot Worker
Le snapshot concret portait déjà les cinq informations de continuité nécessaires au mapping UI mais ne les exposait pas par getters publics. pre.010 ouvre uniquement :
continuity_policy_observed()
continuity_frontier_slot()
continuity_has_open_gaps()
failed_source_losses_reconciled()
future_target_coverage()
Aucun nouveau type Worker, aucune logique de retry/reconnect/replay/repair, aucune persistence et aucune dépendance ne sont ajoutés.
Frontend
La tranche fournit le contrat backend/event/resync mais ne finalise pas encore l'affichage détaillé de supervision. La consommation UI des métriques, le refresh dédié et le tracing TypeScript associé restent pre.011.
Version
workspace.package.version : 0.3.15-pre.10
root Cargo header counter : 618
Validation d'assemblage
L'environnement d'assemblage ne fournit ni Cargo ni rustfmt ; aucun résultat Cargo local n'est donc revendiqué.
Le gate opérateur attendu est :
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/0.3.15
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-app-raw-transaction-ingest-desk --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
cargo test --workspace --all-targets --all-features
(cd crates/ksp-app-raw-transaction-ingest-desk && cargo tauri dev)
Aucun script npm applicatif n'est exécuté directement par l'opérateur.
Inventaire exact du delta
Le delta contient 3 ajouts, 16 modifications et aucune suppression, soit 19 entrées.
Ajouts :
crates/ksp-app-raw-transaction-ingest-desk/src/route_monitoring.rs
crates/ksp-app-raw-transaction-ingest-desk/unit_tests/route_monitoring.rs
deltas/0.3.15/pre.010.md
Modifications :
Cargo.toml
crates/ksp-app-raw-transaction-ingest-desk/README.md
crates/ksp-app-raw-transaction-ingest-desk/USAGE.md
crates/ksp-app-raw-transaction-ingest-desk/src/app_state.rs
crates/ksp-app-raw-transaction-ingest-desk/src/lib.rs
crates/ksp-app-raw-transaction-ingest-desk/src/route_runtime.rs
crates/ksp-app-raw-transaction-ingest-desk/src/tauri.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/dependency_boundary.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_contract.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_security.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/release_completeness.rs
crates/ksp-app-raw-transaction-ingest-desk/unit_tests/route_runtime.rs
crates/ksp-worker-raw-transaction-ingest-lib/src/snapshot.rs
crates/ksp-worker-raw-transaction-ingest-lib/unit_tests/snapshot.rs
docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md
docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md
Suppressions : aucune.