///|
fn main {
  // 1. Game settings: exact CRLF and comments survive a scalar change.
  let game = @ini.parse(
    "; player preferences\r\n[video]\r\nquality = 'medium' ; retain\r\nvsync=on\r\n",
  )
  match game.set("video", "quality", "high") {
    Err(e) => abort(e.format())
    Ok(next) => {
      if next.render() !=
        "; player preferences\r\n[video]\r\nquality = 'high' ; retain\r\nvsync=on\r\n" {
        abort("lossless game edit mismatch")
      }
      println(
        "GAME: exact-format update verified; vsync=\{next.get_bool("video","vsync").unwrap()}",
      )
    }
  }
  // 2. CLI configuration: duplicate diagnostics with explicit repair, then schema.
  let cli = @ini.parse("[server]\nport=8080\nport=70000\nenabled=yes")
  for d in cli.diagnostics() {
    println(d.format())
  }
  let repaired = cli.remove_at("server", "port", 1).unwrap()
  let findings = repaired.validate_schema(
    [
      @ini.rule(
        "server",
        "port",
        @ini.Integer,
        required=true,
        minimum=Some(1),
        maximum=Some(65535),
      ),
      @ini.rule("server", "enabled", @ini.Boolean, required=true),
    ],
    allow_unknown=false,
  )
  if !findings.is_empty() {
    abort("CLI schema mismatch")
  }
  println(
    "CLI: duplicate repaired; port=\{repaired.get_int("server","port").unwrap()}; schema clean",
  )
  // 3. Legacy migration: multiline editing plus transactional key replacement.
  let legacy = @ini.parse(
    "\uFEFF[tool]\r\nscript=\"\"\"step one\r\nstep two\"\"\" ;keep\r\nold=yes",
    dialect=@ini.extended(),
  )
  let migrated = legacy
    .apply([
      @ini.Set("tool", "script", "prepare\ncompile\ntest"),
      @ini.Insert("tool", "enabled", "true"),
      @ini.Remove("tool", "old"),
    ])
    .unwrap()
  if migrated.get("tool", "script") != Some("prepare\ncompile\ntest") ||
    migrated.get("tool", "old") != None {
    abort("migration mismatch")
  }
  println(
    "MIGRATION: BOM retained=\{migrated.render().has_prefix("\uFEFF")}; multiline and atomic edits verified",
  )
  println("MoonINI acceptance: 3 scenarios passed")
}