evm.execution_observations

One row per expanded observation point. observation_index supplies canonical point ordering and disambiguates checkpoints sharing one byte-exact logical key.

Kind
View
Layer
execution_read_model
Columns
42
Queries
2

Contract and lifecycle

Grain
One expanded observation point per (execution_id, observation_index); byte-exact observation_key may identify multiple distinct checkpoints.
Lifecycle
run publishes this immutable row set atomically with its owning run. Statement failure or caller rollback publishes no durable prefix; direct DML is unsupported because it can corrupt the documented invariants.
Status and NULLs
Interpret nullable payloads only through their owning status fields. Defensive poisoned and engine_error outcomes mean the engine refused to claim a trustworthy normal result; broad view nullability also covers owner alternatives and left-joined evidence.
Join guidance
  • Join evm.executions on execution_id for candidate and run context.
  • Use attempt_id to deduplicate physical facts expanded across contextual owners.
  • For program owners use step_index; for observation-call owners use observation_index and observation_key.
Effect semantics
  • Access flags describe attempted EVM access, not committed state change.
  • Effect facts retain attempted evidence and final committed, reverted, discarded, or poisoned disposition.
  • execution_state_deltas contains committed checkpoint transitions only; observation-call effects are excluded from execution_effect_summary.

Columns

Identity and ownership

Name Type
execution_id UUID

Contextual execution association identity; do not use it as reusable artifact identity.

observation_key VARCHAR

Byte-exact observation key

attempt_id UUID

Call attempt identity

Contextual keys and reusable identities that establish row ownership.

Chain context

Name Type
chain_id UBIGINT

EVM chain identifier frozen for the owning execution.

chain_profile VARCHAR

Named chain-rules profile frozen for the owning execution.

Pinned chain, block, profile, and revision context.

Ordering and cardinality

Name Type
observation_index UINTEGER

Expanded observation point ordinal

after_step_index UINTEGER

Selected step for after_step

Stable indexes and counts used to reconstruct deterministic order.

Payload and evidence

NameType
checkpoint_kindVARCHAR

pre, terminal, or after_step

read_kindVARCHAR

Canonical READ kind

subject_addressADDRESS

Account or contract whose value is described

asset_kindVARCHAR

Definite asset kind

asset_addressADDRESS

Asset or contract address associated with the read

Showing fewer

Operation-specific inputs, outputs, and authenticated evidence.

Status and disposition

NameType
observation_statusVARCHAR

Observation result status

observation_error_codeVARCHAR

Stable failure code

raw_cache_statusVARCHAR

miss, hit, or not_applicable

decode_cache_statusVARCHAR

miss, hit, or not_applicable

evm_statusVARCHAR

Physical attempt outcome: success, revert, or failure.

Showing fewer

Outcome vocabulary and NULL-controlling disposition fields.

Commitments

NameType
observation_spec_rootBYTES32

Canonical scheduling specification

read_rootBYTES32

Canonical READ specification

checkpoint_state_identity_hashBYTES32

Selected retained checkpoint

source_evidence_rootBYTES32

Authenticated source evidence

raw_result_rootBYTES32

Raw result commitment

Showing fewer

Hashes and roots authenticating specifications, facts, state, or results.

Timestamps

Name Type
created_at TIMESTAMP

Observation result creation time

Contextual publication times that are excluded from reusable semantic identity.

Linked joins

Related public objects

Verified queries

Confirm fixture coverage

Confirm that this object has rows owned by the stable seven-candidate public fixture.

SELECT 'evm.execution_observations'::VARCHAR AS object_name, CASE WHEN count(*) > 0 THEN 'PASS' ELSE 'FAIL' END::VARCHAR AS status FROM evm."execution_observations" o JOIN evm.executions e USING (execution_id) WHERE e.candidate_key IN ('complete-effects', 'later-revert', 'ordered-logs', 'create', 'selfdestruct', 'blockhash', 'transient-access');

Example: table.evm.execution_observations.lookup

Check candidate ownership

Diagnose whether this object remains linked to at least one stable fixture candidate through public keys.

SELECT 'evm.execution_observations'::VARCHAR AS object_name, CASE WHEN count(DISTINCT e.candidate_key) > 0 THEN 'PASS' ELSE 'FAIL' END::VARCHAR AS status FROM evm."execution_observations" o JOIN evm.executions e USING (execution_id) WHERE e.candidate_key IN ('complete-effects', 'later-revert', 'ordered-logs', 'create', 'selfdestruct', 'blockhash', 'transient-access');

Example: table.evm.execution_observations.diagnostic