0.3.15-pre.010-fix.001
This commit is contained in:
153
deltas/0.3.15/pre.010.md
Normal file
153
deltas/0.3.15/pre.010.md
Normal file
@@ -0,0 +1,153 @@
|
||||
<!-- file: deltas/0.3.15/pre.010.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.15-pre.010`
|
||||
|
||||
## Base
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
RawIngestRouteMonitoringDto
|
||||
RawIngestRouteGapDto
|
||||
```
|
||||
|
||||
La projection comprend notamment :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```bash
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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.
|
||||
Reference in New Issue
Block a user