Skip to content

Verdicts & severity

A check result is designed to be read, not just thresholded.

Per-check severity

Each individual check reports its own CheckSeverity rather than collapsing to a single scalar:

SeverityMeaning
NONEThe assertion holds.
LOWA soft concern — e.g. a convergence parameter near a limit.
MEDIUMA real problem worth a human’s attention.
HIGHA hard violation — e.g. dimensional inconsistency or a broken limit.

Overall result

The OverallSeverity is the worst check, not a hidden average. The scoring model makes this concrete: overall_score = functional_pass_rate × (1 − severity_penalty), with penalties NONE = 0, LOW = 0.25, MEDIUM = 0.5, HIGH = 1.0. A HIGH-severity physical check zeroes the score even when every functional test passes — physical correctness gates functional correctness.

Provenance

A cards_get call returns the exact card a check resolved against, so a result is auditable rather than a black box: you can see which principle, which limits, and which envelopes were applied.