Files
khadhroony-solana-project/deltas/0.3.11/pre.003-fix.001.md

3.2 KiB

Delta 0.3.11-pre.003-fix.001 — propagation d'erreur explicite des settings

Base requise

0.3.11-pre.003
workspace.package.version = 0.3.11-pre.3

Défaut opérateur constaté

Le gate opérateur du 8 septembre 2026 confirme que cargo fmt --all, les audits Rust/Markdown et cargo check --workspace passent, mais cargo clippy --workspace --all-targets --all-features -- -D warnings rejette deux usages de l'opérateur ? dans RawTransactionIngestSettings::new.

Diagnostics :

crates/ksp-worker-raw-transaction-ingest-lib/src/settings.rs:42:9
clippy::question_mark_used

crates/ksp-worker-raw-transaction-ingest-lib/src/settings.rs:48:9
clippy::question_mark_used

La règle normative RUST-ERR-002 interdit également l'opérateur ? en code de production. Les tests de la crate communiqués dans le même journal restent verts : 4 tests unitaires, 3 tests dependency-boundary et 3 tests public API, sans échec.

Objectif

Corriger strictement pre.003 sans modifier son contrat fonctionnel : remplacer les deux propagations ? par un contrôle de flux explicite retournant exactement la même erreur. Aucun type, borne, default, code d'erreur, dépendance, test, lifecycle ou comportement runtime n'est ajouté.

Version

Le correctif touche un fichier Rust de production. Conformément à VER-ID-007 et VER-ID-010 :

identifiant de livraison : 0.3.11-pre.003-fix.001
workspace.package.version : 0.3.11-pre.3.fix.1

Modification

Dans RawTransactionIngestSettings::new, les validations de :

admission_queue_capacity
persistence_concurrency

utilisent désormais if let Result::Err(error) puis return Err(error). La validation de shutdown_drain_timeout était déjà explicite et reste inchangée.

Fichiers ajoutés

deltas/0.3.11/pre.003-fix.001.md

Fichiers modifiés

Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/src/settings.rs

Fichiers supprimés

Aucun.

Validations exécutées dans l'environnement d'assemblage

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
scan statique : aucun opérateur `?` restant dans settings.rs
scan statique : aucune modification de surface publique/settings hors propagation d'erreur

L'environnement d'assemblage ne fournit ni cargo, ni rustc, ni rustfmt. Aucun gate Cargo du fix n'est déclaré PASS localement.

Gate opérateur demandé

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-worker-raw-transaction-ingest-lib
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features

Décision

pre.004 reste bloquée jusqu'à validation opérateur verte de ce fix. Aucun périmètre de pre.003 n'est redéfini.

Questions ouvertes

Aucune.