[INFO] cloning repository https://github.com/mathew-bravo/kontra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mathew-bravo/kontra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathew-bravo%2Fkontra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathew-bravo%2Fkontra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b855fd71d997c2cfad0b14a28affd74ae9a24a46
[INFO] testing mathew-bravo/kontra 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%2Fmathew-bravo%2Fkontra" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mathew-bravo/kontra
[INFO] finished tweaking git repo https://github.com/mathew-bravo/kontra
[INFO] tweaked toml for git repo https://github.com/mathew-bravo/kontra written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mathew-bravo/kontra 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/mathew-bravo/kontra 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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] ebfb19d903ab91d1aa1d58acf6482f474cbfb18c2ff99c3a23a663d9d206661b
[INFO] running `Command { std: "docker" "start" "-a" "ebfb19d903ab91d1aa1d58acf6482f474cbfb18c2ff99c3a23a663d9d206661b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebfb19d903ab91d1aa1d58acf6482f474cbfb18c2ff99c3a23a663d9d206661b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebfb19d903ab91d1aa1d58acf6482f474cbfb18c2ff99c3a23a663d9d206661b", kill_on_drop: false }`
[INFO] [stdout] ebfb19d903ab91d1aa1d58acf6482f474cbfb18c2ff99c3a23a663d9d206661b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 5c2b480a44501e7197afe4c86c38e64c902cd72d4bce2995a7dcdc05c58a4c18
[INFO] running `Command { std: "docker" "start" "-a" "5c2b480a44501e7197afe4c86c38e64c902cd72d4bce2995a7dcdc05c58a4c18", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling kontra v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.22s
[INFO] running `Command { std: "docker" "inspect" "5c2b480a44501e7197afe4c86c38e64c902cd72d4bce2995a7dcdc05c58a4c18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c2b480a44501e7197afe4c86c38e64c902cd72d4bce2995a7dcdc05c58a4c18", kill_on_drop: false }`
[INFO] [stdout] 5c2b480a44501e7197afe4c86c38e64c902cd72d4bce2995a7dcdc05c58a4c18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 1b09c4df2dd03d3e49990b092175ca1e6751f7f89388e876564047923da64689
[INFO] running `Command { std: "docker" "start" "-a" "1b09c4df2dd03d3e49990b092175ca1e6751f7f89388e876564047923da64689", kill_on_drop: false }`
[INFO] [stderr]    Compiling kontra v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.70s
[INFO] running `Command { std: "docker" "inspect" "1b09c4df2dd03d3e49990b092175ca1e6751f7f89388e876564047923da64689", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b09c4df2dd03d3e49990b092175ca1e6751f7f89388e876564047923da64689", kill_on_drop: false }`
[INFO] [stdout] 1b09c4df2dd03d3e49990b092175ca1e6751f7f89388e876564047923da64689
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 69efd9a94267cf1116f21dbd4a97334e13f8175cee8bce8ef41c628fac02c34b
[INFO] running `Command { std: "docker" "start" "-a" "69efd9a94267cf1116f21dbd4a97334e13f8175cee8bce8ef41c628fac02c34b", 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/kontra-49ed29a13daaed10)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test calendar::tests::add_business_days_skips_weekends_and_crosses_month_and_year ... ok
[INFO] [stdout] test calendar::tests::add_business_days_skips_configured_holidays ... ok
[INFO] [stdout] test calendar::tests::next_business_day_moves_to_next_valid_day ... ok
[INFO] [stdout] test chunk::tests::add_constant_returns_index ... ok
[INFO] [stdout] test chunk::tests::chunk_write_and_read_back ... ok
[INFO] [stdout] test chunk::tests::disassemble_constant_and_return ... ok
[INFO] [stdout] test compiler::tests::compile_contract_missing_closing_brace ... ok
[INFO] [stdout] test chunk::tests::opcode_u8_roundtrip ... ok
[INFO] [stdout] test compiler::tests::compile_contract_missing_contract_keyword ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_event_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_obligation_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_party_role_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_remedy_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_phase_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_term_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_empty_string_produces_return ... ok
[INFO] [stdout] test compiler::tests::compile_empty_contract_body_produces_return_only ... ok
[INFO] [stdout] test compiler::tests::compile_event_date_decl ... ok
[INFO] [stdout] test compiler::tests::compile_event_triggered_by_decl ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_inline_due_emits_set_due_with_raw_constant ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_unknown_field_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_remedy_with_direct_fields ... ok
[INFO] [stdout] test compiler::tests::compile_single_party_contract ... ok
[INFO] [stdout] test compiler::tests::compile_term_calendar_days_from_event ... ok
[INFO] [stdout] test compiler::tests::compile_remedy_with_phases_emits_phase_opcodes ... ok
[INFO] [stdout] test compiler::tests::compile_tracks_error_on_bad_token ... ok
[INFO] [stdout] test compiler::tests::compile_term_missing_from_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_all_fields_with_due_identifier ... ok
[INFO] [stdout] test config::tests::parse_registry_json_normalizes_invalid_default_id ... ok
[INFO] [stdout] test config::tests::parse_registry_json_rejects_invalid_weekday ... ok
[INFO] [stdout] test config::tests::parse_registry_json_supports_custom_default_and_calendar_fields ... ok
[INFO] [stdout] test compiler::tests::compile_multi_party_contract ... ok
[INFO] [stdout] test compiler::tests::compile_term_business_days_from_breach_of ... ok
[INFO] [stdout] test config::tests::parse_registry_json_empty_calendars_falls_back_to_phase2_default ... ok
[INFO] [stdout] test compiler::tests::compile_whitespace_only_produces_return ... ok
[INFO] [stdout] test config::tests::parse_registry_json_rejects_invalid_holiday_format ... ok
[INFO] [stdout] test diff::tests::diff_events_detects_changed_definition ... ok
[INFO] [stdout] test diff::tests::diff_obligations_detects_condition_change ... ok
[INFO] [stdout] test compiler::tests::compile_condition_mixed_and_or_emits_precedence_order ... ok
[INFO] [stdout] test compiler::tests::compile_condition_grouping_changes_opcode_order ... ok
[INFO] [stdout] test config::tests::load_calendar_registry_from_path_reads_json_file ... ok
[INFO] [stdout] test diff::tests::diff_phases_detects_phase_field_change ... ok
[INFO] [stdout] test diff::tests::render_diff_includes_changed_term_added_obligation_and_removed_phase ... ok
[INFO] [stdout] test diff::tests::diff_remedies_detects_breach_target_change ... ok
[INFO] [stdout] test engine::tests::breach_cascade_is_deterministic_across_repeated_runs ... ok
[INFO] [stdout] test diff::tests::diff_terms_detects_duration_change ... ok
[INFO] [stdout] test engine::tests::business_and_calendar_day_due_dates_diverge ... ok
[INFO] [stdout] test engine::tests::business_day_term_skips_configured_holidays_in_due_resolution ... ok
[INFO] [stdout] test calendar::tests::is_business_day_respects_weekend_and_holiday_rules ... ok
[INFO] [stdout] test engine::tests::condition_precedence_treats_and_tighter_than_or ... ok
[INFO] [stdout] test engine::tests::active_obligation_breaches_after_deadline ... ok
[INFO] [stdout] test engine::tests::business_day_term_skips_weekends_in_due_resolution ... ok
[INFO] [stdout] test engine::tests::active_when_condition_becomes_true ... ok
[INFO] [stdout] test engine::tests::breach_anchor_uses_first_day_after_due_not_eval_date ... ok
[INFO] [stdout] test engine::tests::forked_runtime_can_diverge_from_canonical_state ... ok
[INFO] [stdout] test engine::tests::pending_before_condition_is_met ... ok
[INFO] [stdout] test engine::tests::breach_cascade_traces_multi_step_and_scoped_dependencies ... ok
[INFO] [stdout] test diff::tests::risk_warnings_flag_removed_terminal_remedy_and_removed_phase ... ok
[INFO] [stdout] test engine::tests::obligation_without_condition_activates_when_evaluated ... ok
[INFO] [stdout] test engine::tests::condition_before_uses_event_date_threshold ... ok
[INFO] [stdout] test engine::tests::repeated_simulations_from_same_base_are_deterministic ... ok
[INFO] [stdout] test engine::tests::runtime_uses_default_calendar_for_term_without_override ... ok
[INFO] [stdout] test engine::tests::runtime_uses_term_calendar_override_when_present ... ok
[INFO] [stdout] test diff::tests::diff_ordering_is_deterministic_independent_of_declaration_order ... ok
[INFO] [stdout] test engine::tests::query_state_computes_due_and_overdue_for_breached_item ... ok
[INFO] [stdout] test engine::tests::remedy_phase_activates_when_target_breaches ... ok
[INFO] [stdout] test engine::tests::query_state_includes_all_runtime_items_sorted ... ok
[INFO] [stdout] test engine::tests::runtime_rejects_unknown_term_calendar_override ... ok
[INFO] [stdout] test engine::tests::condition_grouping_changes_default_precedence ... ok
[INFO] [stdout] test engine::tests::snapshot_display_formats_pending_and_breached ... ok
[INFO] [stdout] test engine::tests::simulate_with_does_not_mutate_canonical_runtime ... ok
[INFO] [stdout] test error::tests::compile_error_display ... ok
[INFO] [stdout] test error::tests::runtime_error_with_line_display ... ok
[INFO] [stdout] test error::tests::runtime_error_without_line_display ... ok
[INFO] [stdout] test error::tests::scan_error_display ... ok
[INFO] [stdout] test error::tests::span_fields ... ok
[INFO] [stdout] test scanner::tests::line_comments_are_ignored ... ok
[INFO] [stdout] test scanner::tests::scan_small_contract_snippet ... ok
[INFO] [stdout] test scanner::tests::unterminated_string_produces_error_token ... ok
[INFO] [stdout] test types::tests::normalize_uses_sorted_first_calendar_when_default_is_invalid ... ok
[INFO] [stdout] test types::tests::from_calendars_rejects_duplicate_ids ... ok
[INFO] [stdout] test types::tests::standard_calendar_defaults_to_weekdays_only ... ok
[INFO] [stdout] test types::tests::from_calendars_empty_falls_back_to_phase2_default ... ok
[INFO] [stdout] test vm::tests::interpret_condition_and_builds_condition_tree ... ok
[INFO] [stdout] test vm::tests::interpret_condition_grouping_with_or_and_before_builds_tree ... ok
[INFO] [stdout] test vm::tests::interpret_remedy_with_phase_builds_nested_structure ... ok
[INFO] [stdout] test vm::tests::interpret_minimal_contract_builds_party_and_obligation ... ok
[INFO] [stdout] test diff::tests::diff_parties_detects_field_level_change ... ok
[INFO] [stdout] test vm::tests::runtime_error_includes_source_line_for_stack_underflow ... ok
[INFO] [stdout] test vm::tests::vm_rejects_duplicate_party_roles_even_if_bytecode_repeats_them ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kontra-0992192f12d35977)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test tests::format_simulation_output_labels_canonical_and_simulated_sections ... ok
[INFO] [stdout] test tests::parse_date_rejects_invalid_format ... ok
[INFO] [stdout] test tests::parse_eval_options_rejects_malformed_at_date ... ok
[INFO] [stdout] test tests::parse_simulate_options_parses_multiple_triggers_without_at ... ok
[INFO] [stdout] test tests::parse_eval_options_rejects_unknown_flag ... ok
[INFO] [stdout] test tests::parse_date_accepts_valid_iso ... ok
[INFO] [stdout] test tests::parse_simulate_options_rejects_unknown_flag ... ok
[INFO] [stdout] test tests::parse_simulate_options_parses_repeated_trigger_and_at ... ok
[INFO] [stdout] test tests::parse_trigger_arg_accepts_valid_pair ... ok
[INFO] [stdout] test tests::parse_trigger_arg_rejects_missing_equal ... ok
[INFO] [stdout] test tests::repl_help_text_includes_simulate_cascade_and_examples ... ok
[INFO] [stdout] test tests::run_help_text_has_clear_usage ... ok
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_supports_unique_suffix_match ... ok
[INFO] [stdout] test tests::run_cli_unknown_subcommand_is_actionable ... ok
[INFO] [stdout] test tests::render_simulation_output_matches_expected_golden_flow ... ok
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_rejects_ambiguous_suffix_match ... ok
[INFO] [stdout] test tests::parse_simulate_options_requires_trigger ... ok
[INFO] [stdout] test tests::parse_eval_options_parses_repeated_trigger_and_at ... ok
[INFO] [stderr]    Doc-tests kontra
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_rejects_unknown_item ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[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" "69efd9a94267cf1116f21dbd4a97334e13f8175cee8bce8ef41c628fac02c34b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69efd9a94267cf1116f21dbd4a97334e13f8175cee8bce8ef41c628fac02c34b", kill_on_drop: false }`
[INFO] [stdout] 69efd9a94267cf1116f21dbd4a97334e13f8175cee8bce8ef41c628fac02c34b
