Files
khadhroony-solana-project/deltas/0.3.16/pre.003-fix.001.md
2026-09-21 10:33:06 +02:00

3.0 KiB

Delta 0.3.16-pre.003-fix.001 — conformité Rust de V003

Base requise

0.3.16-pre.003 appliquée
workspace.package.version = 0.3.16-pre.3

Le gate opérateur de pre.003 confirme que cargo check --workspace et les suites ciblées ksp-store-postgres-lib passent, y compris les 82 tests unitaires, les tests de frontière, de hardening et les trois canaris V003. Le gate reste toutefois rouge avant ce fix : 31 violations de l'audit Rust et un unused import transformé en erreur par Clippy -D warnings.

Version

Cette correction modifie du Rust :

workspace.package.version = 0.3.16-pre.3.fix.1

Corrections

Le fix est strictement structurel et ne modifie ni le schéma SQL V003 ni son comportement métier :

  • les blocs pub use et pub(crate) use de ksp-store-postgres-lib sont séparés et ordonnés selon les règles du workspace ;
  • les fonctions legacy migration::bootstrap et migration::current_migration_version sont réexportées à la racine sous les alias privés crate::legacy_bootstrap et crate::legacy_current_migration_version ;
  • migration_v003.rs ne traverse plus directement le module privé crate::migration ;
  • V003SchemaResource reste réexporté à la racine et est réellement utilisé via crate::V003SchemaResource dans le calcul du checksum, au lieu d'être supprimé ou masqué par un allow ;
  • les tests V003 utilisent crate::current_migration_version et crate::V003_RESOURCES lorsqu'ils ciblent des items pub(crate) ;
  • les champs pub(crate) de V003SchemaResource reçoivent leur rustdoc adjacente ;
  • les blocs homogènes de constantes sont remis au format exact attendu par RUST-FMT-112 ;
  • aucune annotation #[allow(unused_imports)] et aucun marquage artificiel #[cfg(test)] ne sont ajoutés.

Invariants conservés

Aucune ressource sous migrations/v003_raw_transaction_variants/ n'est incluse ou modifiée par ce fix.

Le checksum V003 reste donc :

3c9cf41877c96944a378abb41ee7a8d8ab7f99fc6dc2bb7a26c295cf8f9fc914

Les checksums V000/V001/V002 et les sources historiques src/migration.rs / src/schema.rs restent inchangés.

Le fix ne modifie pas les quatre tables, les dix-huit contraintes, les trois index, la politique de backfill, la sémantique content_hash, ni le comportement de concurrence V002 -> V003.

Validation demandée

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

cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-store-postgres-lib --all-targets --all-features

Les trois tests PostgreSQL live restent opt-in comme dans pre.003.

Suite

Après gate propre : 0.3.16-pre.004 — backend PostgreSQL V003, bootstrap paresseux de l'identité, ledger de variantes, rattachement exact des nouvelles observations, idempotence et concurrence d'insertion.