3.9 KiB
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 :
RawTransactionObservationInspectionQuery
RawAccountObservationInspectionQuery
Elles portent uniquement :
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 :
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 :
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 :
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 :
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
delivery = 0.3.8-pre.009
workspace.package.version = 0.3.8-pre.9
commit = v0.3.8-pre.009
tag = aucun
Gate requis
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