///|
/// Demonstrate parsing a retention manifest and building an action calendar.
fn main {
  let manifest = @capsuletrace.parse_retention_manifest(
    @capsuletrace.sample_retention_manifest(),
  )
  let plan = @capsuletrace.plan_retention(
    manifest.capsules,
    manifest.rules,
    manifest.today,
  )
  let calendar = plan.build_calendar()
  let catalog = @capsuletrace.analyze_catalog(manifest.rules, manifest.capsules)
  let delta = @capsuletrace.sample_plan_delta()
  let playbook = @capsuletrace.build_operator_playbook(plan)
  let purpose = @capsuletrace.sample_purpose_drift_report()

  println(manifest.to_markdown())
  println("")
  println(plan.to_markdown())
  println("")
  println(calendar.to_markdown())
  println("")
  println(catalog.to_markdown())
  println("")
  println(delta.to_markdown())
  println("")
  println(playbook.to_markdown())
  println("")
  println(purpose.to_markdown())
  println("")
  println(plan.to_json_string())
}