v0.2.9-pre.010-fix.001

This commit is contained in:
2026-08-24 18:53:10 +02:00
parent 4568d94a62
commit 3198cc5666
6 changed files with 169 additions and 19 deletions

View File

@@ -1,9 +1,9 @@
<!-- file: docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md -->
<!-- version: 20 -->
<!-- version: 21 -->
# Plan `0.2.9` — moteur Yellowstone gRPC + standard Solana + PublicNode
> **Statut : `0.2.9-pre.009-fix.001` est fermé sur gate opérateur intégralement vert : fmt/audit/check/Clippy sans warning, Transport 379 unit + 48 public API + 42 completeness + 4 doctests, dependency canary et workspace PASS. `0.2.9-pre.010` est candidate pour le reconnect/replay KSP-owned, les gaps de couverture replay prouvés par ReplayInfo et les duplicates observables sans promesse lossless.**
> **Statut : `0.2.9-pre.010` a passé fmt/audit/check, Transport 383 unit + 49 public API + 43 completeness + 4 doctests et le workspace complet, mais le gate Clippy a remonté deux `collapsible_if`. `0.2.9-pre.010-fix.001` est candidate de fermeture : hygiène Clippy + correction de la description crate-root obsolète, sans changement de sémantique reconnect/replay. `pre.011` reste hors application tant que ce fix n'a pas repassé le gate opérateur sans warning.**
## 1. Objet, base et état d'ouverture
@@ -1418,3 +1418,20 @@ De même, KSP ne supprime pas les duplicates : il les observe autour du replay,
Couverture de divergence : les identités Block/BlockMeta incluent le blockhash ; deux histoires de même slot avec blockhash différent ne sont donc pas prises pour un duplicate. Aucune généralisation dequivocation nest annoncée pour les familles sans preuve de blockhash.
**Gate candidat :** fixture locale reconnect/replay, duplicate, gap de couverture replay, budget épuisé, mutation rejetée pendant reconnect et shutdown pendant backoff ; audit statique clean. Aucun changement de dépendance ou feature.
## 29. `pre.010-fix.001` — hygiène Clippy + synchronisation crate-root
Le premier gate opérateur de `pre.010` confirme le contrat reconnect/replay : fmt, audit Rust, check, Transport 383/383 unit, 49/49 public API, 43/43 release-completeness, 4/4 doctests et `cargo test --workspace` passent. Clippy termine avec succès mais remonte deux `collapsible_if` dans `grpc_stream.rs`.
Le correctif fusionne uniquement les deux conditions imbriquées signalées par Clippy : éviction du cache borné d'identités et réponse automatique au Ping Yellowstone. Aucun branchement, code d'erreur, borne, compteur, ordre de replay ou état lifecycle ne change.
La revue de code relève aussi une description crate-root restée au niveau `pre.009`, affirmant à tort que reconnect/replay sont encore hors tranche. `src/lib.rs` est synchronisé avec `pre.010` pour décrire le reconnect borné, la reprise `from_slot`, les gaps ReplayInfo et les duplicates observables sans promesse exactly-once/lossless.
Signal technique :
```text
workspace.package.version = 0.2.9-pre.10.fix.1
```
**Gate fix attendu :** fmt + audit + check + Clippy sans warning + Transport 383/49/43/4 + dependency canary + workspace. Aucune dépendance/feature n'ayant changé, aucun nouveau `cargo tree` n'est requis. `pre.011` ne commence qu'après ce gate.