Skip to main content

explain

Function explain 

Source
pub fn explain(
    view: &IntentView,
    coverage: &IntentCoverage,
    realization: &IntentRealization,
) -> IntentExplanation
Expand 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"));