v0.3.2-pre.011
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/000-README.md -->
|
||||
<!-- version: 68 -->
|
||||
<!-- version: 69 -->
|
||||
|
||||
# Plans KSP
|
||||
|
||||
@@ -31,6 +31,7 @@ Un plan décrit le périmètre, les décisions déjà acquises, les questions ou
|
||||
- [`020-V0_2_13_INTERFACE_PLAN.md`](020-V0_2_13_INTERFACE_PLAN.md) — plan historique clôturé de la release stable `0.2.13 — Interface / wire foundation`; il fixe la surface finale `ProgramAccountMeta` + `ProgramInstruction`, les bornes `255` / `10_240`, le firewall Interface -> Core, les canaris de complétude/consumer externe et la frontière avec Program API/RAW/CORE.
|
||||
- [`021-V0_2_14_PROGRAM_API_PLAN.md`](021-V0_2_14_PROGRAM_API_PLAN.md) — plan historique clôturé de la release stable `0.2.14 — Program API foundation`; il fixe la façade instruction-only ouverte, les enums Recognition/Outcome, `ProgramInstructionDecoder`, l'output associé possédé par l'implémentation, le canari externe avec Program Pubkey non enregistré, le firewall Core/Interface et le report du payload canonique D3, du registry runtime et de `ProgramExecutionPreparer`.
|
||||
- [`022-V0_3_1_STORE_RAW_PLAN.md`](022-V0_3_1_STORE_RAW_PLAN.md) — plan candidat réconcilié de `0.3.1 — Store API RAW foundation`; il fixe `ksp-store-api` seul, les modèles transaction/account + observations, queries/outcomes/capabilities, rétention/tombstone, la frontière event-only/Interface et le report de `ksp-store-lib` + PostgreSQL à `0.3.2`.
|
||||
- [`023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md`](023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md) — plan candidat réconcilié de `0.3.2 — Store/PostgreSQL runtime foundation`; il fixe le split façade/backend, `std.store` multi-target réseau-spécifique, tokio-postgres/Deadpool/Rustls, migrations metadata-only, health/readiness, live PostgreSQL et les reports des vertical slices RAW vers `0.3.3`/`0.3.4`.
|
||||
|
||||
Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Plan `0.3.2` — Store/PostgreSQL runtime foundation
|
||||
|
||||
@@ -1117,11 +1117,26 @@ cargo tree --duplicates
|
||||
|
||||
### `pre.010` — Gate technique final
|
||||
|
||||
Base requise : `0.3.2-pre.009` avec hardening/completeness entièrement vert. Le gate opérateur `pre.009` du 29 août 2026 confirme les audits Rust/Markdown, workspace check/Clippy, Store API, backend PostgreSQL, façade avec et sans feature, Config, graphes Cargo et `cargo test --workspace`.
|
||||
Statut : matérialisé et gate technique opérateur exécuté le 29 août 2026.
|
||||
|
||||
Cette tranche ne modifie aucun code de production, test fonctionnel, migration, Config ou dépendance runtime. Elle synchronise uniquement la version de prerelease et prépare le gate technique final.
|
||||
Le gate part de `0.3.2-pre.009` avec hardening/completeness entièrement vert. Il a été rejoué après `cargo clean` sur `0.3.2-pre.10` et confirme :
|
||||
|
||||
Gate final attendu :
|
||||
```text
|
||||
audits Rust clean
|
||||
workspace check + Clippy PASS
|
||||
toutes les crates ciblées PASS
|
||||
ksp-store-lib default + no-default-features PASS
|
||||
cargo test --workspace PASS
|
||||
graphes normal/features/duplicates exécutés
|
||||
3 builds Tauri Linux PASS
|
||||
PostgreSQL live foundation PASS sur major 17
|
||||
```
|
||||
|
||||
La commande opérateur d'audit Markdown a ciblé par erreur `deltas/0.3.1` au lieu de `deltas/0.3.2`. L'overlay `pre.010` avait été audité avec le bon chemin dans l'environnement de génération ; `pre.011` rejoue obligatoirement l'audit Markdown complet avec `deltas/0.3.2` avant de figer la documentation. Ce défaut de scope de commande ne révèle aucun échec runtime et n'ouvre pas de `pre.010-fix`.
|
||||
|
||||
Cette tranche ne modifie aucun code de production, test fonctionnel, migration, Config ou dépendance runtime. Elle synchronise uniquement la version de prerelease et porte le gate technique final.
|
||||
|
||||
Gate final exécuté :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
@@ -1162,7 +1177,24 @@ Aucun développement fonctionnel nouveau n'est autorisé dans `pre.010`. Tout d
|
||||
|
||||
### `pre.011` — Réconciliation documentaire finale
|
||||
|
||||
README/USAGE des deux crates, plan/validation/indexes/architecture réellement impactés. Pas de CHANGELOG/ROADMAP/prompt suivant.
|
||||
Statut : matérialisé par `0.3.2-pre.011`; gate documentaire opérateur requis après application.
|
||||
|
||||
La tranche fige les références durables réellement concernées :
|
||||
|
||||
```text
|
||||
ksp-store-lib/README.md + USAGE.md
|
||||
ksp-store-postgres-lib/README.md + USAGE.md
|
||||
ksp-config-lib README/USAGE complétés pour std.store
|
||||
docs/000-README.md
|
||||
docs/plans/000-README.md
|
||||
docs/validation/000-README.md
|
||||
plan 023
|
||||
validation 019
|
||||
```
|
||||
|
||||
Les architectures `003/004/005/008` ont été relues sur la base `pre.010` et restent cohérentes avec la surface réellement livrée ; elles ne sont pas modifiées artificiellement. Le choix historique de `0.3.1-pre.009` de ne pas créer un README/USAGE `ksp-store-api` n'est pas rouvert dans cette release backend/runtime.
|
||||
|
||||
`CHANGELOG.md`, `ROADMAP.md` et le prompt `0.3.3` restent strictement réservés à `pre.012`.
|
||||
|
||||
### `pre.012` — Préparation de publication minimale
|
||||
|
||||
@@ -1221,9 +1253,9 @@ Store Desk
|
||||
|
||||
## 21. Questions restantes
|
||||
|
||||
Aucune question architecturale ne bloque `pre.002`.
|
||||
Aucune question architecturale ou technique ne bloque la préparation de publication de `0.3.2`.
|
||||
|
||||
Les décisions foundation encore ouvertes après `pre.008` sont uniquement des preuves de hardening/completeness et de clôture ; le DDL metadata, le health/readiness et la stratégie du test PostgreSQL réel sont désormais matérialisés.
|
||||
La fondation runtime/backend est fermée fonctionnellement. Les seules surfaces volontairement reportées sont les vertical slices métier déjà réservées à `0.3.3+` : persistence/query/rétention `RawTransaction`, puis `RawAccountState` et conformance RAW.
|
||||
|
||||
Toute découverte qui exigerait :
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/000-README.md -->
|
||||
<!-- version: 32 -->
|
||||
<!-- version: 33 -->
|
||||
|
||||
# Validations KSP
|
||||
|
||||
@@ -27,3 +27,4 @@ Documents :
|
||||
- [`016-V0_2_13_INTERFACE.md`](016-V0_2_13_INTERFACE.md) — matrice historique clôturée de la release stable `0.2.13` : ownership Interface/Core/Transport/Program, surface passive, bornes/adversarial, façade publique exacte, consumer externe, release completeness et dependency firewall.
|
||||
- [`017-V0_2_14_PROGRAM_API.md`](017-V0_2_14_PROGRAM_API.md) — matrice historique clôturée de la release stable `0.2.14 — Program API foundation` : façade instruction-only ouverte, Recognition/Outcome, trait externe, Program Pubkey non enregistré, hardening adversarial, release completeness et firewall Core/Interface.
|
||||
- [`018-V0_3_1_STORE_RAW.md`](018-V0_3_1_STORE_RAW.md) — matrice candidate finale de `0.3.1 — Store API RAW foundation` : modèles transaction/account, observations, capabilities backend, pagination sans policy executor, outcomes, rétention/tombstone, hardening, gate complet `pre.008` et reports explicites vers `0.3.2+`.
|
||||
- [`019-V0_3_2_STORE_POSTGRES_FOUNDATION.md`](019-V0_3_2_STORE_POSTGRES_FOUNDATION.md) — matrice candidate finale de `0.3.2 — Store/PostgreSQL runtime foundation` : feature graph, settings/Config, pool/TLS, migrations metadata-only, health, hardening, graphes, builds Tauri et preuve PostgreSQL réelle major 17.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/019-V0_3_2_STORE_POSTGRES_FOUNDATION.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Validation `0.3.2` — Store/PostgreSQL runtime foundation
|
||||
|
||||
@@ -160,7 +160,7 @@ exports/capabilities existants conservés
|
||||
aucun type backend ajouté pour PostgreSQL
|
||||
```
|
||||
|
||||
Statut : `PASS pre.009 opérateur / TODO revalidation pre.010` — le canari backend externe de `ksp-store-api` est rejoué sans modification de la crate.
|
||||
Statut : `PASS pre.009 opérateur / PASS pre.010 opérateur` — le canari backend externe de `ksp-store-api` est rejoué sans modification de la crate.
|
||||
|
||||
## 4. Public API et settings
|
||||
|
||||
@@ -266,7 +266,7 @@ future RAW mismatch Store.network != entity/query.network rejeté avant I/O
|
||||
|
||||
Matérialisé contractuellement par `pre.004-fix.001`; l'enforcement sur opérations RAW sera exercé dans `0.3.3`/`0.3.4`.
|
||||
|
||||
Statut : `PASS pre.004-fix.001 opérateur` pour la sélection target/réseau / `TODO 0.3.3-0.3.4` pour le mismatch RAW.
|
||||
Statut : `PASS pre.004-fix.001 opérateur` pour la sélection target/réseau / `N/A 0.3.2` pour le mismatch d'opérations RAW, dont l'enforcement appartient aux vertical slices `0.3.3`-`0.3.4`.
|
||||
|
||||
### V32-CONFIG-003 — No-env Store/backend
|
||||
|
||||
@@ -458,7 +458,7 @@ Critères :
|
||||
0 repository RAW métier
|
||||
```
|
||||
|
||||
Statut : `PASS pre.009 opérateur / TODO revalidation pre.010`.
|
||||
Statut : `PASS pre.009 opérateur / PASS pre.010 opérateur`.
|
||||
|
||||
## 9. Health/readiness
|
||||
|
||||
@@ -536,7 +536,7 @@ cleanup metadata
|
||||
|
||||
La preuve rollback évite tout hook public de test : une transaction `tokio-postgres` de test exécute le V000 exact par `include_str!`, insère un sentinel transitoire, provoque ensuite une erreur SQL puis est droppée. Le test vérifie que la metadata n'existe pas après le rollback implicite et que le bootstrap KSP normal peut repartir proprement.
|
||||
|
||||
Statut : `PASS live pre.008 PostgreSQL 17 / TODO revalidation pre.010`.
|
||||
Statut : `PASS live pre.008 PostgreSQL 17 / PASS live pre.010 PostgreSQL 17`.
|
||||
|
||||
### V32-LIVE-004 — PostgreSQL support
|
||||
|
||||
@@ -544,7 +544,7 @@ Critère : test refuse major < 15 et enregistre seulement le major safe réellem
|
||||
|
||||
Cible release : PostgreSQL 18.6. `pre.008` interroge uniquement `SHOW server_version_num`, dérive le major et n'imprime aucune identité de serveur. Le gate opérateur réel a été exécuté avec succès sur PostgreSQL 17.
|
||||
|
||||
Statut : `PASS live pre.008 PostgreSQL 17 / TODO revalidation pre.010`.
|
||||
Statut : `PASS live pre.008 PostgreSQL 17 / PASS live pre.010 PostgreSQL 17`.
|
||||
|
||||
## 11. Security/adversarial
|
||||
|
||||
@@ -636,7 +636,9 @@ PostgreSQL live foundation
|
||||
3 builds Tauri avec resources std.store packagées
|
||||
```
|
||||
|
||||
Statut global `pre.010` : `MATÉRIALISÉ / TODO gate opérateur`.
|
||||
Statut global `pre.010` : `PASS technique opérateur`.
|
||||
|
||||
Le gate a été rejoué après `cargo clean` sur `0.3.2-pre.10` : audits Rust, workspace check/Clippy, tests ciblés, `cargo test --workspace`, graphes Cargo, trois builds Tauri et PostgreSQL live major 17 sont verts. La ligne d'audit Markdown opérateur a utilisé `deltas/0.3.1` par erreur ; l'overlay `pre.010` avait été audité avec `deltas/0.3.2` dans l'environnement de génération et `pre.011` rejoue le scope Markdown exact avant clôture documentaire.
|
||||
|
||||
## 14. Gates Rust/workspace
|
||||
|
||||
@@ -686,9 +688,27 @@ cargo test --workspace
|
||||
|
||||
Les trois builds Tauri sont requis au gate final parce que `pre.004` a réellement ajouté les resources `std.store` au packaging desktop.
|
||||
|
||||
Statut global : `TODO gate opérateur pre.010`.
|
||||
Statut global technique : `PASS pre.010 opérateur`; audit Markdown `deltas/0.3.2` à rejouer dans le gate documentaire `pre.011`.
|
||||
|
||||
## 15. Critères de fermeture
|
||||
## 15. Réconciliation documentaire `pre.011`
|
||||
|
||||
Critères :
|
||||
|
||||
```text
|
||||
README/USAGE ksp-store-lib présents et alignés sur la façade publique
|
||||
README/USAGE ksp-store-postgres-lib présents et explicitement backend-only
|
||||
ksp-config-lib README/USAGE documentent cfg.std.store et les targets réseau
|
||||
indexes docs/plans/validation référencent 0.3.2
|
||||
plan 023 reflète le gate technique réel
|
||||
matrice 019 ne conserve aucun TODO applicable à 0.3.2
|
||||
CHANGELOG/ROADMAP/prompt suivant inchangés
|
||||
```
|
||||
|
||||
Les architectures générales Store ont été relues et restent cohérentes ; aucune modification artificielle n'est nécessaire.
|
||||
|
||||
Statut : `MATÉRIALISÉ pre.011 / TODO gate documentaire opérateur`.
|
||||
|
||||
## 16. Critères de fermeture
|
||||
|
||||
La matrice ne peut passer en finale que si tous les critères applicables sont `PASS` et que :
|
||||
|
||||
@@ -703,4 +723,4 @@ PostgreSQL live vert
|
||||
workspace/clippy/tests verts
|
||||
```
|
||||
|
||||
La réconciliation finale de cette matrice appartient à la prerelease documentaire précédant la lane de publication.
|
||||
La réconciliation finale de cette matrice est matérialisée par `pre.011`. Après son gate documentaire vert, la seule étape restante est la préparation de publication minimale `pre.012`.
|
||||
|
||||
Reference in New Issue
Block a user