0.3.15-pre.016

This commit is contained in:
2026-09-19 05:08:05 +02:00
parent b1b0e91616
commit 5f19786ce9
4 changed files with 208 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md -->
<!-- version: 33 -->
<!-- version: 34 -->
# Validation v0.3.15 — Raw Transaction Ingest Desk
@@ -1072,3 +1072,59 @@ release_v0_3_15_pre_015_fix_001_local_close_status_is_closed_without_weakening_a
Gate live attendu : Yellowstone Mainnet doit rester `Running/Healthy` pendant le run, puis un Stop ciblé doit terminer `Stopped` même si PublicNode répond `Unknown` après le half-close. Une occurrence de `grpc_status` avant la demande de Stop reste un échec réel et ne doit pas être reclassée.
### `pre.016` — ouverture du gate technique/live final
Le retour opérateur de `pre.015-fix.001` ferme la responsabilité backpressure/shutdown de `pre.015`. Après un `cargo clean`, les audits Rust/Markdown sont propres, `cargo check --workspace` et Clippy strict passent, et aucune suite testée ne rapporte d'échec. Les canaris récents passent notamment :
```text
ksp-onchain-transport-lib unitaires : 396 passed / 0 failed
ksp-onchain-transport-lib release completeness : 49 passed / 0 failed
ksp-worker-raw-transaction-ingest-lib unitaires : 161 passed / 0 failed
ksp-app-raw-transaction-ingest-desk unitaires : 50 passed / 0 failed
```
La preuve live finale de la base `pre.015-fix.001` est également cohérente :
```text
21:52:59 Yellowstone Mainnet installé
21:53:02 HTTP Block Polling Mainnet installé
22:11:52 Stop Yellowstone demandé
22:11:57 Yellowstone -> Stopped / Healthy / fault none
22:11:59 Stop HTTP Block Polling demandé
22:12:02 HTTP Block Polling -> Stopped / Healthy / fault none
```
Sur ce run d'environ 19 minutes en parallèle :
```text
worker_state=Faulted : aucune occurrence
grpc_backpressure_overflow : aucune occurrence
Yellowstone subscribe update queue overflowed : aucune occurrence
content_conflict terminal : aucune occurrence
```
`pre.016` ne modifie aucun runtime. Le gate technique final attendu est donc :
```text
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-store-postgres-lib --all-targets --all-features
cargo test -p ksp-onchain-transport-lib --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
cargo test -p ksp-app-raw-transaction-ingest-desk --all-targets --all-features
cargo test --workspace --all-targets --all-features
cargo tree -p ksp-onchain-transport-lib --edges normal
cargo tree -p ksp-onchain-transport-lib -e features
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree -p ksp-app-raw-transaction-ingest-desk --edges normal
cargo tree -p ksp-app-raw-transaction-ingest-desk -e features
cargo tree --duplicates
(cd crates/ksp-app-raw-transaction-ingest-desk && cargo tauri build)
```
Aucun nouveau live n'est requis par cette archive tant que ce scope reste strictement mécanique/documentaire : la base immédiatement précédente possède déjà le run long requis et `pre.016` ne change aucun fichier consommé par le runtime. Une modification runtime découverte nécessaire pendant le gate invaliderait cette non-claim et devrait être portée par un fix ou une nouvelle prerelease conforme au lifecycle.