# Delta `0.3.16-pre.003-fix.002` — façade crate-root V003 conforme aux audits ## Base requise ```text 0.3.16-pre.003-fix.001 appliquée workspace.package.version = 0.3.16-pre.3.fix.1 ``` Le gate opérateur de `pre.003-fix.001` confirme que `cargo check --workspace`, Clippy `-D warnings` et toutes les suites ciblées `ksp-store-postgres-lib` passent. Le fix précédent reste toutefois invalide au niveau des règles du workspace : 53 violations `RUST-DOC-102`, deux violations `RUST-IMPORT-104`, puis quatre candidats dérivés de l'audit d'exports. ## Version Cette correction modifie du Rust : ```text workspace.package.version = 0.3.16-pre.3.fix.2 ``` ## Corrections Le correctif reste structurel et ne modifie aucune ressource SQL V003 : - les rustdocs adjacentes de tous les reexports crate-root de `ksp-store-postgres-lib` sont restaurées ; - aucun alias de `use` ou de reexport n'est utilisé ; - les fonctions historiques V000-V002 restent inchangées dans `migration.rs` et sont réexportées sous leurs noms réels `crate::bootstrap` et `crate::current_migration_version` ; - les fonctions de l'extension V003 deviennent explicitement `crate::bootstrap_v003` et `crate::current_migration_version_v003` ; - `runtime.rs` et `health.rs` consomment explicitement les helpers V003 courants ; - `migration_v003.rs` consomme les helpers historiques uniquement via la façade crate-root ; - les canaris de migration distinguent explicitement la version legacy V002 de la version courante V003 ; - le test de complétude confirme que `migration.rs` reste à sa version historique `10` et sans ressource V003. ## Invariants conservés `crates/ksp-store-postgres-lib/src/migration.rs`, `src/schema.rs` et toutes les ressources sous `migrations/v000_*`, `migrations/v001_*`, `migrations/v002_*` et `migrations/v003_raw_transaction_variants/` restent inchangés par ce fix. Le checksum V003 reste : ```text 3c9cf41877c96944a378abb41ee7a8d8ab7f99fc6dc2bb7a26c295cf8f9fc914 ``` Aucun changement n'est apporté aux quatre tables V003, aux dix-huit contraintes, aux trois index, à la politique de backfill, à la sémantique `content_hash` ni à la logique de concurrence V002 -> V003. ## Validation exécutée lors de la génération Les scripts Python réels du checkout complet ont été exécutés après application du fix : ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean Markdown table audit: clean (352 table(s), 947 file(s)) ``` Le toolchain Rust n'est pas disponible dans l'environnement de génération ; les gates Cargo restent donc opérateur. ## Validation opérateur 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.