// tools/selfhost/program_read_min.hako - Phase 160-impl-1 Minimal JSON Reader
// Reads Program JSON v0 from environment and prints it.
// This is the absolute minimum proof that .hako can read JSON from Rust output.
//
// Usage:
//   HAKO_PROGRAM_JSON='{"version":0,"kind":"Program"}' ./target/release/hakorune tools/selfhost/program_read_min.hako

static box Main {
  main(args) {
    // Get Program JSON from environment variable
    local json_str = env.get("HAKO_PROGRAM_JSON")

    if json_str == null {
      print("[ERROR] HAKO_PROGRAM_JSON not set")
      return 1
    }

    if json_str == "" {
      print("[ERROR] HAKO_PROGRAM_JSON is empty")
      return 1
    }

    // Print the JSON (proving we received it)
    print("=== Phase 160-impl-1: .hako received JSON from Rust ===")
    print("JSON length: " + ("" + json_str.length()))

    // Check for "Program" marker (basic validation without parsing)
    local has_program = json_str.contains("Program")
    if has_program {
      print("Contains 'Program': YES")
    }
    if has_program == 0 {
      print("Contains 'Program': NO")
    }

    local has_version = json_str.contains("version")
    if has_version {
      print("Contains 'version': YES")
    }
    if has_version == 0 {
      print("Contains 'version': NO")
    }

    print("")
    print("[SUCCESS] Phase 160-impl-1: .hako successfully read JSON from environment!")
    print("(Full JSON parsing requires JoinIR loop support - Phase 161+)")
    return 0
  }
}
