///|
/// Render a compact text report suitable for a CLI or audit log.
pub fn render_report(plan : MeasurementPlan) -> String {
  let out = "part=" +
    plan.part_id +
    "\n" +
    "coverage=" +
    plan.summary.coverage.to_string() +
    "\n" +
    "capability=" +
    plan.summary.capability.to_string() +
    "\n"
  let mut body = ""
  for step in plan.steps {
    let strategy = match step.strategy {
      SinglePoint => "single"
      RepeatedPoint(count~) => "repeat:" + count.to_string()
      Scan(count~) => "scan:" + count.to_string()
    }
    body = body +
      step.feature_id +
      " -> " +
      step.device_id +
      " " +
      strategy +
      " uncertainty=" +
      step.uncertainty.to_string() +
      "\n"
  }
  out + body
}