Skip to main content

resolution_of

Function resolution_of 

Source
pub fn resolution_of<'a>(
    loaded: &'a Loaded,
    disagreement: &str,
) -> Option<&'a ReasoningRecord>
Expand description

The resolution of a disagreement, when there is one.

Admission allows at most one resolution per disagreement, so the first match is the only one. A disagreement without a resolution blocks every conclusion on its assessment.

use majordomus_cli::reasoning::record::*;
use majordomus_cli::reasoning::store::{resolution_of, Loaded};

let mut loaded = Loaded::default();
assert!(resolution_of(&loaded, "disagreement-1").is_none());
loaded.records.push(ReasoningRecord {
    schema: RECORD_SCHEMA.into(),
    version: RECORD_VERSION,
    id: "resolution-1".into(),
    task: "t".into(),
    recorded_at: "2026-10-01T00:00:01Z".into(),
    head: None,
    redacted: vec![],
    body: ReasoningBody::Resolution(ResolutionInput {
        disagreement: "disagreement-1".into(),
        experiment: "run the supervision test".into(),
        outcome: "no caller retries".into(),
        favours: "neither".into(),
        evidence: vec![],
    }),
});
assert_eq!(resolution_of(&loaded, "disagreement-1").unwrap().id, "resolution-1");