v0.3.8-pre.009
This commit is contained in:
114
deltas/0.3.8/pre.009.md
Normal file
114
deltas/0.3.8/pre.009.md
Normal file
@@ -0,0 +1,114 @@
|
||||
<!-- file: deltas/0.3.8/pre.009.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.8-pre.009` — inspection Store des observations RAW
|
||||
|
||||
## Base requise
|
||||
|
||||
Base directe attendue : `0.3.8-pre.008-fix.001` (`workspace.package.version = 0.3.8-pre.8.fix.1`).
|
||||
|
||||
## Objet
|
||||
|
||||
Ajouter les listings backend-neutres et random-access des observations RAW Transaction et Account, sans modifier le schéma PostgreSQL, les reads par clé existants ni l'UI Store Desk.
|
||||
|
||||
## Store API
|
||||
|
||||
Deux queries sont ajoutées :
|
||||
|
||||
```text
|
||||
RawTransactionObservationInspectionQuery
|
||||
RawAccountObservationInspectionQuery
|
||||
```
|
||||
|
||||
Elles portent uniquement :
|
||||
|
||||
```text
|
||||
network obligatoire
|
||||
référence d'entité exacte optionnelle
|
||||
direction canonique
|
||||
RawInspectionPageRequest { offset, limit }
|
||||
```
|
||||
|
||||
Une référence fournie doit appartenir au même network que la query.
|
||||
|
||||
Deux summaries sûres sont ajoutées :
|
||||
|
||||
```text
|
||||
RawTransactionObservationSummary
|
||||
RawAccountObservationSummary
|
||||
```
|
||||
|
||||
La summary Transaction contient observation key, référence transaction et provenance d'acquisition sûre. La summary Account contient observation key, référence account, provenance sûre et metadata Yellowstone optionnelles déjà présentes dans le modèle (`is_startup`, transaction signature, `write_version`). Aucun payload transaction ni byte Account n'est exposé.
|
||||
|
||||
Deux nouvelles capabilities complètent l'API :
|
||||
|
||||
```text
|
||||
RawTransactionObservationInspectionRead
|
||||
RawAccountObservationInspectionRead
|
||||
```
|
||||
|
||||
L'inventaire RAW passe de 12 à 14 capabilities. Les reads `RawTransactionObservationRead` / `RawAccountObservationRead` par observation key restent inchangés.
|
||||
|
||||
## Store façade
|
||||
|
||||
`ksp-store-lib::Store` implémente et dispatch les deux capabilities après le même contrôle de cohérence network pré-I/O que les autres opérations Store. Aucun type PostgreSQL, SQL ou handle physique ne traverse la façade.
|
||||
|
||||
Les exports crate-root et les canaris d'inventaire sont réconciliés à 105 exports Store façade et 14 capabilities RAW symétriques.
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
`ksp-store-postgres-lib` ajoute quatre statements privés :
|
||||
|
||||
```text
|
||||
INSPECT_OBSERVATIONS_ASC_SQL
|
||||
INSPECT_OBSERVATIONS_DESC_SQL
|
||||
INSPECT_ACCOUNT_OBSERVATIONS_ASC_SQL
|
||||
INSPECT_ACCOUNT_OBSERVATIONS_DESC_SQL
|
||||
```
|
||||
|
||||
Chaque famille utilise une seule instruction par requête avec :
|
||||
|
||||
```text
|
||||
filtered COUNT exact
|
||||
total COUNT exact
|
||||
LEFT JOIN LATERAL
|
||||
LIMIT/OFFSET checked avant I/O
|
||||
ordre déterministe received_at_unix_millis + observation_key
|
||||
```
|
||||
|
||||
Transaction filtre optionnellement par signature exacte de la référence Transaction. Account filtre optionnellement par l'identité complète `(pubkey, slot, state_hash)`.
|
||||
|
||||
Les projections sont strictement metadata-only : aucun payload/archive Transaction et aucun `account data` ne sont sélectionnés. Les statements keyset/cursor existants restent OFFSET-free et les reads par clé restent inchangés.
|
||||
|
||||
Aucune migration ou index n'est ajouté dans cette tranche.
|
||||
|
||||
## Règles d'Items
|
||||
|
||||
Les nouveaux items `pub`/`pub(crate)` sont réexportés jusqu'aux `lib.rs` concernés. Les accès crate-wide utilisent les chemins `crate::Item`, y compris pour les helpers PostgreSQL visibles entre modules.
|
||||
|
||||
## Hors scope
|
||||
|
||||
Aucune UI Observation n'est ajoutée à Store Desk dans `pre.009`; l'intégration visuelle et le hardening UX restent réservés à `pre.010`. Aucun Config, capability Tauri, migration, index, action de rétention ou changement des DataTables Transactions/Accounts n'est introduit.
|
||||
|
||||
## Version
|
||||
|
||||
```text
|
||||
delivery = 0.3.8-pre.009
|
||||
workspace.package.version = 0.3.8-pre.9
|
||||
commit = v0.3.8-pre.009
|
||||
tag = aucun
|
||||
```
|
||||
|
||||
## Gate requis
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-store-api
|
||||
cargo test -p ksp-store-postgres-lib
|
||||
cargo test -p ksp-store-lib
|
||||
cargo check -p ksp-store-lib --no-default-features
|
||||
```
|
||||
Reference in New Issue
Block a user