///|
fn main {
  let definitions = [
    @returnplay.test_definition(
      id="strength",
      stage=@returnplay.return_stage_baseline(),
      name="Strength",
      weight=2,
      required=true,
      threshold=70,
      note="Generic example only",
    ),
    @returnplay.test_definition(
      id="balance",
      stage=@returnplay.return_stage_baseline(),
      name="Balance",
      weight=1,
      required=true,
      threshold=70,
      note="Generic example only",
    ),
  ]
  let observations = [
    @returnplay.observation_entry(
      id="strength",
      value=@returnplay.observation_score(86),
    ),
    @returnplay.observation_entry(
      id="balance",
      value=@returnplay.observation_score(90),
    ),
  ]
  let policy = @returnplay.stage_policy_with_gates(
    missing=@returnplay.missing_policy_block_required(),
    gates=[@returnplay.gate_minimum_score(80)],
  )
  match @returnplay.evaluate_stage(definitions~, observations~, policy~) {
    Ok(assessment) => {
      let events = @returnplay.audit_events(assessment)
      println(@returnplay.render_summary(assessment, events))
      println("boundary=not-medical-diagnosis")
    }
    Err(_) => abort("evaluation-error")
  }
}