130 lines
3.4 KiB
Markdown
130 lines
3.4 KiB
Markdown
<!-- file: deltas/0.3.8/pre.003-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.8-pre.003-fix.001` — réconciliation du canari d'exports Store facade
|
|
|
|
## Base requise
|
|
|
|
Base directe attendue :
|
|
|
|
```text
|
|
0.3.8-pre.003
|
|
workspace.package.version = 0.3.8-pre.3
|
|
```
|
|
|
|
La livraison est :
|
|
|
|
```text
|
|
0.3.8-pre.003-fix.001
|
|
workspace.package.version = 0.3.8-pre.3.fix.1
|
|
commit = v0.3.8-pre.003-fix.001
|
|
tag = aucun
|
|
```
|
|
|
|
Le fix modifie un test Rust ; la version Cargo est donc synchronisée conformément à `VER-ID-007` et `VER-ID-010`.
|
|
|
|
## Objectif
|
|
|
|
Corriger le seul échec révélé par le gate opérateur de `pre.003`, sans modifier les contrats ou le runtime de la prerelease.
|
|
|
|
Le test historique :
|
|
|
|
```text
|
|
crates/ksp-store-lib/tests/hardening_completeness.rs
|
|
pre_009_facade_modules_and_crate_root_exports_are_exact
|
|
```
|
|
|
|
attendait encore l'inventaire exact de la façade antérieur aux réexports d'inspection de `pre.003`.
|
|
|
|
## Diagnostic
|
|
|
|
Le gate opérateur est vert pour les audits, `cargo check --workspace`, `cargo clippy --workspace --all-targets`, `ksp-store-api`, le mode `--no-default-features` de `ksp-store-lib` et `ksp-app-store-desk`.
|
|
|
|
`cargo test -p ksp-store-lib` échoue uniquement parce que la liste attendue ne contient pas les huit nouveaux réexports publics intentionnels :
|
|
|
|
```text
|
|
RawAccountStateInspectionQuery
|
|
RawAccountStateInspectionRead
|
|
RawAccountStateSummary
|
|
RawInspectionPage
|
|
RawInspectionPageRequest
|
|
RawTransactionInspectionQuery
|
|
RawTransactionInspectionRead
|
|
RawTransactionSummary
|
|
```
|
|
|
|
La surface réelle observée est donc correcte ; le canari exact est obsolète.
|
|
|
|
## Correction
|
|
|
|
Le tableau attendu du test est complété avec ces huit symboles et son cardinal exact passe :
|
|
|
|
```text
|
|
91 -> 99
|
|
```
|
|
|
|
Aucun fichier de production `ksp-store-api`, `ksp-store-lib`, `ksp-store-postgres-lib` ou `ksp-app-store-desk` n'est modifié.
|
|
|
|
## Invariants préservés
|
|
|
|
```text
|
|
contrats d'inspection pre.003 inchangés
|
|
RawPage cursor/keyset inchangé
|
|
aucune implémentation PostgreSQL d'inspection
|
|
aucun SQL ni migration
|
|
aucun changement DataTables/pagination
|
|
Store Desk supertrace inchangé
|
|
tracing frontend interactions inchangé
|
|
```
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.8/pre.003-fix.001.md
|
|
```
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-store-lib/tests/hardening_completeness.rs
|
|
docs/validation/025-V0_3_8_STORE_DESK.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
```text
|
|
aucun
|
|
```
|
|
|
|
## Validations exécutées dans l'environnement d'assemblage
|
|
|
|
```text
|
|
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
|
|
```
|
|
|
|
Un contrôle statique vérifie également que la liste attendue du canari contient exactement les huit nouveaux exports d'inspection et que le cardinal annoncé est `99`.
|
|
|
|
## Validations non exécutées dans l'environnement d'assemblage
|
|
|
|
`cargo` n'est pas disponible dans l'environnement d'assemblage. Le gate opérateur à rejouer est :
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
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
|
|
cargo test -p ksp-store-api
|
|
cargo test -p ksp-store-lib
|
|
cargo check -p ksp-store-lib --no-default-features
|
|
cargo test -p ksp-app-store-desk
|
|
```
|
|
|
|
`pre.004` ne doit commencer qu'après fermeture de ce gate.
|
|
|
|
## Questions ouvertes
|
|
|
|
Aucune pour ce correctif.
|