v0.2.9-pre.008-fix.001

This commit is contained in:
2026-08-24 17:10:34 +02:00
parent affa18a6e9
commit 433e69272a
10 changed files with 135 additions and 47 deletions

View File

@@ -1,9 +1,9 @@
<!-- file: docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md -->
<!-- version: 16 -->
<!-- version: 17 -->
# Plan `0.2.9` — moteur Yellowstone gRPC + standard Solana + PublicNode
> **Statut : `0.2.9-pre.007` est fermée sur gate opérateur intégralement vert : fmt/audit/check/Clippy/workspace PASS, Transport 367 unit + 46 public API + 40 completeness + 4 doctests. `0.2.9-pre.008` est candidate et complète uniquement Blocks + `block_meta` + `entry` du `Subscribe` standard : filtre Blocks courant complet, rewards/time/height, réutilisation des DTOs Transaction/Account, compteurs serveur indépendants des payloads optionnels et `starting_transaction_index`. Aucun stream bidi nest encore ouvert ; lifecycle reste `pre.009`.**
> **Statut : `0.2.9-pre.008` est fonctionnellement verte sur gate opérateur : fmt/audit/check/tests/workspace PASS, Transport 370 unit + 47 public API + 41 completeness + 4 doctests. Clippy passe mais émet un unique warning `field_reassign_with_default` dans la fixture `unit_tests/grpc_subscribe.rs`. `0.2.9-pre.008-fix.001` est candidate et corrige uniquement cette hygiène de fixture ; aucun changement runtime Blocks ni bidi.**
## 1. Objet, base et état d'ouverture
@@ -931,8 +931,8 @@ pre.006 DONE — structure Transport : namespace privé HTTP explicite
pre.007 DONE — standard Solana : Transactions + transaction_status
budget : 1520 min ; preuve : include/exclude/required/Cuckoo/token expansion + tx/meta + TransactionConfig V1
pre.008 CANDIDATE — standard Solana : Blocks + block_meta + entry
budget : 1520 min ; preuve : counts/arrays/optional/oneof/payload bounds
pre.008 FIX.001 CANDIDATE — standard Solana : Blocks + block_meta + entry
budget : 1520 min ; gate fonctionnel PASS 370/47/41/4 + workspace ; fix fixture Clippy warning-only
pre.009 moteur partagé : bidi mutation + Ping/Pong + half-close + backpressure + shutdown
budget : 1520 min ; preuve : actor/session local + bounded queues + cleanup déterministe
@@ -1335,3 +1335,12 @@ Les compteurs serveur ne sont volontairement pas comparés aux longueurs des vec
Les conversions request protobuf et décodeurs Block/BlockMeta/Entry restent `#[cfg(test)]` jusquà louverture du stream runtime en `pre.009`. Aucun `SubscribeDeshred`, provider PublicNode, Config V3, Ping/Pong lifecycle ou reconnect nentre dans cette tranche.
**Gate candidat :** audit statique clean ; compilation/Clippy/tests opérateur requis avant fermeture.
## 25. `pre.008-fix.001` — hygiène Clippy de la fixture Blocks
Le premier gate opérateur de `pre.008` confirme l'intégralité du contrat Blocks : fmt/audit/check/tests/workspace passent, avec Transport 370/370 unit, 47/47 public API, 41/41 completeness et 4/4 doctests. Clippy termine également avec succès mais signale un unique `field_reassign_with_default` dans `minimal_transaction_info()` de la fixture `grpc_subscribe`.
Le fix remplace la construction `TransactionStatusMeta::default()` suivie de `meta.fee = 5_000` par un initialiseur struct avec `fee: 5_000` et `..Default::default()`. Aucun `allow`, aucune API, aucun DTO, aucun wire et aucune logique runtime ne changent.
**Gate attendu :** même gate opérateur, sans warning Clippy. Le bidi reste strictement `pre.009`.