Expand description
The pure verdict engine: per Test-bound ground, the resurface precedence. No I/O — receipts, the live-origin sha, and the selected-list are passed in. Facts, not verdicts: every not-green state is a co-equal fact, never ranked or scored.
Precedence (first match wins): sha-stale → not-run → age-stale → unproven → gray→red → red → silently-unbound → green.
Structs§
- Ctx
- The evaluation context, built once per
ev check/ev reopeninvocation: the staleness reference sha, the selected-list, and the clock for age-staleness.
Enums§
- Stale
Kind - WHY a check reads stale — three distinct, auditable sub-reasons the flat
stalelabel collapses. Surfaced in the events log (never masked into one bucket) so a disabled/drifted staleness_ref that is masking a real red stays visible:sha(verified_at_sha behind the live origin),count-window(a triggering change landed after the last run),age(the deciding receipt is past the window). - Verdict
Functions§
- verdict_
for - Verdict for one ground against
receipts(this ground’s run-receipts) andctx.