v0.3.8-pre.006

This commit is contained in:
2026-09-03 16:26:18 +02:00
parent 62d6cf9dac
commit 3a38914be7
36 changed files with 1300 additions and 167 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Plan v0.3.8 — Store Desk V1 RAW
@@ -576,7 +576,7 @@ Même vertical slice pour Account : filtre exact `pubkey`, range slot inclusif,
### pre.006 — composite Config + lifecycle Store + Overview
Créer `config/composite.ksp-app-store-desk.json`, packaging resources, bootstrap Logging+Store, runtime/health safe et fermeture bornée.
Créer `config/composite.ksp-app-store-desk.json`, enregistrer son `file_id` dans le registre partagé `ksp-config-lib`, propager la quinzième ressource Config aux cinq bundles Desk utilisant `prepare_packaged_runtime()`, puis brancher Store Desk sur `ksp-store-lib::Store` uniquement. Le composite sélectionne Logging `supertrace` et le profil Store homonyme `devnet`/`mainnet`/`testnet`. L'Overview et Diagnostics exposent uniquement backend logique, network, health, migration et compteurs de pool via un DTO IPC backend-neutral ; aucune URI, credential, SQL, handle physique ou byte RAW. La fermeture de la fenêtre principale déclenche une fermeture Store one-shot et bornée avant sortie Tauri. Les DataTables Transactions/Accounts restent locales et `serverSide:false` jusqu'à `pre.007`/`pre.008`.
### pre.007 — RawTransaction DataTables serverSide + détail

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 11 -->
<!-- version: 12 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -91,9 +91,9 @@ Le journal opérateur fourni pour v0.3.7 rapporte un gate complet. Il reste une
- [X] `pre.002` scaffold KSP strict + DataTables skeleton ;
- [X] `pre.003` contrats Store inspection offset/count/summaries ;
- [ ] `pre.004` PostgreSQL + façade inspection RawTransaction ;
- [ ] `pre.005` PostgreSQL + façade inspection RawAccountState ;
- [ ] `pre.006` composite Logging+Store + Overview/health ;
- [X] `pre.004` PostgreSQL + façade inspection RawTransaction ;
- [X] `pre.005` PostgreSQL + façade inspection RawAccountState ;
- [X] `pre.006` composite Logging+Store + Overview/health ;
- [ ] `pre.007` RawTransaction DataTables serverSide + détail ;
- [ ] `pre.008` RawAccountState DataTables serverSide + détail ;
- [ ] `pre.009` observation listing/inspection Store ;
@@ -464,3 +464,51 @@ Les garanties pertinentes restent strictes et redondantes :
Aucun SQL, runtime PostgreSQL, contrat public, migration, capability, modèle ou comportement Store n'est modifié.
## 25. Clôture opérateur `pre.005-fix.003`
Le rejeu opérateur sur `0.3.8-pre.5.fix.3` ferme `pre.005` sans réserve :
```text
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
KSP workspace Rust rule audit: clean
Markdown table audit: clean (314 table(s), 701 file(s))
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: PASS
cargo test -p ksp-store-postgres-lib: PASS (69 unitaires + integrations/doc-tests)
cargo test -p ksp-store-lib: PASS
cargo check -p ksp-store-lib --no-default-features: PASS
cargo test -p ksp-store-api: PASS
```
Le live proof `postgres_raw_account_live` est également vert sur PostgreSQL 17 :
```text
KSP Store RawAccountState live proof: server major 17
test pre_009_real_postgres_raw_account_vertical_slice_is_atomic_concurrent_and_recoverable ... ok
```
Le smoke `cargo tauri dev` de Store Desk démarre aussi correctement ; le journal confirme le profil Logging `supertrace`, le cycle splash/main et les événements frontend navigation/view/IPC. `pre.006` peut donc ouvrir.
## 26. `pre.006` — composite Config + lifecycle Store + Overview
- [X] `workspace.package.version = 0.3.8-pre.6` ;
- [X] `config/composite.ksp-app-store-desk.json` ajouté avec profils `devnet`, `mainnet`, `testnet` ;
- [X] chaque profil composite sélectionne Logging `supertrace` et le profil `cfg.std.store` homonyme ;
- [X] `cfg.composite.ksp-app-store-desk` et son filename sont enregistrés et réexportés par `ksp-config-lib` ;
- [X] le registre Config passe de 14 à 15 descriptors et conserve son ordre/inventaire exact ;
- [X] une fixture Store Desk adaptée au corpus Config unitaire réduit est ajoutée ;
- [X] les cinq Desk apps utilisant `prepare_packaged_runtime()` embarquent les 15 resources Config/schema ;
- [X] leurs canaris de packaging sont réconciliés de 14 à 15 sans changement de runtime métier ;
- [X] Store Desk dépend désormais de `ksp-store-lib` mais jamais directement de `ksp-store-api` ou `ksp-store-postgres-lib` ;
- [X] le bootstrap charge le composite Store Desk par son `file_id`, valide les composants Logging/Store et garde `Trace` comme fallback Logging sûr ;
- [X] l'ouverture Store passe exclusivement par `ksp_store_lib::Store::open` après résolution `cfg.std.store` ;
- [X] l'Overview/Diagnostics utilise `runtime_snapshot()` et `health()` via `StoreRuntimeStatusDto` ;
- [X] le DTO expose seulement profile/backend/network, health, migration et compteurs de pool ; aucune URI, credential, SQL, handle physique ou byte RAW ;
- [X] la commande Tauri `store_runtime_status` est backend-neutral et ne prend aucun paramètre sensible ;
- [X] la fermeture main-window est interceptée une fois, appelle `Store::close()` via la façade et sort ensuite de Tauri ;
- [X] les tables RAW restent `serverSide:false`, sans invoke d'inspection ni second pager ;
- [X] les clics Refresh, navigation/views, tabs/controls et IPC restent tracés sans valeurs de filtres ni secrets ;
- [X] aucune migration, query métier d'inspection, détail RAW ou changement de capability Tauri n'est ajouté en `pre.006`.
Le gate Cargo opérateur de `pre.006` reste à exécuter après application du delta.