v0.3.8-pre.004-fix.001

This commit is contained in:
2026-09-03 12:33:16 +02:00
parent c4198ac656
commit 3bb73e81e4
6 changed files with 152 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -333,3 +333,29 @@ Le canari d'inventaire façade corrigé est vert. `pre.003` est fermé et `pre.0
- [X] inventaires exacts Store/PostgreSQL passent de 10 à 11 implementations RAW et restent symétriques ;
- [X] aucune migration, table, index, capability Account inspection, UI Desk ou protocole DataTables n'est ajouté dans cette tranche.
## 19. Gate opérateur `pre.004` et ouverture de `pre.004-fix.001`
Le gate opérateur de `pre.004` confirme que les audits Rust/Markdown, `cargo check --workspace`, `ksp-store-lib`, `ksp-store-api` et les 66 tests unitaires PostgreSQL sont verts. Deux défauts de tests empêchent toutefois la fermeture de la tranche :
```text
cargo clippy --workspace --all-targets: FAIL
4 x clippy::implicit-return dans hardening_completeness.rs
cargo test -p ksp-store-postgres-lib: FAIL
pre_006_raw_pagination_is_keyset_cursor_bound_and_policy_free
canari historique interdisant OFFSET sur tout raw_transaction.rs
```
Le second échec ne remet pas en cause le contrat `pre.004` : l'`OFFSET` est volontairement autorisé uniquement dans les statements d'inspection random-access, tandis que les statements `LIST_TRANSACTIONS_*` cursor/keyset doivent rester OFFSET-free. `pre.004-fix.001` rescope donc le canari historique sur les statements keyset eux-mêmes au lieu de l'appliquer au fichier physique complet.
Le live proof lancé ensuite n'a pas fourni de preuve PostgreSQL exploitable : le journal ne contient pas la ligne `server major ...`, émise seulement après lecture de l'URI et connexion initiale. L'exécution observée est compatible avec une attente sur `stdin().read_line()`. Le fix rend cette attente explicite dans le message du test. Pour une saisie locale masquée :
```bash
read -rsp 'Dedicated PostgreSQL URI: ' KSP_LIVE_PG_URI
printf '\n'
printf '%s\n' "$KSP_LIVE_PG_URI" | cargo test -p ksp-store-postgres-lib --test postgres_raw_transaction_live -- --ignored --nocapture
unset KSP_LIVE_PG_URI
```
Aucun SQL, contrat Store, runtime PostgreSQL ou comportement d'inspection de production n'est modifié par ce fix.