v0.3.4-pre.012

This commit is contained in:
2026-08-31 00:33:51 +02:00
parent 5fc7f65b2c
commit dfa01b1381
8 changed files with 451 additions and 41 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/plans/025-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT_PLAN.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# 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 ; `pre.003-fix.001` corrige uniquement l'ordre alphabétique du bloc `const` de `migration.rs` et son gate opérateur complet est PASS. `0.3.4-pre.004` ouvre le mapping PostgreSQL privé et les deux lectures `get` account ; `pre.004-fix.001` corrige uniquement leur conformité au profil Clippy KSP et un canari inutilisé. `pre.005` ajoute l'acquisition atomique, `pre.006` l'observation supplémentaire, `pre.007` la pagination/cursor account et `pre.007-fix.001` réconcilie ses canaris ; le gate opérateur complet du fix est PASS. `pre.008` ouvre les quatre capabilities account sur `PostgresBackend` puis leur dispatch dans `Store`, pour porter l'inventaire RAW à 10/10 sans nouveau SQL ; `pre.008-fix.001` corrige son unique canari mal réconcilié et son gate opérateur complet est PASS. `pre.009` ajoute la preuve PostgreSQL live account et réconcilie l'isolation du live RawTransaction avec le schéma V002 complet ; son gate standard et son live account sur PostgreSQL 17 sont PASS. `pre.010` ferme le hardening et la complétude cross-family sans modifier le runtime ou les migrations ; son gate opérateur complet est PASS. `pre.011` ouvre exclusivement le gate technique final, le replay live ciblé et les graphes Cargo avant toute réconciliation documentaire.
`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 ; `pre.003-fix.001` corrige uniquement l'ordre alphabétique du bloc `const` de `migration.rs` et son gate opérateur complet est PASS. `0.3.4-pre.004` ouvre le mapping PostgreSQL privé et les deux lectures `get` account ; `pre.004-fix.001` corrige uniquement leur conformité au profil Clippy KSP et un canari inutilisé. `pre.005` ajoute l'acquisition atomique, `pre.006` l'observation supplémentaire, `pre.007` la pagination/cursor account et `pre.007-fix.001` réconcilie ses canaris ; le gate opérateur complet du fix est PASS. `pre.008` ouvre les quatre capabilities account sur `PostgresBackend` puis leur dispatch dans `Store`, pour porter l'inventaire RAW à 10/10 sans nouveau SQL ; `pre.008-fix.001` corrige son unique canari mal réconcilié et son gate opérateur complet est PASS. `pre.009` ajoute la preuve PostgreSQL live account et réconcilie l'isolation du live RawTransaction avec le schéma V002 complet ; son gate standard et son live account sur PostgreSQL 17 sont PASS. `pre.010` ferme le hardening et la complétude cross-family sans modifier le runtime ou les migrations ; son gate opérateur complet est PASS. `pre.011` ouvre exclusivement le gate technique final, le replay live ciblé et les graphes Cargo avant toute réconciliation documentaire ; ses tests `--no-default-features`, le workspace complet, les graphes Cargo et le replay live account sur PostgreSQL 17 sont PASS. `pre.012` ouvre exclusivement la réconciliation documentaire finale sans rouvrir le code fonctionnel.
Base canonique auditée :
@@ -17,11 +17,11 @@ workspace.package.version = 0.3.3
Version de travail de cette prerelease :
```text
workspace.package.version = 0.3.4-pre.10
label = 0.3.4-pre.010
workspace.package.version = 0.3.4-pre.12
label = 0.3.4-pre.012
```
Décision de scope : `ksp-store-api` reste inchangée. L'inventaire backend/façade est désormais 10/10 ; les tranches restantes portent uniquement sur la preuve PostgreSQL réelle, le hardening cross-family, le gate final et la réconciliation documentaire.
Décision de scope : `ksp-store-api` reste inchangée. L'inventaire backend/façade est désormais 10/10 et le couloir technique est fermé ; il ne reste que la réconciliation documentaire courante, puis la pparation de publication et la stabilisation.
## 2. Invariants hérités et frontières
@@ -709,17 +709,17 @@ Les canaris façade comparent directement les noms des dix traits RAW implément
### `pre.011` — Gate technique final
**Statut : matérialisé ; gate opérateur final à exécuter.**
**Statut : alisé ; gate technique final PASS.**
Budget cible : **15-20 min**. La tranche n'ajoute aucun code, test fonctionnel, SQL, migration, capability, dépendance runtime, README/USAGE, CHANGELOG/ROADMAP ou prompt suivant. Elle synchronise uniquement la version de prerelease, le plan, la validation et son delta afin de rejouer le gate technique final sur la surface candidate déjà durcie.
Le gate comprend le workspace complet, `ksp-store-lib` sans feature PostgreSQL, les graphes Cargo façade/backend/features et le replay `postgres_raw_account_live` avec URI dédiée via stdin. Le live account suffit comme preuve finale ciblée : il traverse bootstrap/reopen V002, concurrence/cancellation et coexistence réelle avec `RawTransaction`; les lives foundation et RawTransaction séparés ne sont pas requis par cette tranche.
Le replay de clôture confirme `cargo test -p ksp-store-lib --no-default-features`, `cargo test --workspace`, les graphes Cargo façade/backend/features/duplicates et `postgres_raw_account_live` avec URI dédiée via stdin. Le live account passe sur PostgreSQL 17 et traverse bootstrap/reopen V002, concurrence/cancellation et coexistence réelle avec `RawTransaction`; les lives foundation et RawTransaction séparés ne sont pas requis par cette tranche.
### `pre.012` — Réconciliation documentaire finale
**Statut : planifié.**
**Statut : matérialisé ; gate documentaire opérateur à exécuter.**
Budget cible : **10-15 min**. Réconcilier les documents durables requis avec la surface effectivement validée, sans rouvrir le code fonctionnel ni préparer la publication.
Budget cible : **10-15 min**. Réconcilier les documents durables requis avec la surface effectivement validée, sans rouvrir le code fonctionnel ni préparer la publication. Les README/USAGE de `ksp-store-lib` et `ksp-store-postgres-lib` décrivent désormais la surface RAW 10/10 et les opérations `RawAccountState` ; le plan et la validation enregistrent le PASS technique de `pre.011`. `CHANGELOG.md`, `ROADMAP.md` et le prompt `0.3.5` restent réservés à `pre.013`.
### `pre.013` — Préparation de publication minimale