0.3.16-pre.3.fix.2

This commit is contained in:
2026-09-21 11:29:07 +02:00
parent 9a737ef57f
commit ec053c98ab
9 changed files with 157 additions and 22 deletions

View File

@@ -0,0 +1,79 @@
<!-- file: deltas/0.3.16/pre.003-fix.002.md -->
<!-- version: 1 -->
# 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.