2.6 KiB
Delta v0.3.15-pre.014-fix.002 — correction de typage du gate fix.001
Base requise
ksp-general-0.3.15-pre.014-fix.001.zip
SHA-256 : 5be219224ea361d9e604943e79dd6eaad79f74679467ce0441408204d0a3912c
bytes : 160680
Cause
Le gate opérateur de pre.014-fix.001 passe les audits et cargo check --workspace, puis Clippy/tests compilant les tests de ksp-store-postgres-lib échouent sur unit_tests/raw_transaction.rs :
expected Option<i64>
found Option<u64>
Le test projette RawTimestamp::unix_millis() (u64) vers RawTransactionRow::block_time_unix_millis (Option<i64>). Le fixture porte block_time=None, mais la closure reste entièrement typée à la compilation.
Correction
La projection du test utilise désormais une conversion bornée et non-panique :
block_time.map(unix_millis).and_then(i64::try_from(...).ok())
La sémantique de production de pre.014-fix.001 reste inchangée. Aucun unwrap, expect, panic, changement Store runtime, Transport ou Worker n'est introduit par ce fix.
Résultat live déjà observé sur la base fix.001
Le run opérateur confirme que la compatibilité logMessages tronqués fonctionne en production : plusieurs observations Mainnet tronquées sont acceptées avec le domaine store.raw_transaction.compatible_partial, le canonique complet reste inchangé et aucun content_conflict n'est émis pour ces cas.
Le même run reproduit toutefois grpc_backpressure_overflow sur Yellowstone Mainnet à 22:09:54, bien avant le Stop opérateur à 22:12:03. Ce défaut appartient au couloir acquisition Yellowstone de pre.013. Conformément à VER-LIFECYCLE-010, il ouvrira une nouvelle prerelease dédiée après validation de ce fix ; il n'est pas mélangé à pre.014-fix.002.
Validation opérateur
cargo fmt --all
cargo fmt --all -- --check
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/0.3.15
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-store-postgres-lib --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
cargo test -p ksp-app-raw-transaction-ingest-desk --all-targets --all-features
cargo test --workspace --all-targets --all-features
Le live n'a pas besoin d'être rejoué pour valider la correction de typage elle-même ; le prochain live prolongé appartient à la prerelease acquisition dédiée.