139 lines
3.9 KiB
Markdown
139 lines
3.9 KiB
Markdown
<!-- file: deltas/0.3.10/pre.002-fix.001.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta `0.3.10-pre.002-fix.001` — correction des canaris d’intégration RAW et du gate Clippy
|
||
|
||
## Base requise
|
||
|
||
```text
|
||
livraison : 0.3.10-pre.002
|
||
workspace.package.version = 0.3.10-pre.2
|
||
```
|
||
|
||
Le delta historique `deltas/0.3.10/pre.002.md` reste inchangé. Le présent fix trace séparément les défauts révélés par la validation opérateur du 2026-09-06.
|
||
|
||
## Résultat opérateur de la base
|
||
|
||
La validation communiquée confirme :
|
||
|
||
```text
|
||
cargo fmt --all : exécuté
|
||
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), 754 file(s))
|
||
cargo check --workspace : PASS
|
||
cargo test -p ksp-raw-transaction-lib : PASS
|
||
```
|
||
|
||
Les tests de `ksp-raw-transaction-lib` passent fonctionnellement :
|
||
|
||
```text
|
||
9 tests unitaires : PASS
|
||
8 tests d’intégration : PASS
|
||
0 échec
|
||
```
|
||
|
||
Les graphes communiqués confirment la frontière prévue :
|
||
|
||
```text
|
||
ksp-core-lib
|
||
ksp-store-api
|
||
serde_json
|
||
sha2
|
||
```
|
||
|
||
Aucun runtime, Transport, Config, Job, Worker ou backend Store n’apparaît dans le graphe normal de la common crate.
|
||
|
||
## Motif du fix
|
||
|
||
Le gate strict :
|
||
|
||
```bash
|
||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||
```
|
||
|
||
échoue exclusivement sur les nouveaux tests d’intégration de `ksp-raw-transaction-lib`.
|
||
|
||
### Rustdoc de crate manquante
|
||
|
||
Quatre fichiers `tests/*.rs` n’avaient pas de documentation de crate :
|
||
|
||
```text
|
||
crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
|
||
crates/ksp-raw-transaction-lib/tests/public_api.rs
|
||
crates/ksp-raw-transaction-lib/tests/release_completeness.rs
|
||
crates/ksp-raw-transaction-lib/tests/security_hardening.rs
|
||
```
|
||
|
||
Avec `missing_docs` promu en erreur par `-D warnings`, chaque binaire de test d’intégration doit documenter sa crate.
|
||
|
||
Correction : ajout d’une rustdoc `//! ...` conforme aux autres tests d’intégration KSP. Aucun `#[allow(missing_docs)]` n’est ajouté.
|
||
|
||
### `clippy::collapsible_if`
|
||
|
||
Le canari d’inventaire des modules production utilisait deux conditions imbriquées pour filtrer les fichiers `.rs` puis extraire leur nom.
|
||
|
||
Correction : filtrage anticipé avec `continue`, puis `let ... else`, sans `#[allow(clippy::collapsible_if)]` et sans changement de l’inventaire attendu.
|
||
|
||
## Version Cargo
|
||
|
||
Ce fix modifie du Rust de test. Le signal technique Cargo est donc synchronisé :
|
||
|
||
```text
|
||
0.3.10-pre.2 -> 0.3.10-pre.2.fix.1
|
||
```
|
||
|
||
Le header du `Cargo.toml` racine passe de `491` à `492`.
|
||
|
||
## Invariants volontairement inchangés
|
||
|
||
```text
|
||
RAW_TRANSACTION_FORMAT_ID = ksp.solana.raw_transaction
|
||
RAW_TRANSACTION_FORMAT_VERSION = 1
|
||
golden byte_len = 112
|
||
golden sha256 = 220792d2b15d262fda242cb220774ee9ddeffebf04dcfadabcf8ef76a9b1a7c3
|
||
RawObservationKey = producer-owned
|
||
dépendances common = core + store-api + serde_json + sha2
|
||
aucune migration Backfill
|
||
aucun Worker
|
||
aucune nouvelle feature
|
||
```
|
||
|
||
## Fichiers modifiés
|
||
|
||
```text
|
||
Cargo.toml
|
||
crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
|
||
crates/ksp-raw-transaction-lib/tests/public_api.rs
|
||
crates/ksp-raw-transaction-lib/tests/release_completeness.rs
|
||
crates/ksp-raw-transaction-lib/tests/security_hardening.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.002-fix.001.md
|
||
```
|
||
|
||
## Fichiers supprimés
|
||
|
||
Aucun.
|
||
|
||
## Validation à 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 tree -p ksp-raw-transaction-lib --edges normal
|
||
cargo tree -p ksp-raw-transaction-lib -e features
|
||
```
|
||
|
||
`pre.003` reste bloquée tant que ce gate n’est pas intégralement vert.
|