v0.3.8-pre.008

This commit is contained in:
2026-09-03 19:53:25 +02:00
parent 10515d1562
commit 489d686023
16 changed files with 1050 additions and 35 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -638,3 +638,39 @@ Le gate opérateur de `pre.007-fix.002` confirme le comportement runtime attendu
- [X] aucun frontend, backend, IPC, Store, SQL ou capability Tauri n'est modifié.
Le gate Cargo de ce fix reste à rejouer après application du delta.
## 32. Clôture `pre.007-fix.003` et assemblage `pre.008` — RAW Accounts server-side
Le gate opérateur de `0.3.8-pre.7.fix.3` est entièrement vert :
```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), 707 file(s))
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: PASS
cargo test -p ksp-app-store-desk: PASS (21 unitaires + 4 dependency + 11 desktop contract + 9 security + 1 public API)
cargo test -p ksp-store-lib: PASS
cargo check -p ksp-store-lib --no-default-features: PASS
```
`pre.008` branche uniquement la famille RAW AccountState dans Store Desk :
- [X] `workspace.package.version = 0.3.8-pre.8` ;
- [X] nouveaux DTO app-owned `StoreAccount*Dto`, tous `pub(crate)` réexportés via `lib.rs` et consommés sous `crate::Item` ;
- [X] la requête Account IPC ne transporte que offset décimal, limit 25/50/100, pubkey exacte optionnelle, slot min/max optionnels et direction canonique ;
- [X] aucun draw/search/order/cursor/network/URI/backend physique ne traverse la requête ;
- [X] le network est dérivé du Store déjà ouvert ;
- [X] `RawAccountStateInspectionRead::inspect_raw_account_states` fournit counts exacts et summaries data-free ;
- [X] les rows exposent pubkey, slot, state hash, owner, lamports, executable, rent epoch et data length sans byte Account ;
- [X] `RAW Accounts` passe à `serverSide:true`, `searching:false`, `ordering:false`, 25/50/100 et conserve DataTables comme unique pager ;
- [X] les counts restent décimaux jusqu'au contrôle `Number.MAX_SAFE_INTEGER` côté frontend ;
- [X] `store_get_account_detail` reçoit uniquement pubkey + slot + state hash de la row et dérive le network côté Rust ;
- [X] le détail appelle `RawAccountStateRead::get_raw_account_state` et projette au maximum 512 bytes de data en preview hex ;
- [X] pubkey, owner, state hash et preview data sont copiables via le helper générique sans journaliser leur valeur ;
- [X] les filtres Account, pages, page lengths, redraws, refresh et détail sont tracés sans valeurs métier ;
- [X] aucune modification Store API, Store façade, PostgreSQL, SQL, migration, Config ou capability Tauri n'est nécessaire.
Le gate Cargo de `pre.008` reste à rejouer après application du delta.