102 lines
3.2 KiB
Markdown
102 lines
3.2 KiB
Markdown
<!-- file: deltas/0.2.9/pre.010-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.9-pre.010-fix.001` — Clippy reconnect + cohérence crate-root
|
|
|
|
## 1. Base
|
|
|
|
```text
|
|
0.2.9-pre.010
|
|
workspace.package.version = 0.2.9-pre.10
|
|
```
|
|
|
|
Le gate opérateur fourni confirme :
|
|
|
|
```text
|
|
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` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
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
|
|
|
|
```bash
|
|
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é.
|