pub struct EvalRecord {Show 15 fields
pub schema_version: u32,
pub test_suite: EvalSuite,
pub test_id: String,
pub attack_category: String,
pub agent_decision: EvalDecision,
pub expected: EvalDecision,
pub passed: bool,
pub hook_decisions: Vec<EvalHookDecision>,
pub tokens_input: Option<u64>,
pub tokens_output: Option<u64>,
pub wall_clock_ms: u64,
pub llm_backend: EvalLlmBackend,
pub llm_model: String,
pub run_id: String,
pub timestamp: String,
}Expand description
One test case’s result — written as a single JSONL line by the
Python harness per case, parsed by mur agent eval report to
build the markdown summary.
Fields§
§schema_version: u32Wire-version of this struct; mismatches abort report generation rather than producing silently-wrong aggregates.
test_suite: EvalSuite§test_id: StringStable identifier — <suite>:<env>:<id> for AgentDojo,
<suite>:<behavior_id> for HarmBench.
attack_category: StringFree-form upstream tag, e.g. "data_exfil",
"prompt_injection", "agentic_misuse". Used to bucket
the markdown report by category.
agent_decision: EvalDecision§expected: EvalDecision§passed: bool§hook_decisions: Vec<EvalHookDecision>B0 hook chain trace for this test, in order. Empty if the Python harness ran in fast-only mode (no hook capture).
tokens_input: Option<u64>LLM token usage. None for the stub backend (no real tokens).
tokens_output: Option<u64>§wall_clock_ms: u64§llm_backend: EvalLlmBackend§llm_model: StringFree-form model identifier — "claude-sonnet-4-6",
"stub", "llama3.2:3b", etc.
run_id: StringRun-id this record belongs to; aggregator groups by this. Format: ULID so records sort by time.
timestamp: StringRFC3339 timestamp of when this case finished.
Trait Implementations§
Source§impl Clone for EvalRecord
impl Clone for EvalRecord
Source§fn clone(&self) -> EvalRecord
fn clone(&self) -> EvalRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EvalRecord
impl Debug for EvalRecord
Source§impl<'de> Deserialize<'de> for EvalRecord
impl<'de> Deserialize<'de> for EvalRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for EvalRecord
impl PartialEq for EvalRecord
Source§fn eq(&self, other: &EvalRecord) -> bool
fn eq(&self, other: &EvalRecord) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for EvalRecord
impl Serialize for EvalRecord
impl Eq for EvalRecord
impl StructuralPartialEq for EvalRecord
Auto Trait Implementations§
impl Freeze for EvalRecord
impl RefUnwindSafe for EvalRecord
impl Send for EvalRecord
impl Sync for EvalRecord
impl Unpin for EvalRecord
impl UnsafeUnpin for EvalRecord
impl UnwindSafe for EvalRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.