pub struct Verdict {Show 17 fields
pub verdict_id: String,
pub verdict: String,
pub source: String,
pub confidence: f64,
pub composite_score: u8,
pub reasoning: String,
pub similar_to: Vec<String>,
pub evidence_gaps: Vec<String>,
pub suggested_actions: Vec<String>,
pub data_freshness_at: Option<String>,
pub data_oldest_signal_at: Option<String>,
pub stale_since_at: Option<String>,
pub staleness_reason: Option<String>,
pub computed_at: Option<String>,
pub severity: Option<String>,
pub decision: Option<String>,
pub previous_verdict: Option<PreviousVerdict>,
}Expand description
Verdict mirrors App Rev 4 §4.1 Verdict struct surfaced via
GET /v1/customer/verdicts/{ecosystem}/{package}/{version}.
Cycle-9 R1 fix-forward Lane-2 M1: adds severity + decision to align
with the App-canonical envelope shape (sister of cleanlib-core::Verdict
- js/py/go SDK envelope carrying). All new fields are
Option<String>to preserve serde-default tolerance — pre-R1 verdict payloads (without these fields) deserialize cleanly withNone. Sister-shape with theVerdictEnvelopeV1schema-locked atcleanlib-contract-fixtures@v1.0.0.
Fields§
§verdict_id: String§verdict: StringALLOWED_NO_FINDINGS | VECTOR_VERDICT | DM_THRESHOLD_BLOCK |
INSUFFICIENT_DATA per locked Verdict-label enum.
source: String§confidence: f64§composite_score: u8§reasoning: String§similar_to: Vec<String>§evidence_gaps: Vec<String>§suggested_actions: Vec<String>§data_freshness_at: Option<String>§data_oldest_signal_at: Option<String>§stale_since_at: Option<String>§staleness_reason: Option<String>§computed_at: Option<String>§severity: Option<String>App-canonical severity tier (NONE | LOW | MEDIUM | HIGH |
CRITICAL per cleanlib-core::Severity). Cycle-9 Lane-2 M1 close.
Option<String> for serde-default tolerance against pre-M1 payloads.
decision: Option<String>Coarse gating decision (ALLOW | WARN | DENY |
RISK_ACCEPTANCE_REQUIRED). Sister of js/py/go SDK carrying.
Cycle-9 Lane-2 M1 close. Optional for serde-default tolerance.
previous_verdict: Option<PreviousVerdict>Prior-verdict comparison shape; envelope emits null when no prior
verdict exists. v0.1.3 parity-ripple with sdk-go::PreviousVerdict
(cycle-13 M1’ ship). NOTE: no skip_serializing_if — Verdict is
bincode-serialized by cleanlib-cli PersistentCache, which is
positional and breaks if fields are conditionally omitted. JSON
consumers see previous_verdict: null which matches the App’s
canonical envelope shape.