Files
khadhroony-solana-project/deltas/0.3.15/pre.011-fix.001.md

5.2 KiB

Delta 0.3.15-pre.011-fix.001

Base

base archive : ksp-general-0.3.15-pre.011.zip
base SHA-256 : 13d9e9ff3feaae9fd5c74a44346a27293e20b53883a839e68b7c6793a82a7d08
base version : 0.3.15-pre.11

Le gate opérateur du 16 septembre 2026 confirme une base statiquement propre : audits Rust/Markdown, cargo check --workspace, Clippy strict, tests ciblés Raw Transaction Ingest Desk/Worker et workspace all-targets/all-features passent. Le défaut est live/frontend : après le Start Mainnet de yellowstone-hydrated, le Worker continue à hydrater des blocs alors qu'aucune seconde action Start/Stop n'atteint le tracing frontend avant la fin de l'essai.

Cause

Le pont monitor_route_status de pre.010 attendait chaque changement de séquence Worker puis émettait immédiatement un DTO complet vers Tauri. Avec une route productive, la séquence peut évoluer au rythme de l'ingestion transactionnelle.

Le frontend pre.011 appliquait ensuite chaque événement avec :

record latest-value
render runtime header
rebuild intégral des cartes de routes
rebuild du détail de supervision
tracing frontend

La reconstruction intégrale remplaçait aussi les boutons Start/Stop. Sous flux soutenu, un contrôle pouvait donc être détruit/recréé entre les événements pointeur et click, tout en surchargeant le thread UI.

Correctif backend Tauri

Le contrat reste latest-value et event-driven, sans polling métier. Le relayeur coalesce désormais les snapshots avec une cadence maximale d'une émission toutes les 500 ms par route :

wait_for_change(sequence)
terminal -> émission immédiate au prochain tour
non-terminal -> fenêtre de coalescence 500 ms
current() -> projection de la dernière valeur seulement

La source Worker reste une watch latest-value ; aucun snapshot intermédiaire n'est requis pour la correction opérationnelle. Le snapshot terminal reste projeté et la commande get_route_monitoring reste l'autorité de resynchronisation explicite.

Correctif frontend

Une map DOM routeCards conserve les cartes de la vue courante. Les champs de résumé steady-state sont maintenant patchés en place :

lifecycle
health
activity
persisted
sources active / total
open gaps

renderSelectedProfile() n'est plus exécuté pour chaque incrément de compteur. Une reconstruction complète de la grille est réservée à :

premier snapshot/non-patchable
changement de lifecycle
resynchronisation explicite
Start/Stop explicites

Le détail de supervision n'est rerendu sur un snapshot steady-state que si ce snapshot appartient à la route actuellement sélectionnée.

Frontières inchangées

Aucune modification de :

Config
Transport
Store
ksp-worker-raw-transaction-ingest-lib
Common RAW
stratégies acquisition/retry/replay/repair

Aucun polling frontend, aucune seconde pipeline et aucune ressource physique supplémentaire ne sont introduits.

Canaris

Ajouts :

pre_011_fix_001_monitoring_bridge_is_bounded_and_steady_updates_preserve_route_controls
pre_011_fix_001_preserves_latest_value_contract_without_backend_module_growth

Ils figent la cadence bornée, la conservation de wait_for_change, le current() de coalescence, le patch des cartes steady-state et l'absence de croissance du module Rust de production.

Version

workspace.package.version : 0.3.15-pre.11.fix.1
root Cargo header counter  : 621

Validation d'assemblage

Exécuté dans l'environnement d'assemblage :

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
TypeScript auxiliary no-emit check of main.ts/frontend_log.ts/invoke.ts

Cargo/rustfmt ne sont pas disponibles dans cet environnement ; aucun gate Cargo du fix n'est déclaré PASS avant exécution opérateur.

Le gate opérateur attendu reste :

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 npm run build manuel n'est demandé.

Inventaire exact du delta

Ajout :

deltas/0.3.15/pre.011-fix.001.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/frontend/ts/main.ts
crates/ksp-app-raw-transaction-ingest-desk/src/tauri.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_contract.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/release_completeness.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.