v0.3.3-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md -->
|
||||
<!-- version: 8 -->
|
||||
<!-- version: 9 -->
|
||||
|
||||
# Plan `0.3.3` — Store/PostgreSQL RawTransaction vertical slice
|
||||
|
||||
@@ -1148,11 +1148,17 @@ Matérialisation :
|
||||
|
||||
### `0.3.3-pre.008` — façade `ksp-store-lib`
|
||||
|
||||
- six implémentations/dispatches ;
|
||||
- validation réseau pré-I/O ;
|
||||
- erreurs sûres ;
|
||||
- feature mismatch/no-default-features ;
|
||||
- aucune fuite de type PostgreSQL.
|
||||
Tranche matérialisée :
|
||||
|
||||
- les six traits `RawTransaction*` sont implémentés directement sur `PostgresBackend` en adaptant le bridge physique existant vers `StoreApiFuture`/`ksp_store_api::Result` ;
|
||||
- `Store` implémente les mêmes six traits et dispatch uniquement vers le backend compilé ;
|
||||
- les opérations portant `RawNetworkId` valident le réseau dans la façade avant tout appel backend ; `RawTransactionObservationRead` n'a aucun réseau dans son input et reste naturellement scoped par l'instance mono-réseau ;
|
||||
- `Conflict` et `QueryInvalid` conservent les codes API `store_api.raw_conflict` / `store_api.raw_query_invalid` ;
|
||||
- les erreurs runtime stabilisées sont `store.wrong_network`, `store.raw_reference_not_found`, `store.postgres_read_failed`, `store.postgres_write_failed`, `store.postgres_data_invalid`, `store.postgres_page_limit_unsupported` et le code compaction acquis ;
|
||||
- les erreurs conservent uniquement backend/network propre de l'instance + phase statique, jamais SQL/SQLSTATE/binds/texte serveur ;
|
||||
- `cargo check -p ksp-store-lib --no-default-features` reste un gate obligatoire et `Store::open` sans backend compilé conserve `store.backend_not_compiled` ;
|
||||
- aucun trait `RawAccount*`, type PostgreSQL, SQL ou reverse edge backend -> façade n'est ouvert ;
|
||||
- V000/V001 restent byte-identiques.
|
||||
|
||||
### `0.3.3-pre.009` — preuve PostgreSQL live
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Validation `0.3.3` — Store/PostgreSQL RawTransaction vertical slice
|
||||
|
||||
@@ -42,12 +42,12 @@ Le test live est `#[ignore]` dans les gates ordinaires mais sa preuve réelle an
|
||||
|
||||
| Capacité | Backend PostgreSQL | Façade Store | Preuve finale |
|
||||
|----------------------------------|--------------------|--------------|---------------------------|
|
||||
| `RawTransactionRead` | À FAIRE | À FAIRE | unit + integration + live |
|
||||
| `RawTransactionWrite` | À FAIRE | À FAIRE | unit + concurrency live |
|
||||
| `RawTransactionObservationRead` | À FAIRE | À FAIRE | unit + live |
|
||||
| `RawTransactionObservationWrite` | À FAIRE | À FAIRE | unit + concurrency live |
|
||||
| `RawTransactionRetentionRead` | À FAIRE | À FAIRE | unit + live |
|
||||
| `RawTransactionRetentionWrite` | À FAIRE | À FAIRE | unit + race live |
|
||||
| `RawTransactionRead` | PASS pre.008 | PASS pre.008 | unit + integration + live |
|
||||
| `RawTransactionWrite` | PASS pre.008 | PASS pre.008 | unit + concurrency live |
|
||||
| `RawTransactionObservationRead` | PASS pre.008 | PASS pre.008 | unit + live |
|
||||
| `RawTransactionObservationWrite` | PASS pre.008 | PASS pre.008 | unit + concurrency live |
|
||||
| `RawTransactionRetentionRead` | PASS pre.008 | PASS pre.008 | unit + live |
|
||||
| `RawTransactionRetentionWrite` | PASS pre.008 | PASS pre.008 | unit + race live |
|
||||
|
||||
Aucune capacité `RawAccountState`, structurale N2, job ou worker n'est admise dans cette matrice.
|
||||
|
||||
@@ -608,13 +608,19 @@ cap 500/1000 dans Store pagination
|
||||
- `RetentionCompactionUnsupported` stable, aucune représentation `compacted` SQL : PASS statique/unit ;
|
||||
- preuve des races et atomicité PostgreSQL réelle : différée à `pre.009` ;
|
||||
- premier gate opérateur : FAIL local sur un canari `pre.005` devenu obsolète après ouverture légitime du `DELETE` de purge en `pre.007` ;
|
||||
- `pre.007-fix.001` retire uniquement cette interdiction historique globale et conserve le garde-fou contre les implémentations directes des traits Store ; gate opérateur à rejouer.
|
||||
- `pre.007-fix.001` retire uniquement cette interdiction historique globale et conserve le garde-fou jusqu'à ouverture de `pre.008` ; gate opérateur complet PASS le 2026-08-30.
|
||||
|
||||
### `pre.008`
|
||||
|
||||
- façade/feature dispatch ;
|
||||
- no physical leak ;
|
||||
- pre-I/O mismatch.
|
||||
- six implémentations `RawTransaction*` sur `PostgresBackend` : PASS statique/compile-gate à exécuter ;
|
||||
- six dispatches correspondants sur `Store` : PASS statique/compile-gate à exécuter ;
|
||||
- validation réseau façade pré-dispatch : PASS unit/static ;
|
||||
- `RawTransactionObservationRead` reste scoped par l'instance mono-réseau car l'input ne porte aucun réseau ;
|
||||
- mapping `Conflict -> store_api.raw_conflict`, `QueryInvalid -> store_api.raw_query_invalid` : PASS statique ;
|
||||
- codes `wrong_network`, `raw_reference_not_found`, read/write/data/page-limit PostgreSQL stabilisés : PASS public canary ;
|
||||
- aucune fuite PostgreSQL/SQL/env/reverse edge et aucun `RawAccount*` : PASS boundary canaries ;
|
||||
- `--no-default-features` reste requis au gate opérateur ;
|
||||
- V000/V001 inchangées.
|
||||
|
||||
### `pre.009`
|
||||
|
||||
@@ -640,7 +646,7 @@ cap 500/1000 dans Store pagination
|
||||
|
||||
- publication stable.
|
||||
|
||||
## 22. Gate courant `pre.007`
|
||||
## 22. Gate courant `pre.008`
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
|
||||
Reference in New Issue
Block a user