80 lines
3.3 KiB
Markdown
80 lines
3.3 KiB
Markdown
<!-- 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.
|