///|
fn main {
  let unit_tap =
    #|TAP version 13
    #|1..3
    #|ok 1 - parser smoke
    #|ok 2 - policy catalog
    #|ok 3 - report export
  let wasm_tap =
    #|TAP version 13
    #|1..2
    #|ok 1 - wasm bundle generated
    #|ok 2 - browser fixture skipped # SKIP headless only
  let suite = @taptrail.parse_suite("release-candidate", [
    @taptrail.named_input("unit.tap", unit_tap),
    @taptrail.named_input("wasm.tap", wasm_tap),
  ])
  let gate = @taptrail.evaluate_suite_policy(suite, @taptrail.release_policy())
  println("# CI Gate Example")
  println(@taptrail.suite_to_markdown(suite))
  println(@taptrail.policy_result_to_markdown(gate))
  println(@taptrail.suite_to_env_lines(suite, "taptrail"))
  println(
    @taptrail.suite_badge_markdown(
      suite, "taptrail", "https://github.com/MX-ai-nb/taptrail/actions",
    ),
  )
  println(
    @taptrail.annotations_to_markdown(@taptrail.suite_annotations(suite, "tap")),
  )
  let previous = @taptrail.run_record(
    "build-101",
    "previous candidate",
    "2026-08-19T10:00:00+08:00",
    @taptrail.parse_and_report(
      (
        #|TAP version 13
        #|1..2
        #|ok 1 - parser smoke
        #|not ok 2 - export snapshot
      ),
    ),
  )
  let current = @taptrail.run_record(
    "build-102",
    "current candidate",
    "2026-08-20T10:00:00+08:00",
    @taptrail.parse_and_report(unit_tap),
  )
  println(
    @taptrail.trend_to_markdown(@taptrail.compare_runs(previous, current)),
  )
}