v0.3.3-pre.008

This commit is contained in:
2026-08-30 14:10:10 +02:00
parent 1f0b202135
commit 84ab2b3651
21 changed files with 816 additions and 62 deletions

View File

@@ -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