v0.3.4-pre.003-fix.001

This commit is contained in:
2026-08-30 21:45:30 +02:00
parent a704a5722e
commit dad18c16d5
5 changed files with 147 additions and 14 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/plans/025-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT_PLAN.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Plan `0.3.4` — Store/PostgreSQL `RawAccountState` + complétude RAW
## 1. Statut de la release
`0.3.4-pre.001` a figé le design. `0.3.4-pre.002` a matérialisé la fondation physique V002 minimale puis `pre.002-fix.001` a corrigé deux canaris sans toucher au SQL. `0.3.4-pre.003` complète V002 avec les contraintes de domaine, l'index de navigation, la compatibilité de schéma et le checksum final, toujours sans repository account ni dispatch façade.
`0.3.4-pre.001` a figé le design. `0.3.4-pre.002` a matérialisé la fondation physique V002 minimale puis `pre.002-fix.001` a corrigé deux canaris sans toucher au SQL. `0.3.4-pre.003` complète V002 avec les contraintes de domaine, l'index de navigation, la compatibilité de schéma et le checksum final, toujours sans repository account ni dispatch façade ; `pre.003-fix.001` corrige ensuite uniquement l'ordre alphabétique du bloc `const` de `migration.rs` révélé par `RUST-FMT-104`.
Base canonique auditée :
@@ -17,8 +17,8 @@ workspace.package.version = 0.3.3
Version de travail de cette prerelease :
```text
workspace.package.version = 0.3.4-pre.3
label = 0.3.4-pre.003
workspace.package.version = 0.3.4-pre.3.fix.1
label = 0.3.4-pre.003-fix.001
```
Décision de scope : `ksp-store-api` reste inchangée. L'audit n'a révélé aucun gap backend-agnostic bloquant ; la difficulté restante est exclusivement l'implémentation physique PostgreSQL et son dispatch par la façade.
@@ -585,7 +585,7 @@ Aucune ressource SQL, migration, table, contrainte, index, surface runtime ou ca
### `pre.003` — Contraintes, index et schema compatibility V002
**Statut : réalisé ; gate opérateur à rejouer.**
**Statut : réalisé ; corrigé par `pre.003-fix.001`, gate opérateur complet du fix à rejouer.**
Budget cible : **15-20 min**. V002 est complétée à **32 resources** : deux tables, 29 contraintes (PK/FK incluses) et un index non unique `(slot, pubkey, state_hash)` sans prédicat. Les contraintes matérialisent les bornes backend-agnostic existantes : fixed-width 32/64 bytes, domaines `u64` via `NUMERIC(20,0)`, data `<= 16 MiB`, codes de provenance 1..128 octets/alphabet sûr, timestamps bornés, ordre `observed_at <= received_at` et source payload `<= 64 MiB`.
@@ -595,6 +595,14 @@ Le probe d'adoption reconnaît désormais aussi les deux tables V002. Aucun `src
Gate de base `pre.002-fix.001` fourni le 2026-08-30 : audits Rust/Markdown, `cargo check --workspace`, Clippy all-targets, suites `ksp-store-api`, `ksp-store-lib`, `ksp-store-postgres-lib`, `ksp-config-lib` et `ksp-store-lib --no-default-features` sont tous PASS.
#### `pre.003-fix.001` — ordre alphabétique du bloc `const` migration
**Statut : réalisé ; gate opérateur complet du fix à rejouer.**
Le gate opérateur de `pre.003` confirme `cargo check --workspace`, Clippy all-targets, `ksp-store-api`, `ksp-store-lib`, `ksp-store-postgres-lib` (45 tests), `ksp-config-lib` et `ksp-store-lib --no-default-features`, mais l'audit Rust détecte une unique violation `RUST-FMT-104` dans `src/migration.rs`. Le correctif déplace seulement `HISTORY_LOAD_SQL` avant `HISTORY_UPDATE_CHECKSUM_SQL` afin de restaurer l'ordre alphabétique du bloc homogène de constantes.
Aucune valeur de constante, requête SQL, ressource V002, checksum, logique de migration, compatibilité de schéma, repository ou capability n'est modifiée. La version Cargo devient `0.3.4-pre.3.fix.1` conformément à `VER-ID-007/010`, car un fichier Rust est modifié.
### `pre.004` — Mapping privé et lectures `get`
**Statut : planifié.**