v0.3.12-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md -->
|
||||
<!-- version: 18 -->
|
||||
<!-- version: 19 -->
|
||||
|
||||
# Validation v0.3.12 — Yellowstone + hydration HTTP + continuité de run du Worker RawTransaction
|
||||
|
||||
@@ -1705,3 +1705,104 @@ history remediation remains outside this crate
|
||||
```
|
||||
|
||||
Le correctif ne modifie aucun comportement reconnect/replay, aucune ownership de `from_slot`/`ReplayInfo`, aucune processing frontier, hydration, admission, persistence ou API publique.
|
||||
|
||||
## 73. Gate opérateur `pre.008-fix.002`
|
||||
|
||||
Le gate opérateur communiqué pour `0.3.12-pre.8.fix.2` est entièrement vert :
|
||||
|
||||
```text
|
||||
General Rust rule audit : clean
|
||||
Rust export completeness audit : 0 candidate(s)
|
||||
KSP workspace Rust rule audit : clean
|
||||
Markdown table audit : clean (340 tables, 817 fichiers)
|
||||
cargo check --workspace : PASS
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
|
||||
ksp-onchain-transport-lib : 388 unit PASS, 51 public_api PASS, 43 release_completeness PASS, doc-tests PASS
|
||||
ksp-worker-raw-transaction-ingest-lib : 63 unit PASS, 9 dependency_boundary PASS, 15 hardening PASS, 9 public_api PASS, 3 release_completeness PASS
|
||||
```
|
||||
|
||||
Les smokes réseau restent `ignored` et operator-only. `pre.008-fix.002` devient la base autoritaire de `pre.009`.
|
||||
|
||||
## 74. No-orphan et frontier conservative `pre.009`
|
||||
|
||||
Le cleanup terminal du source task conserve l'ordre suivant :
|
||||
|
||||
```text
|
||||
stop/fault source
|
||||
-> abort_all des hydrations privées
|
||||
-> join de toutes les tâches privées
|
||||
-> clear de la coalescence/pending source
|
||||
-> abandon des pending de processing frontier
|
||||
-> Closing
|
||||
-> close session Transport
|
||||
-> Closed ou Failed
|
||||
```
|
||||
|
||||
L'abandon d'un pending n'est jamais transformé en `settled`. `discard_all_pending` supprime de la frontier toute slot qui possédait encore du travail pending, même si d'autres signaux de cette même slot avaient déjà été settled. La dernière `processing_frontier_slot` publiée reste donc conservative et ne peut pas avancer à travers du travail abandonné pendant stop/fault.
|
||||
|
||||
Aucun nouvel état public ou compteur n'est ajouté.
|
||||
|
||||
## 75. Hardening races/retry/backpressure `pre.009`
|
||||
|
||||
Les nouveaux canaris déterministes couvrent :
|
||||
|
||||
```text
|
||||
duplicate storm bornée par max_pending_signals
|
||||
hydration réellement in-flight -> abort/join puis projection pending nettoyée
|
||||
même network/signature/commitment -> une seule entrée de coalescence
|
||||
saturation -> source.hydration_pending_saturated, aucun drop silencieux
|
||||
abort -> pending_signal_count = 0, map vide, JoinSet vide
|
||||
abort -> hydration_pending = 0 sans faux settlement de la slot abandonnée
|
||||
settle_pending overflow -> aucune mutation partielle du pending/frontier
|
||||
un seul appel Worker get_transaction_observed
|
||||
aucun timer sleep/interval de retry Worker
|
||||
```
|
||||
|
||||
Le retry HTTP reste exclusivement propriété de `ksp-onchain-transport-lib`. Le Worker ne superpose donc aucun retry loop au retry Transport.
|
||||
|
||||
Les canaris runtime déjà présents depuis le socle `0.3.11` restent les preuves de :
|
||||
|
||||
```text
|
||||
Store lent -> backpressure observable sans drop ni admission unbounded
|
||||
source failure -> compteur source_failure et terminal fault stable
|
||||
stop pendant drain -> une erreur Store déjà observée n'est pas masquée
|
||||
drain timeout -> abort/join de tous les source/persistence tasks possédés
|
||||
counter exhaustion snapshot -> ERROR_CODE_RAW_TRANSACTION_INGEST_COUNTER_EXHAUSTED sans wrap
|
||||
```
|
||||
|
||||
Les fixtures hydration existantes restent les preuves de `getTransaction null -> Missing` et des erreurs de validation/hydration terminales sans payload distant.
|
||||
|
||||
## 76. Non-claims et gate `pre.009`
|
||||
|
||||
`pre.009` ne modifie pas :
|
||||
|
||||
```text
|
||||
Transport reconnect/from_slot/ReplayInfo
|
||||
politique proven retention gap -> source fault
|
||||
provenance composite
|
||||
format Common RAW
|
||||
Store API/backend
|
||||
processing frontier publique
|
||||
API publique Worker
|
||||
Config ou Backfill
|
||||
```
|
||||
|
||||
Aucun retry missing futur, failover multi-provider, repair automatique, checkpoint durable ou exactly-once n'est introduit.
|
||||
|
||||
Gate opérateur requis :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
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
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
cargo test -p ksp-worker-raw-transaction-ingest-lib
|
||||
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
|
||||
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
|
||||
cargo tree --duplicates
|
||||
```
|
||||
|
||||
Dans l'environnement d'assemblage, `cargo`, `rustc` et `rustfmt` ne sont pas installés ; aucun gate Cargo local n'est revendiqué.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user