v0.3.8-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Plan v0.3.8 — Store Desk V1 RAW
|
||||
|
||||
@@ -608,7 +608,9 @@ Le détail reçoit uniquement l'identité de row `(pubkey, slot, state_hash)`, d
|
||||
|
||||
### pre.009 — extension Store observations
|
||||
|
||||
Ajouter les listings/summaries d'observations transaction/account backend-neutral. S'ils sont tabulaires, employer la même primitive d'inspection offset/count ; read-by-key existant reste intact.
|
||||
Étendre le contrat Store backend-neutral avec `RawTransactionObservationInspectionRead` et `RawAccountObservationInspectionRead`, sans modifier les reads par clé existants. Les deux familles utilisent `RawInspectionPageRequest` / `RawInspectionPage<T>` avec counts exacts et random access offset/limit. La requête porte le network obligatoire, une référence d'entité exacte optionnelle et la direction canonique ; la cohérence network/référence est validée avant dispatch.
|
||||
|
||||
Les summaries d'observation restent strictement sans bytes RAW : clé d'observation, référence durable et `RawAcquisitionProvenance` sûre ; Account conserve seulement les metadata Yellowstone optionnelles déjà présentes dans le modèle (`is_startup`, transaction signature associée, `write_version`). PostgreSQL implémente quatre statements privés, un ASC et un DESC par famille, ordonnés déterministiquement par `(received_at_unix_millis, observation_key)` et utilisant counts + `LEFT JOIN LATERAL` + `LIMIT/OFFSET`. Les queries keyset/read-by-key historiques restent inchangées. L'inventaire symétrique Store/PostgreSQL passe de 12 à 14 capabilities RAW. Aucune migration, index, UI ou DTO DataTables n'est ajouté dans cette tranche ; l'intégration visuelle reste réservée à `pre.010`.
|
||||
|
||||
### pre.010 — observations UI + hardening UX
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
|
||||
<!-- version: 19 -->
|
||||
<!-- version: 20 -->
|
||||
|
||||
# Validation v0.3.8 — Store Desk V1 RAW
|
||||
|
||||
@@ -686,3 +686,54 @@ Le gate opérateur de `0.3.8-pre.8` confirme que les audits KSP, `cargo check --
|
||||
- [X] la version workspace devient `0.3.8-pre.8.fix.1` parce qu'un fichier de test Rust est modifié.
|
||||
|
||||
Le gate Cargo du fix reste à rejouer après application du delta.
|
||||
## 34. Clôture `pre.008-fix.001` et assemblage `pre.009` — inspection Store observations
|
||||
|
||||
Le gate opérateur de `0.3.8-pre.8.fix.1` 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), 709 file(s))
|
||||
cargo check --workspace: PASS
|
||||
cargo clippy --workspace --all-targets: PASS
|
||||
cargo test -p ksp-app-store-desk: PASS (28 unitaires + 5 dependency + 13 desktop contract + 12 security + 1 public API)
|
||||
cargo test -p ksp-store-lib: PASS
|
||||
cargo check -p ksp-store-lib --no-default-features: PASS
|
||||
```
|
||||
|
||||
`pre.009` étend uniquement les contrats et implémentations Store d'inspection des observations RAW :
|
||||
|
||||
- [X] `workspace.package.version = 0.3.8-pre.9` ;
|
||||
- [X] `RawTransactionObservationInspectionQuery` et `RawAccountObservationInspectionQuery` réutilisent `RawInspectionPageRequest`, direction canonique et network obligatoire ;
|
||||
- [X] le filtre entité est optionnel mais, lorsqu'il est présent, doit porter exactement le même network que la query ;
|
||||
- [X] `RawTransactionObservationSummary` expose uniquement observation key, référence transaction et provenance sûre ;
|
||||
- [X] `RawAccountObservationSummary` expose uniquement observation key, référence account, provenance sûre et metadata Yellowstone optionnelles déjà contractuelles ;
|
||||
- [X] aucun payload transaction ni byte Account n'appartient aux summaries ;
|
||||
- [X] `RawTransactionObservationInspectionRead` et `RawAccountObservationInspectionRead` portent l'inventaire API à 14 capabilities RAW ;
|
||||
- [X] `ksp-store-lib::Store` dispatch les deux nouvelles capabilities après validation network pré-I/O ;
|
||||
- [X] `ksp-store-postgres-lib` implémente les deux capabilities sans exposer de SQL ou type physique ;
|
||||
- [X] PostgreSQL utilise deux statements privés par famille, ASC/DESC, avec count exact, `LEFT JOIN LATERAL`, `LIMIT/OFFSET` et ordre déterministe `(received_at_unix_millis, observation_key)` ;
|
||||
- [X] les statements Observation Transaction ne sélectionnent jamais les payload/archive bytes ;
|
||||
- [X] les statements Observation Account ne sélectionnent jamais les bytes `data` ;
|
||||
- [X] les queries keyset/cursor historiques et les reads par observation key restent inchangés ;
|
||||
- [X] les anciens canaris OFFSET restent scopés par statements nommés afin de ne pas confondre inspection random-access et navigation keyset ;
|
||||
- [X] les inventaires Store/PostgreSQL sont symétriques à 14 capabilities ;
|
||||
- [X] les exports Store API et Store façade sont exacts, respectivement 74 et 105 entrées dans leurs canaris d'inventaire ;
|
||||
- [X] les items visibles restent réexportés jusqu'aux `lib.rs` et consommés via `crate::Item` ;
|
||||
- [X] aucune migration, index, Config, Store Desk UI ou capability Tauri n'est modifié dans cette tranche.
|
||||
|
||||
Contrôles statiques disponibles dans l'environnement d'assemblage :
|
||||
|
||||
```text
|
||||
General Rust rule audit: clean
|
||||
Rust export completeness audit: 0 candidate(s)
|
||||
KSP workspace Rust rule audit: clean
|
||||
API crate-root export inventory: 74 / 74 exact
|
||||
Store crate-root re-export inventory: 105 / 105 exact
|
||||
RAW capability inventory: API 14 / Store 14 / PostgreSQL 14
|
||||
Store operation-network validation inventory: 18
|
||||
```
|
||||
|
||||
Le gate Cargo de `pre.009` reste à rejouer après application du delta.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user