pub fn explain(
view: &IntentView,
coverage: &IntentCoverage,
realization: &IntentRealization,
) -> IntentExplanationExpand description
Explain one intent out of the derivations already made.
use majordomus_cli::intent::{verdict, IntentStage, IntentView, Intents};
use majordomus_cli::intent_plan::IntentCoverage;
use majordomus_cli::intent_realization::{explain, realize};
let view = IntentView {
id: "x".into(), title: "X".into(), statement: String::new(), invariants: vec![],
stage: IntentStage::Declared, milestones: vec![], met: 0, satisfaction: vec![],
verdict: verdict(&[]),
governance: vec![], non_goals: vec![], superseded_by: None, source: String::new(),
};
let intents = Intents { intents: vec![view.clone()], findings: vec![] };
let r = realize(&intents, &plan, vec![]);
let coverage = IntentCoverage { criteria: vec![], issues: vec![], findings: vec![] };
let e = explain(&view, &coverage, &r);
assert!(e.because[0].starts_with("declared"));