pub struct RecordReport {
pub recorded: usize,
pub passed: usize,
pub commit: String,
pub working_tree: String,
pub unknown: Vec<String>,
pub dropped: Vec<EvidenceDropped>,
pub ledger: String,
pub run_record: EvidenceRunRecord,
}Expand description
What a recording did: how much of the run reached the ledger, and under what provenance.
The recorder decides nothing, and this report says so. A result no runner in this
repository owns is named in unknown rather than written under a guessed identity, and
a failure is recorded like a pass — the ledger holds what happened, so passed is a
count and never a filter.
use majordomus_cli::capability::builtin::evidence::RecordReport;
let report = RecordReport {
recorded: 3,
passed: 2,
commit: "06fa258913a1b2c3d4e5f60718293a4b5c6d7e8f".to_string(),
working_tree: "clean".to_string(),
unknown: vec!["docs/CLAIMS.yaml".to_string()],
dropped: vec![],
ledger: majordomus_cli::evidence::LEDGER_PATH.to_string(),
run_record: serde_json::from_value(serde_json::json!({
"schema": 1, "id": "local:06fa258913a1:20260926T120000Z", "origin": "local",
"commit": "06fa258913a1b2c3d4e5f60718293a4b5c6d7e8f", "working_tree": "clean",
"recorded_at": "2026-09-26T12:00:00Z", "ledger": "repo"
}))
.unwrap(),
};
// the failing test is one of the three recorded, not a fourth thing that was dropped
assert_eq!(report.recorded - report.passed, 1);
assert!(report.ledger.starts_with(".ai/repo/"));
let json = serde_json::to_value(&report).unwrap();
assert_eq!(json["unknown"].as_array().unwrap().len(), 1);
assert_eq!(json["working_tree"], "clean");
// a suite-only recording listed nothing, and its document is what it always was
assert!(json.get("dropped").is_none());Fields§
§recorded: usizeHow many executions were written.
passed: usizeHow many of them passed.
commit: StringThe commit they were recorded against.
working_tree: StringThe tree’s state at the time.
unknown: Vec<String>Results the run named that no runner in this repository owns.
dropped: Vec<EvidenceDropped>What the reports held that no claim can name yet: the crate’s unit-test binary, its doctests. Listed rather than ignored, and absent from the document when empty.
ledger: StringWhere the ledger was written: the path of the target the recording named.
run_record: EvidenceRunRecordThe recording as a typed run.
Trait Implementations§
Source§impl Clone for RecordReport
impl Clone for RecordReport
Source§fn clone(&self) -> RecordReport
fn clone(&self) -> RecordReport
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 RecordReport
impl Debug for RecordReport
Source§impl JsonSchema for RecordReport
impl JsonSchema for RecordReport
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more