# Delta `0.3.16-pre.003-fix.001` — conformité Rust de V003 ## Base requise ```text 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 : ```text 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 : ```text 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 ```bash 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.