///|
/// Small deterministic demo for `moon run cmd/main`.
fn main {
  let events = [
    @customer.Event::new("alice", 10, 120),
    @customer.Event::new("alice", 20, 80),
    @customer.Event::new("bob", 2, 15),
  ]
  let report = @customer.analyze(events, 30)
  println("moonbit-customer: \{report.customers.length()} customers")
  for customer in report.customers {
    println(
      "\{customer.customer_id}: \{Repr(customer.segment)} — \{customer.explanation}",
    )
  }
  let benchmark = @customer.run_benchmark_workload()
  println(
    "benchmark: cases=\{@customer.benchmark_case_count()}, customers=\{benchmark.0}, value=\{benchmark.1}, retention_rows=\{benchmark.2}",
  )
  println("benchmark checksum: \{@customer.benchmark_checksum()}")
}