pub struct MetricSnapshot {Show 13 fields
pub metric: String,
pub baseline: f64,
pub unit: String,
pub n: u64,
pub window: String,
pub subject: Option<String>,
pub namespace: Option<String>,
pub relation: Option<String>,
pub query: String,
pub review_after_ms: i64,
pub horizons_ms: Vec<i64>,
pub checkpoints: Vec<Checkpoint>,
pub higher_is_better: bool,
}Expand description
A reproducible metric snapshot; powers outcome review.
Fields§
§metric: StringMetric kind — the engine knows how to re-measure a fixed set
(e.g. tool_error_recurrence); unknown kinds are skipped, not faked.
baseline: f64§unit: String§n: u64§window: String§subject: Option<String>The subject the metric is about (e.g. the tool name), used by the engine’s typed re-measurement.
namespace: Option<String>Namespace scope for the re-measurement, normalized (case-fold/trim).
None = all namespaces. Additive: older snapshots deserialize to
None and existing metric kinds ignore it.
relation: Option<String>Relation scope for fact-shaped metrics (e.g. which functional relation
a contradiction was resolved under), normalized. Additive like
namespace.
query: StringCAL that recomputes the metric at verify time (reproducibility / documentation; the engine re-measures with typed reads).
review_after_ms: i64How long after apply to re-measure, in epoch-ms delta (the first / only
checkpoint when horizons_ms is empty).
horizons_ms: Vec<i64>A schedule of checkpoints (ms after apply) to re-measure at. An outcome
that held at an early checkpoint can regress at a later one, so a
verdict is never final until the last horizon. Empty → [review_after_ms].
checkpoints: Vec<Checkpoint>The schedule in the deployment’s own unit (Checkpoint). When set it
is THE schedule and horizons_ms/review_after_ms are ignored; empty
(every snapshot written before it existed) falls back to them.
higher_is_better: boolWhich direction is an improvement. The built-in metrics are all
recurrence counts, where lower is better — so this defaults to false
and every existing snapshot deserializes unchanged. An evalset accuracy
is the opposite, and getting it wrong does not merely misreport: the
Verify gate would read a rule that IMPROVED accuracy as a regression and
propose reverting it.
Implementations§
Source§impl MetricSnapshot
impl MetricSnapshot
Sourcepub fn schedule(&self) -> Vec<Checkpoint>
pub fn schedule(&self) -> Vec<Checkpoint>
The measurement schedule, sorted and deduplicated: checkpoints when
set, else horizons_ms, else the single review_after_ms — each older
spelling read as time, so a snapshot from before Checkpoint existed
measures exactly as it did.
Sourcepub fn horizons(&self) -> Vec<i64>
pub fn horizons(&self) -> Vec<i64>
The time checkpoints of the schedule, in ms — the pre-Checkpoint
view, kept for callers that only understand time.