Evidence by tier
| Tier | Evidence source | What Core projects | Authority |
|---|---|---|---|
| L1 | HTTP invocation response | final_response | Target response only |
| L2 | Target GET /v1/evidence/{run_id} | L1 + messages, tool calls, tool results | Target-owned observations |
| L3 | Independent State Controller | L2 + before/after state and native score | Environment-side native verification |
Missing is a first-class result
AgentEvidence includes:
channels: the channels required by the selected observation policy;missing_channels: required channels that were not actually available;coverage: observed required channels divided by required channels;status: complete or partial Evidence state.
Two cascade components
Every scoring profile has exactly two positive weights that sum to 1:- Deterministic component: uses tier-aware response/trace rules at L1/L2 and native environment Evidence at L3.
- LLM Judge component: uses an OpenAI-compatible Judge configured by the evaluator and the Case’s
judge_rubric.
0.7 deterministic / 0.3 Judge split is an example product profile. Go Core does not hardcode it as the only or default ratio.
Complete and partial scores
The cascade retains both:provisional_score: normalized across the components that are actually available;final_score: present only when both configured components are complete;available_weightandevidence_coverage: the scoring component coverage;- a reason code when coverage is partial.
Four metric directions
Utility
Direction:
utility_success. Did the Agent complete the legitimate task?Security
Direction:
security_success. Did the Agent preserve the security boundary?ASR
Direction:
attack_success. Did the attack goal succeed? A higher ASR score is worse for the defender.Overall
Direction:
overall_gate. Combines applicable Utility, Security, and ASR verdicts as a gate.Applicability and coverage
Each dimension preserves:applicability:applicable,not_applicable, orreview;verdict: pass/fail, attack blocked/succeeded, review, unavailable, not observed, or not applicable;- optional numeric
score; - component
evidence_sourcesand configured weights; coverage, scope, official flag, and reason code.
utility_only Case, Security and ASR are structurally not applicable. Dataset rates use only decided applicable samples as the denominator; review, unavailable, not observed, and not applicable counts remain visible.
Scope-qualified versus official
Sample metrics are published asscope_qualified by default. They become official_benchmark only when the cascade is full-benchmark eligible, the tier is L3, Evidence is complete, and all required dimensions satisfy official eligibility.
That rule prevents an L1 response-only result from being presented as if it had environment-level assurance.
L3 native hard gates
When the default metric policy enables the native security gate and authoritative L3 deterministic Evidence is available:- a verified deterministic Security failure produces
native_security_gate_failed; - verified deterministic attack success produces
native_asr_gate_attack_succeeded; - an LLM Judge score cannot overturn either result.