v0.3.8-pre.003

This commit is contained in:
2026-09-03 11:39:09 +02:00
parent 74890a6268
commit 9300dccbe2
22 changed files with 1109 additions and 40 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Plan v0.3.8 — Store Desk V1 RAW
@@ -96,6 +96,24 @@ kbot3 n'est jamais une source de package, HTML, SASS, assets, Rust, TypeScript o
La sélection DataTables n'est pas justifiée par une action V1 : le détail s'ouvre par une action explicite dans la row. `datatables.net-select-bs5` n'est donc pas requis tant qu'une sélection persistante n'apporte pas une fonction réelle.
### 4.2 Invariant tracing Store Desk
Pendant le développement de `ksp-app-store-desk`, le profil Logging demandé explicitement est `supertrace`; le fallback local reste `Trace`. Cette sélection est temporairement volontairement verbeuse et sera réévaluée avant `rel.001`.
Toute interaction opérateur significative du frontend doit être tracée via le bridge KSP, sans contenu sensible :
```text
clic bouton / action explicite
activation tab / vue
changement de filtre ou contrôle
Refresh
ouverture détail
pagination / changement de page length DataTables
redraw/query serverSide et échec IPC associé
```
Les événements transportent uniquement des identifiants de contrôle, catégories d'action et compteurs sûrs. Les valeurs de filtres, payloads, URI, credentials et contenu RAW ne sont jamais injectés dans les logs. Les handlers métier peuvent ajouter un événement plus précis, mais aucune interaction nouvellement introduite ne doit rester silencieuse.
## 5. npm / DataTables map
Les ranges KSP v0.3.7 observés dans Config/Wallet Desk sont :

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 3 -->
<!-- version: 4 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -89,7 +89,7 @@ Le journal opérateur fourni pour v0.3.7 rapporte un gate complet. Il reste une
## 8. Gates futures
- [ ] `pre.002` scaffold KSP strict + DataTables skeleton ;
- [X] `pre.002` scaffold KSP strict + DataTables skeleton ;
- [ ] `pre.003` contrats Store inspection offset/count/summaries ;
- [ ] `pre.004` PostgreSQL + façade inspection RawTransaction ;
- [ ] `pre.005` PostgreSQL + façade inspection RawAccountState ;
@@ -220,3 +220,39 @@ Le correctif `pre.002-fix.001` reste strictement dans le couloir scaffold de `pr
- aucune capability Store, aucun SQL, aucun changement darchitecture pagination.
La case `pre.002` reste ouverte jusquau gate opérateur du fix.
## 14. Gate opérateur `pre.002-fix.001`
Le gate complet rejoué par lopérateur après le fix est 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), 693 file(s))
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: PASS
cargo test -p ksp-app-store-desk: PASS
```
Détail Store Desk communiqué : 12 tests unitaires, 2 dependency-boundary, 6 desktop-contract, 3 desktop-security, 1 public-API, tous verts. Les arbres `cargo tree` normal/features ont également été produits. `pre.002` est donc fermé et `pre.003` peut souvrir.
## 15. `pre.003` — contrats Store dinspection et tracing développement
- [X] `workspace.package.version = 0.3.8-pre.3` ;
- [X] `RawInspectionPageRequest` sépare explicitement offset/limit de `RawPageRequest` cursor ;
- [X] `RawInspectionPage<T>` expose `total_items` / `filtered_items` exacts avec validation de cohérence ;
- [X] `RawTransactionInspectionQuery` conserve network/range/direction et page random-access ;
- [X] `RawAccountStateInspectionQuery` conserve network/pubkey?/range/direction et page random-access ;
- [X] `RawTransactionSummary` exclut les payload bytes et expose uniquement metadata/retention/size ;
- [X] `RawAccountStateSummary` exclut les data bytes et expose uniquement metadata/data length ;
- [X] `RawTransactionInspectionRead` et `RawAccountStateInspectionRead` sont object-safe et backend-neutral ;
- [X] `ksp-store-lib` réexporte les nouveaux contrats sans encore les implémenter sur `Store` ;
- [X] le chemin cursor/keyset existant reste inchangé ;
- [X] aucun SQL, migration ou backend physique nest introduit ;
- [X] aucun nom/protocole DataTables nentre dans `ksp-store-api` ;
- [X] Store Desk demande explicitement le profil Logging `supertrace` pendant le développement ;
- [X] fallback Logging Store Desk reste `Trace` ;
- [X] tracing frontend couvre boutons, navigation, tabs, changements de contrôles, Refresh et IPC ;
- [X] les futurs événements DataTables page/length/query doivent être instrumentés lors de `pre.007`/`pre.008` sans logguer les valeurs de filtres ni payloads.