Expand description
Deterministic doctrine checks. Every finding cites a specific doctrine file path. No prose interpretation; no LLM.
Each rule targets a specific doctrine principle
(doctrine/principles/<name>.md) and includes that path as the
doctrine_anchor on every finding it emits. Severity is one of
Info / Warning / Error, with a concrete remediation string.
§Golden path
use cordance_core::advise::AdviseReport;
use cordance_core::lock::SourceLock;
use cordance_core::pack::{CordancePack, PackTargets, ProjectIdentity};
use cordance_core::schema;
let pack = CordancePack {
schema: schema::CORDANCE_PACK_V1.into(),
project: ProjectIdentity {
name: "my-project".into(),
repo_root: ".".into(),
kind: "rust-workspace".into(),
host_os: "linux".into(),
axiom_pin: None,
},
sources: vec![],
doctrine_pins: vec![],
targets: PackTargets::all(),
outputs: vec![],
source_lock: SourceLock::empty(),
advise: AdviseReport::empty(),
residual_risk: vec![],
};
let report = cordance_advise::run_all(&pack).expect("advise");
for finding in &report.findings {
println!(
"[{:?}] {} — see {}",
finding.severity, finding.summary, finding.doctrine_anchor,
);
}Modules§
- rules
- Rule library. Each rule:
Enums§
Functions§
- run_all
- Run all deterministic rules over a pack and return the consolidated report.