102 lines
2.9 KiB
Markdown
102 lines
2.9 KiB
Markdown
<!-- file: deltas/0.3.10/pre.005-fix.002.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta `0.3.10-pre.005-fix.002` — conformité Clippy du canari WS + inventaire dev exact
|
||
|
||
## Base requise
|
||
|
||
```text
|
||
0.3.10-pre.005-fix.001
|
||
```
|
||
|
||
## Motif du fix
|
||
|
||
Le second rejeu opérateur confirme `cargo check --workspace`, la common RAW et la suite Transport complète, mais révèle deux défauts test-only :
|
||
|
||
```text
|
||
25 clippy::question_mark_used dans crates/ksp-job-backfill-lib/tests/ws_raw_parity.rs
|
||
1 canari hardening encore calibré sur dev-dependencies = {tokio}
|
||
```
|
||
|
||
Le manifest `pre.005` contient légitimement `tokio-tungstenite` en dev-only pour les serveurs WebSocket déterministes ; `tests/dependency_boundary.rs` verrouille déjà qu’il ne migre pas vers les dépendances de production.
|
||
|
||
## Corrections
|
||
|
||
`ws_raw_parity.rs` remplace tous les `?` par du contrôle de flux explicite :
|
||
|
||
```text
|
||
Option -> match + retour None
|
||
Result -> match + retour Err/None
|
||
appel async Result -> if let Err(error) + retour Err(error)
|
||
```
|
||
|
||
Aucun `#[allow(...)]`, aucun changement de golden et aucune modification du scénario positif `blockSubscribe` ou négatif Helius ne sont introduits.
|
||
|
||
`hardening.rs` attend désormais exactement :
|
||
|
||
```text
|
||
dev-dependencies = {tokio, tokio-tungstenite}
|
||
```
|
||
|
||
L’inventaire des dépendances normales reste inchangé.
|
||
|
||
## Invariants inchangés
|
||
|
||
```text
|
||
blockSubscribe standard confirmed/full/base64 legacy-v0 -> golden RAW-direct positif
|
||
Helius transactionSubscribe full/base64 -> signal + hydration HTTP
|
||
RAW v1 bytes/hash contracts
|
||
TR-C2 Worker-owned
|
||
tokio-tungstenite strictement dev-only
|
||
aucun code de production modifié
|
||
aucune dépendance ni feature modifiée par ce fix
|
||
```
|
||
|
||
## Version technique
|
||
|
||
```text
|
||
workspace.package.version = 0.3.10-pre.5.fix.2
|
||
Cargo.toml header = 498
|
||
workspace members = 20
|
||
```
|
||
|
||
## Fichiers modifiés
|
||
|
||
```text
|
||
Cargo.toml
|
||
crates/ksp-job-backfill-lib/tests/hardening.rs
|
||
crates/ksp-job-backfill-lib/tests/ws_raw_parity.rs
|
||
docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md
|
||
docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md
|
||
```
|
||
|
||
## Fichier ajouté
|
||
|
||
```text
|
||
deltas/0.3.10/pre.005-fix.002.md
|
||
```
|
||
|
||
## Audits d’assemblage
|
||
|
||
```text
|
||
General Rust rule audit: clean
|
||
Rust export completeness audit: 0 candidate(s)
|
||
KSP workspace Rust rule audit: clean
|
||
Markdown table audit: clean (339 table(s), 761 file(s))
|
||
```
|
||
|
||
## Gate opérateur à rejouer
|
||
|
||
```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-raw-transaction-lib
|
||
cargo test -p ksp-onchain-transport-lib
|
||
cargo test -p ksp-job-backfill-lib
|
||
```
|
||
|
||
Les arbres Cargo n’ont pas besoin d’être rejoués pour ce fix : aucun manifest de crate, aucune dépendance et aucune feature ne change.
|