Files
khadhroony-solana-project/deltas/0.3.10/pre.002-fix.001.md

139 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.3.10/pre.002-fix.001.md -->
<!-- version: 1 -->
# Delta `0.3.10-pre.002-fix.001` — correction des canaris dinté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 dinté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 napparaî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 dintégration de `ksp-raw-transaction-lib`.
### Rustdoc de crate manquante
Quatre fichiers `tests/*.rs` navaient 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 dintégration doit documenter sa crate.
Correction : ajout dune rustdoc `//! ...` conforme aux autres tests dintégration KSP. Aucun `#[allow(missing_docs)]` nest ajouté.
### `clippy::collapsible_if`
Le canari dinventaire 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 linventaire 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 nest pas intégralement vert.