[INFO] cloning repository https://github.com/supermyran72-art/SarangLanguage
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/supermyran72-art/SarangLanguage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermyran72-art%2FSarangLanguage", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermyran72-art%2FSarangLanguage'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c9c40d8e59b2e483be86933564167c40d84e9fc3
[INFO] testing supermyran72-art/SarangLanguage against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsupermyran72-art%2FSarangLanguage" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/supermyran72-art/SarangLanguage
[INFO] finished tweaking git repo https://github.com/supermyran72-art/SarangLanguage
[INFO] tweaked toml for git repo https://github.com/supermyran72-art/SarangLanguage written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/supermyran72-art/SarangLanguage on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/supermyran72-art/SarangLanguage already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f4c05c4ca9e08b2f5d80cdb81bd5fa18d1edd7e0a92008162dbd0573ecab8d12
[INFO] running `Command { std: "docker" "start" "-a" "f4c05c4ca9e08b2f5d80cdb81bd5fa18d1edd7e0a92008162dbd0573ecab8d12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f4c05c4ca9e08b2f5d80cdb81bd5fa18d1edd7e0a92008162dbd0573ecab8d12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4c05c4ca9e08b2f5d80cdb81bd5fa18d1edd7e0a92008162dbd0573ecab8d12", kill_on_drop: false }`
[INFO] [stdout] f4c05c4ca9e08b2f5d80cdb81bd5fa18d1edd7e0a92008162dbd0573ecab8d12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c74ba3ad5afcccd5272845274dc99146f1447b244e4c9e7215ac35af7a4d1319
[INFO] running `Command { std: "docker" "start" "-a" "c74ba3ad5afcccd5272845274dc99146f1447b244e4c9e7215ac35af7a4d1319", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling sarang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.18s
[INFO] running `Command { std: "docker" "inspect" "c74ba3ad5afcccd5272845274dc99146f1447b244e4c9e7215ac35af7a4d1319", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c74ba3ad5afcccd5272845274dc99146f1447b244e4c9e7215ac35af7a4d1319", kill_on_drop: false }`
[INFO] [stdout] c74ba3ad5afcccd5272845274dc99146f1447b244e4c9e7215ac35af7a4d1319
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bdd7254951cf48f67b1a7d88e4704914efcb46eead030f03573a8cbc06e805dc
[INFO] running `Command { std: "docker" "start" "-a" "bdd7254951cf48f67b1a7d88e4704914efcb46eead030f03573a8cbc06e805dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling sarang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.68s
[INFO] running `Command { std: "docker" "inspect" "bdd7254951cf48f67b1a7d88e4704914efcb46eead030f03573a8cbc06e805dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdd7254951cf48f67b1a7d88e4704914efcb46eead030f03573a8cbc06e805dc", kill_on_drop: false }`
[INFO] [stdout] bdd7254951cf48f67b1a7d88e4704914efcb46eead030f03573a8cbc06e805dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e3a105406c88984f717511d93f918b4b90b9a5056c83711e9c92072685d60633
[INFO] running `Command { std: "docker" "start" "-a" "e3a105406c88984f717511d93f918b4b90b9a5056c83711e9c92072685d60633", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sarang-1a2c1bedf98719d5)
[INFO] [stdout] 
[INFO] [stdout] running 151 tests
[INFO] [stdout] test common::span::tests::source_file_accessors ... ok
[INFO] [stdout] test common::span::tests::span_dummy ... ok
[INFO] [stdout] test common::span::tests::source_file_codespan_integration ... ok
[INFO] [stdout] test diagnostics::report::tests::diagnostic_bag_collects_and_counts ... ok
[INFO] [stdout] test common::span::tests::span_empty ... ok
[INFO] [stdout] test common::span::tests::span_merge ... ok
[INFO] [stdout] test common::span::tests::span_new_and_len ... ok
[INFO] [stdout] test diagnostics::report::tests::diagnostic_error_creation ... ok
[INFO] [stdout] test diagnostics::report::tests::diagnostic_error_no_span ... ok
[INFO] [stdout] test diagnostics::report::tests::render_error_to_string ... ok
[INFO] [stdout] test diagnostics::report::tests::diagnostic_with_hint ... ok
[INFO] [stdout] test emit::json::tests::emit_compact_json ... ok
[INFO] [stdout] test emit::json::tests::emit_pretty_json ... ok
[INFO] [stdout] test emit::json::tests::emit_omits_empty_optional_fields ... ok
[INFO] [stdout] test emit::json::tests::emit_pretty_to_writer ... ok
[INFO] [stdout] test emit::json::tests::emit_roundtrip ... ok
[INFO] [stdout] test ir::lower::tests::lower_empty_safety_list ... ok
[INFO] [stdout] test emit::json::tests::emit_to_writer ... ok
[INFO] [stdout] test ir::lower::tests::lower_error_display ... ok
[INFO] [stdout] test ir::lower::tests::lower_budget_int_cost ... ok
[INFO] [stdout] test ir::lower::tests::lower_evidence_require_only ... ok
[INFO] [stdout] test ir::lower::tests::lower_fallback_no_condition ... ok
[INFO] [stdout] test diagnostics::report::tests::render_multiple_diagnostics ... ok
[INFO] [stdout] test diagnostics::report::tests::render_warning_with_hint ... ok
[INFO] [stdout] test ir::lower::tests::lower_full_agent ... ok
[INFO] [stdout] test ir::lower::tests::lower_memory_append_only ... ok
[INFO] [stdout] test ir::lower::tests::lower_memory_deny_both ... ok
[INFO] [stdout] test ir::lower::tests::lower_minimal_agent ... ok
[INFO] [stdout] test ir::lower::tests::lower_multiple_models ... ok
[INFO] [stdout] test ir::lower::tests::lower_require_approval_action ... ok
[INFO] [stdout] test ir::policy_ir::tests::json_roundtrip ... ok
[INFO] [stdout] test ir::policy_ir::tests::memory_access_from_str ... ok
[INFO] [stdout] test ir::policy_ir::tests::memory_write_access_from_str ... ok
[INFO] [stdout] test ir::policy_ir::tests::memory_write_serializes_as_snake_case ... ok
[INFO] [stdout] test ir::lower::tests::lower_then_serialize_roundtrip ... ok
[INFO] [stdout] test ir::lower::tests::lower_verify_no_rules ... ok
[INFO] [stdout] test ir::policy_ir::tests::tool_action_from_str ... ok
[INFO] [stdout] test ir::policy_ir::tests::tool_action_serializes_as_snake_case ... ok
[INFO] [stdout] test ir::policy_ir::tests::full_policy_serializes_to_json ... ok
[INFO] [stdout] test ir::policy_ir::tests::full_policy_has_all_sections ... ok
[INFO] [stdout] test lexer::lexer::tests::all_keywords ... ok
[INFO] [stdout] test ir::policy_ir::tests::minimal_policy_serializes_to_json ... ok
[INFO] [stdout] test lexer::lexer::tests::all_punctuation ... ok
[INFO] [stdout] test lexer::lexer::tests::comment_after_token ... ok
[INFO] [stdout] test lexer::lexer::tests::comment_before_token ... ok
[INFO] [stdout] test lexer::lexer::tests::empty_source ... ok
[INFO] [stdout] test lexer::lexer::tests::error_does_not_stop_lexing ... ok
[INFO] [stdout] test lexer::lexer::tests::empty_string ... ok
[INFO] [stdout] test lexer::lexer::tests::identifier_with_digits ... ok
[INFO] [stdout] test ir::policy_ir::tests::minimal_policy_has_correct_version ... ok
[INFO] [stdout] test lexer::lexer::tests::lex_list_syntax ... ok
[INFO] [stdout] test lexer::lexer::tests::lex_minimal_agent ... ok
[INFO] [stdout] test common::span::tests::span_merge_overlapping ... ok
[INFO] [stdout] test ir::policy_ir::tests::minimal_json_deserializes_with_defaults ... ok
[INFO] [stdout] test lexer::lexer::tests::punctuation_no_spaces ... ok
[INFO] [stdout] test lexer::lexer::tests::line_comment_skipped ... ok
[INFO] [stdout] test lexer::lexer::tests::simple_floats ... ok
[INFO] [stdout] test lexer::lexer::tests::integer_followed_by_dot_no_digit_is_not_float ... ok
[INFO] [stdout] test lexer::lexer::tests::simple_string ... ok
[INFO] [stdout] test lexer::lexer::tests::lex_mixed_values ... ok
[INFO] [stdout] test lexer::lexer::tests::span_offsets_are_correct ... ok
[INFO] [stdout] test lexer::lexer::tests::keyword_prefix_is_identifier ... ok
[INFO] [stdout] test lexer::lexer::tests::spans_match_source_text ... ok
[INFO] [stdout] test lexer::lexer::tests::string_bad_escape ... ok
[INFO] [stdout] test lexer::lexer::tests::string_with_escapes ... ok
[INFO] [stdout] test lexer::lexer::tests::string_with_newline ... ok
[INFO] [stdout] test lexer::lexer::tests::string_with_special_chars ... ok
[INFO] [stdout] test lexer::lexer::tests::true_and_false ... ok
[INFO] [stdout] test lexer::lexer::tests::unknown_character ... ok
[INFO] [stdout] test lexer::lexer::tests::multiple_comments ... ok
[INFO] [stdout] test lexer::lexer::tests::unterminated_string ... ok
[INFO] [stdout] test lexer::lexer::tests::whitespace_only ... ok
[INFO] [stdout] test lexer::lexer::tests::simple_identifiers ... ok
[INFO] [stdout] test lexer::token::tests::is_literal ... ok
[INFO] [stdout] test lexer::lexer::tests::simple_integers ... ok
[INFO] [stdout] test lexer::token::tests::keyword_lookup_matches_all_keywords ... ok
[INFO] [stdout] test lexer::token::tests::describe_gives_human_readable_strings ... ok
[INFO] [stdout] test lexer::token::tests::keyword_lookup_returns_none_for_non_keywords ... ok
[INFO] [stdout] test lexer::token::tests::is_block_keyword ... ok
[INFO] [stdout] test lexer::token::tests::token_equality ... ok
[INFO] [stdout] test lexer::token::tests::token_new_and_eof_check ... ok
[INFO] [stdout] test parser::ast::tests::agent_block_fields_accessor ... ok
[INFO] [stdout] test parser::ast::tests::agent_block_is_named ... ok
[INFO] [stdout] test parser::ast::tests::agent_block_keyword ... ok
[INFO] [stdout] test parser::ast::tests::agent_block_span_accessor ... ok
[INFO] [stdout] test parser::ast::tests::construct_agent_with_all_block_types ... ok
[INFO] [stdout] test parser::ast::tests::construct_agent_with_list_value ... ok
[INFO] [stdout] test parser::ast::tests::construct_minimal_program ... ok
[INFO] [stdout] test parser::ast::tests::spanned_wraps_value_and_span ... ok
[INFO] [stdout] test parser::parser::tests::agent_span_covers_full_definition ... ok
[INFO] [stdout] test parser::parser::tests::error_missing_agent_keyword ... ok
[INFO] [stdout] test parser::parser::tests::error_invalid_value ... ok
[INFO] [stdout] test parser::parser::tests::error_missing_agent_name ... ok
[INFO] [stdout] test parser::parser::tests::error_recovery_continues_after_bad_block ... ok
[INFO] [stdout] test parser::parser::tests::error_unexpected_token_in_agent ... ok
[INFO] [stdout] test parser::parser::tests::error_unterminated_list ... ok
[INFO] [stdout] test parser::parser::tests::error_missing_opening_brace ... ok
[INFO] [stdout] test parser::ast::tests::value_span_returns_inner_span ... ok
[INFO] [stdout] test parser::parser::tests::error_missing_colon_in_field ... ok
[INFO] [stdout] test parser::ast::tests::value_type_name ... ok
[INFO] [stdout] test parser::parser::tests::field_name_span_matches_source ... ok
[INFO] [stdout] test parser::parser::tests::parse_empty_agent ... ok
[INFO] [stdout] test parser::parser::tests::parse_all_value_types ... ok
[INFO] [stdout] test parser::parser::tests::parse_empty_list ... ok
[INFO] [stdout] test parser::parser::tests::parse_fallback_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_budget_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_memory_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_minimal_agent ... ok
[INFO] [stdout] test parser::parser::tests::parse_list_trailing_comma ... ok
[INFO] [stdout] test parser::parser::tests::parse_model_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_multiple_blocks ... ok
[INFO] [stdout] test parser::parser::tests::parse_output_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_tool_block ... ok
[INFO] [stdout] test parser::parser::tests::parse_verify_block_repeated_fields ... ok
[INFO] [stdout] test validator::validator::tests::error_budget_max_tokens_negative ... ok
[INFO] [stdout] test validator::validator::tests::error_budget_cost_zero ... ok
[INFO] [stdout] test validator::validator::tests::error_duplicate_output_block ... ok
[INFO] [stdout] test validator::validator::tests::error_duplicate_model_names ... ok
[INFO] [stdout] test parser::parser::tests::parse_safety_block ... ok
[INFO] [stdout] test validator::validator::tests::error_duplicate_safety_block ... ok
[INFO] [stdout] test validator::validator::tests::error_invalid_memory_read ... ok
[INFO] [stdout] test validator::validator::tests::error_duplicate_tool_names ... ok
[INFO] [stdout] test validator::validator::tests::error_invalid_memory_write ... ok
[INFO] [stdout] test validator::validator::tests::error_invalid_tool_action ... ok
[INFO] [stdout] test validator::validator::tests::error_list_element_wrong_type ... ok
[INFO] [stdout] test validator::validator::tests::error_max_entries_zero ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_fallback_model ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_model_block ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_fallback_provider ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_model_name ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_tool_action ... ok
[INFO] [stdout] test validator::validator::tests::error_temperature_too_high ... ok
[INFO] [stdout] test validator::validator::tests::error_unknown_field_in_model ... ok
[INFO] [stdout] test validator::validator::tests::error_safety_block_not_list ... ok
[INFO] [stdout] test validator::validator::tests::error_missing_model_provider ... ok
[INFO] [stdout] test validator::validator::tests::error_wrong_type_max_tokens ... ok
[INFO] [stdout] test validator::validator::tests::error_unknown_field_in_tool ... ok
[INFO] [stdout] test validator::validator::tests::error_wrong_type_require_evidence ... ok
[INFO] [stdout] test validator::validator::tests::error_wrong_type_verify_rule ... ok
[INFO] [stdout] test validator::validator::tests::error_wrong_type_provider ... ok
[INFO] [stdout] test validator::validator::tests::error_temperature_wrong_type ... ok
[INFO] [stdout] test validator::validator::tests::no_warning_when_evidence_block_present ... ok
[INFO] [stdout] test validator::validator::tests::valid_empty_safety_list ... ok
[INFO] [stdout] test validator::validator::tests::valid_full_agent ... ok
[INFO] [stdout] test validator::validator::tests::valid_minimal_agent ... ok
[INFO] [stdout] test validator::validator::tests::valid_multiple_tools_different_names ... ok
[INFO] [stdout] test validator::validator::tests::valid_multiple_models_different_names ... ok
[INFO] [stdout] test validator::validator::tests::valid_temperature_at_boundaries ... ok
[INFO] [stdout] test validator::validator::tests::warning_require_evidence_without_evidence_block ... ok
[INFO] [stdout] test diagnostics::report::tests::render_no_span_diagnostic ... ok
[INFO] [stdout] test parser::parser::tests::parse_evidence_block ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 151 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sarang-0dac5268bc6f96d2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-f50da7e7983f5d6a)
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test cli_inspect_prints_ast ... ok
[INFO] [stdout] test cli_compile_to_file ... ok
[INFO] [stdout] test cli_check_invalid_file_exits_nonzero ... ok
[INFO] [stdout] test cli_compile_to_stdout ... ok
[INFO] [stdout] test cli_check_nonexistent_file ... ok
[INFO] [stdout] test comment_only_is_parse_error ... ok
[INFO] [stdout] test compile_error_display ... ok
[INFO] [stdout] test cli_wrong_extension ... ok
[INFO] [stdout] test compile_fn_parse_error ... ok
[INFO] [stdout] test compile_fn_basic_agent ... ok
[INFO] [stdout] test compile_fn_coding_assistant ... ok
[INFO] [stdout] test cli_version ... ok
[INFO] [stdout] test diagnostic_rendering_shows_file_name ... ok
[INFO] [stdout] test cli_check_valid_file ... ok
[INFO] [stdout] test diagnostic_rendering_shows_line_and_column ... ok
[INFO] [stdout] test cli_compile_invalid_file_exits_nonzero ... ok
[INFO] [stdout] test emit_minimal_json_omits_optional_sections ... ok
[INFO] [stdout] test compile_fn_validation_error ... ok
[INFO] [stdout] test compile_fn_roundtrip_json ... ok
[INFO] [stdout] test diagnostic_re_exports_accessible ... ok
[INFO] [stdout] test emit_basic_agent_json ... ok
[INFO] [stdout] test keyword_from_str_covers_all_block_keywords ... ok
[INFO] [stdout] test lex_real_file_basic_agent ... ok
[INFO] [stdout] test lex_all_token_spans_are_valid ... ok
[INFO] [stdout] test emit_coding_assistant_json_has_all_sections ... ok
[INFO] [stdout] test lex_real_file_research_agent ... ok
[INFO] [stdout] test emit_research_agent_roundtrip ... ok
[INFO] [stdout] test lex_real_file_coding_assistant ... ok
[INFO] [stdout] test lex_empty_input ... ok
[INFO] [stdout] test lex_unknown_character ... ok
[INFO] [stdout] test lexer_matches_manual_tokens_for_simple_source ... ok
[INFO] [stdout] test lower_example_coding_assistant ... ok
[INFO] [stdout] test empty_source_is_parse_error ... ok
[INFO] [stdout] test lower_example_basic_agent ... ok
[INFO] [stdout] test lex_unterminated_string ... ok
[INFO] [stdout] test multiple_errors_all_rendered ... ok
[INFO] [stdout] test lower_example_research_agent ... ok
[INFO] [stdout] test parse_example_coding_assistant ... ok
[INFO] [stdout] test parse_duplicate_fields_in_block ... ok
[INFO] [stdout] test parse_example_basic_agent ... ok
[INFO] [stdout] test lower_testdata_valid_minimal ... ok
[INFO] [stdout] test lower_roundtrip_coding_assistant_json ... ok
[INFO] [stdout] test parse_example_research_agent ... ok
[INFO] [stdout] test parse_testdata_invalid_missing_model ... ok
[INFO] [stdout] test validate_agent_with_no_blocks ... ok
[INFO] [stdout] test parse_testdata_valid_minimal ... ok
[INFO] [stdout] test span_roundtrip_with_source ... ok
[INFO] [stdout] test validate_example_coding_assistant_passes ... ok
[INFO] [stdout] test validate_testdata_bad_tool_action_fails ... ok
[INFO] [stdout] test validate_example_basic_agent_passes ... ok
[INFO] [stdout] test validate_testdata_valid_minimal_passes ... ok
[INFO] [stdout] test validate_testdata_missing_model_fails ... ok
[INFO] [stdout] test validate_testdata_unknown_field_fails ... ok
[INFO] [stdout] test validate_example_research_agent_passes ... ok
[INFO] [stdout] test whitespace_only_is_parse_error ... ok
[INFO] [stdout] test validate_unknown_block_keyword_is_parse_error ... ok
[INFO] [stdout] test validate_testdata_duplicate_safety_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sarang
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e3a105406c88984f717511d93f918b4b90b9a5056c83711e9c92072685d60633", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3a105406c88984f717511d93f918b4b90b9a5056c83711e9c92072685d60633", kill_on_drop: false }`
[INFO] [stdout] e3a105406c88984f717511d93f918b4b90b9a5056c83711e9c92072685d60633
