v0.3.15-pre.009-fix.002
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md -->
|
||||
<!-- version: 15 -->
|
||||
<!-- version: 16 -->
|
||||
|
||||
# Validation v0.3.15 — Raw Transaction Ingest Desk
|
||||
|
||||
@@ -535,3 +535,59 @@ Aucun de ces gates Cargo n’est déclaré PASS. Ils restent dans le gate opéra
|
||||
### `pre.009-fix.001` — shutdown Yellowstone et diagnostic de source
|
||||
|
||||
Le gate live `pre.009` a confirmé le multi-route et le chemin Yellowstone Block -> `getBlock`, mais un Stop Yellowstone pouvait entrer en collision avec la deadline de fermeture gRPC de 5 s. Le défaut Worker de `shutdown_drain_timeout` passe à 10 s ; un timeout de `session.close()` après Stop déjà demandé est accepté comme fermeture coopérative uniquement pour `onchain_transport.timeout`, les autres fautes restant terminales. Les sources terminales tracent désormais uniquement leur famille logique et les codes d'erreur sûrs, afin de qualifier séparément le `Faulted` encore observé sur `http-block-polling` Mainnet sans le masquer.
|
||||
|
||||
### `pre.009-fix.002` — résultat du gate opérateur `fix.001`
|
||||
|
||||
Le gate opérateur fourni pour `0.3.15-pre.009-fix.001` confirme les points suivants :
|
||||
|
||||
```text
|
||||
cargo fmt --all / --check exécutés par l'opérateur
|
||||
audit Rust workspace PASS
|
||||
audit Markdown PASS (318 tables / 209 fichiers)
|
||||
cargo check --workspace PASS
|
||||
Clippy workspace strict -D warnings PASS
|
||||
tests Raw Transaction Ingest Desk PASS
|
||||
tests Worker FAIL : 156 PASS / 1 FAIL
|
||||
tests workspace FAIL : canari logging en plus du test Worker
|
||||
cargo tauri dev lancé et application opérationnelle
|
||||
```
|
||||
|
||||
Les deux échecs statiques sont déterministes :
|
||||
|
||||
```text
|
||||
settings::pre_003_defaults_are_exact_and_preserve_typed_identity
|
||||
settings.shutdown_drain_timeout() = 10 s
|
||||
assertion restée à 5 s
|
||||
|
||||
workspace_logging::behavioral_crates_own_explicit_tracing_targets
|
||||
target littéral ajouté dans runtime_resources.rs
|
||||
règle workspace : cible possédée par src/constants.rs
|
||||
```
|
||||
|
||||
Le live Mainnet ne valide pas encore le shutdown de `fix.001` :
|
||||
|
||||
```text
|
||||
yellowstone-hydrated
|
||||
acquisition getBlock productive
|
||||
Stop demandé
|
||||
~5 s plus tard : runtime_invalid, sans transport_domain/code
|
||||
terminal : Faulted
|
||||
|
||||
http-block-polling
|
||||
getSlot/getBlocks/getBlock productifs pendant ~48 s
|
||||
Stop demandé
|
||||
runtime_invalid quasi immédiat, sans transport_domain/code
|
||||
terminal : Faulted
|
||||
|
||||
standard-logs-hydrated
|
||||
fault avant Stop : source_failed / onchain_transport.timeout
|
||||
le log Transport montre un cooldown rate-limit du RPC public
|
||||
|
||||
standard-block-direct
|
||||
fault avant Stop : source_failed / onchain_transport.rpc_application_error
|
||||
|
||||
helius-transaction-hydrated
|
||||
fault avant Stop : source_failed / onchain_transport.rpc_application_error
|
||||
```
|
||||
|
||||
Conclusion : le passage du drain par défaut à 10 s reste conservé mais n'est pas une preuve de correction Yellowstone. `fix.002` répare les deux gates statiques et expose dans la trace source le contexte interne statique `condition` des erreurs `runtime_invalid`. Le prochain live doit fournir cette `condition` exacte pour Yellowstone et HTTP polling ; aucune conversion générique `runtime_invalid -> Stopped` n'est autorisée.
|
||||
|
||||
Reference in New Issue
Block a user