pub enum Event {
RunStarted {
schema: u32,
run_id: Arc<str>,
},
ScenarioStarted {
scenario: Arc<str>,
file: Arc<str>,
timestamp_ms: Option<u64>,
worker: Option<u64>,
phase: Option<Arc<str>>,
},
BatchStarted {
scenario: Arc<str>,
engine: Arc<str>,
steps: usize,
},
EntryRunning {
scenario: Arc<str>,
engine: Arc<str>,
entry: usize,
retry: u32,
},
StepFinished {
scenario: Arc<str>,
engine: Arc<str>,
step: StepRef,
status: Status,
attempts: u32,
duration_ms: u64,
captures: Vec<String>,
fragment: Option<String>,
detail: Option<String>,
attempt_details: Vec<String>,
},
ScenarioFinished {
scenario: Arc<str>,
file: Arc<str>,
status: Status,
timestamp_ms: Option<u64>,
worker: Option<u64>,
phase: Option<Arc<str>>,
},
RunFinished {
passed: usize,
failed: usize,
skipped: usize,
cancelled: bool,
},
}Expand description
One event in a run’s stream. Serialized as JSONL, tagged by event.
Variants§
RunStarted
The run began. Head of every stream; declares the schema version.
Fields
schema: u32Event schema version (EVENT_SCHEMA_VERSION).
ScenarioStarted
A scenario began executing.
Fields
timestamp_ms: Option<u64>Milliseconds since the run began — injected at the CLI sink (the
sans-IO core leaves it None, like run_id). Absent on records
without timing; additive (ADR-0008, ADR-0015).
phase: Option<Arc<str>>The [run] lifecycle phase this scenario belongs to ("setup" /
"teardown"), absent for an ordinary suite scenario.
Without it a phase scenario is indistinguishable from a suite one
except by feature path, so every consumer had to re-derive phase
membership from proef.toml — and explain, --rerun and diff
each got it wrong in a different way. The record says so itself now.
Additive and optional (ADR-0008): records that predate the field
read as “no phase”, which is what they were.
BatchStarted
A batch of contiguous same-engine steps was dispatched.
Fields
EntryRunning
An artifact entry began an execution attempt — the engine’s live
progress signal (ADR-0001’s EventListener, surfaced on the spine).
Additive schema variant: absent from pre-existing streams.
Fields
StepFinished
A step finished (in success or failure).
Fields
fragment: Option<String>The fragment that supplied this step’s request, as file.hurl#name
(ADR-0018). Additive schema field: absent for an inline hurl:
block, which is every step in every stream written before
fragments existed.
ScenarioFinished
A scenario finished.
Fields
file: Arc<str>Feature file path — together with scenario, the run-wide
identity (scenario names are unique only within one file).
Defaults empty when replaying records that predate the field
(schema 1 is additive-only — ADR-0008).
timestamp_ms: Option<u64>Milliseconds since the run began — injected at the CLI sink (the
sans-IO core leaves it None, like run_id). Absent on records
without timing; additive (ADR-0008, ADR-0015).
phase: Option<Arc<str>>The [run] lifecycle phase this scenario belongs to ("setup" /
"teardown"), absent for an ordinary suite scenario.
Without it a phase scenario is indistinguishable from a suite one
except by feature path, so every consumer had to re-derive phase
membership from proef.toml — and explain, --rerun and diff
each got it wrong in a different way. The record says so itself now.
Additive and optional (ADR-0008): records that predate the field
read as “no phase”, which is what they were.
RunFinished
The run finished. Tail of every stream.