3.2 KiB
Delta 0.2.9-pre.010-fix.001 — Clippy reconnect + cohérence crate-root
1. Base
0.2.9-pre.010
workspace.package.version = 0.2.9-pre.10
Le gate opérateur fourni confirme :
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS / clean
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS + 2 warnings
Transport unit 383/383 PASS
Transport public_api 49/49 PASS
Transport release_completeness 43/43 PASS
Transport doctests 4/4 PASS
cargo test --workspace PASS
2. Motif
Deux clippy::collapsible_if subsistent dans grpc_stream.rs :
ContinuityTracker::observe() éviction du cache borné
run_subscribe_actor() Ping -> send_automatic_ping
La revue de code détecte également une incohérence documentaire dans src/lib.rs : le commentaire crate-root reste au niveau pre.009 et affirme encore que reconnect/replay sont hors tranche, alors que pre.010 les a matérialisés.
3. Correctifs
3.1 Clippy
Les deux if imbriqués sont convertis en let-chains équivalentes. Aucun #[allow(clippy::...)] n'est ajouté.
Aucune sémantique n'est modifiée :
cache duplicate toujours borné à 512 identités
Ping automatique même send_automatic_ping, mêmes erreurs terminales
reconnect inchangé
ReplayInfo/from_slot inchangés
gaps/duplicates compteurs inchangés
backpressure/shutdown inchangés
3.2 Documentation crate-root
ksp-onchain-transport-lib/src/lib.rs décrit maintenant explicitement 0.2.9-pre.010 : reconnect borné KSP-owned, reprise depuis le dernier request/slot observé, gap prudent via ReplayInfo et duplicates observables sans promesse exactly-once/lossless.
3.3 Signal de version
Le correctif touche du Rust ; conformément à VER-ID-007/VER-ID-010 :
workspace.package.version = 0.2.9-pre.10.fix.1
commit attendu = v0.2.9-pre.010-fix.001
4. Documentation de release
Mise à jour :
docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md
docs/validation/012-V0_2_9_YELLOWSTONE_GRPC.md
Le premier gate opérateur et le statut du fix y sont enregistrés. pre.011 reste explicitement non commencée avant fermeture sans warning du présent fix.
5. Frontières inchangées
OUT fix.001 : Config V3 / PublicNode / provider facade
OUT 0.2.9 : SubscribeDeshred
aucune dépendance / feature Cargo ajoutée
aucun wire protobuf modifié
aucun contrat public reconnect/replay modifié
6. Gate opérateur attendu
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
cargo test -p ksp-core-lib --test workspace_dependencies
cargo test --workspace
Attendu : Clippy sans warning, Transport 383 unit / 49 public API / 43 release-completeness / 4 doctests et workspace vert. Aucun cargo tree supplémentaire n'est requis, le graphe Cargo étant inchangé.