[INFO] fetching crate roba-core 0.12.0...
[INFO] testing roba-core-0.12.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate roba-core 0.12.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate roba-core 0.12.0
[INFO] finished tweaking crates.io crate roba-core 0.12.0
[INFO] tweaked toml for crates.io crate roba-core 0.12.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate roba-core 0.12.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate roba-core 0.12.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `roba-core` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02
[INFO] running `Command { std: "docker" "start" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `roba-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling which v8.0.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling codex-wrapper v0.3.1
[INFO] [stderr]    Compiling claude-wrapper v0.14.0
[INFO] [stderr]    Compiling roba-core v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 37.07s
[INFO] running `Command { std: "docker" "inspect" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `roba-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling roba-core v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 13.03s
[INFO] running `Command { std: "docker" "inspect" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/joshrotenberg/roba"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `roba-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/roba-core/2e9a60993ed7dd50/out/roba_core-2e9a60993ed7dd50)
[INFO] [stdout] 
[INFO] [stdout] running 93 tests
[INFO] [stdout] test engine::tests::surface_structured_output_noop_when_already_present ... ok
[INFO] [stdout] test engine::tests::surface_structured_output_handles_untagged_fence ... ok
[INFO] [stdout] test engine::tests::surface_structured_output_noop_when_fence_is_not_json ... ok
[INFO] [stdout] test lifecycle::tests::event_history_reports_truncation_once_then_replays_retained_records ... ok
[INFO] [stdout] test engine::tests::surface_structured_output_unfences_json_block ... ok
[INFO] [stdout] test engine::tests::config_new_defaults_are_safe ... ok
[INFO] [stdout] test lifecycle::tests::cancellation_that_acquires_control_before_settlement_wins ... ok
[INFO] [stdout] test lifecycle::tests::event_pages_are_bounded_replayable_and_reject_future_cursors ... ok
[INFO] [stdout] test lifecycle::tests::failure_subscription_drains_terminal_events_before_ending ... ok
[INFO] [stdout] test lifecycle::tests::first_start_wins ... ok
[INFO] [stdout] test lifecycle::tests::fresh_run_without_reported_session_cannot_steer ... ok
[INFO] [stdout] test lifecycle::tests::launch_context_is_reused_across_resumed_turns_in_one_run ... ok
[INFO] [stdout] test engine::tests::surface_structured_output_noop_on_prose_around_block ... ok
[INFO] [stdout] test lifecycle::tests::cancellation_drops_the_provider_turn_before_settling ... ok
[INFO] [stdout] test provider::tests::endpoint_names_reject_provider_allowlist_injection ... ok
[INFO] [stdout] test engine::tests::surface_structured_output_noop_on_non_fenced_text ... ok
[INFO] [stdout] test provider::tests::launch_context_reaches_context_aware_provider_without_secret_debug_output ... ok
[INFO] [stdout] test lifecycle::tests::suspended_run_does_no_work_until_started ... ok
[INFO] [stdout] test lifecycle::tests::steering_runs_at_the_next_resumed_boundary ... ok
[INFO] [stdout] test lifecycle::tests::resumed_run_reuses_known_session_when_outcome_omits_it ... ok
[INFO] [stdout] test providers::claude::tests::bounded_turn_suppresses_the_legacy_single_turn_notice ... ok
[INFO] [stdout] test providers::claude::tests::attached_endpoint_without_advertised_tools_adds_no_allowlist_entries ... ok
[INFO] [stdout] test providers::claude::tests::normalizes_only_reported_telemetry ... ok
[INFO] [stdout] test providers::claude::tests::temporary_mcp_config_is_owner_private ... ok
[INFO] [stdout] test lifecycle::tests::provider_failure_details_survive_lifecycle_settlement ... ok
[INFO] [stdout] test provider::tests::matching_provider_returns_normalized_outcome ... ok
[INFO] [stdout] test lifecycle::tests::provider_panic_settles_failed_instead_of_stranding_waiters ... ok
[INFO] [stdout] test provider::tests::provider_mismatch_refuses_before_execute ... ok
[INFO] [stdout] test provider::tests::endpoint_without_advertised_tools_grants_no_tool_names ... ok
[INFO] [stdout] test providers::codex::tests::attached_endpoint_without_advertised_tools_adds_no_approval_overrides ... ok
[INFO] [stdout] test providers::claude::tests::launch_context_builds_exact_private_config_and_tool_allowlist ... ok
[INFO] [stdout] test providers::codex::tests::effort_mapping_is_explicit ... ok
[INFO] [stdout] test providers::claude::tests::validates_before_provider_launch ... ok
[INFO] [stdout] test providers::codex::tests::codex_approval_key_segments_are_always_toml_quoted_and_escaped ... ok
[INFO] [stdout] test providers::claude::tests::rejects_cross_provider_session_resume ... ok
[INFO] [stdout] test providers::codex::tests::non_interactive_commands_use_explicit_sandbox_and_never_approval ... ok
[INFO] [stdout] test providers::codex::tests::normalizes_thread_and_only_reported_usage ... ok
[INFO] [stdout] test providers::codex::tests::prompt_hierarchy_is_deterministic ... ok
[INFO] [stdout] test providers::codex::tests::fake_binary_receives_mcp_overrides_and_secret_only_in_environment ... ok
[INFO] [stdout] test lifecycle::tests::lifecycle_wraps_provider_observations_in_authoritative_boundaries ... ok
[INFO] [stdout] test providers::codex::tests::launch_context_builds_exact_mcp_overrides_and_secret_environment ... ok
[INFO] [stdout] test providers::codex::tests::unsupported_limits_refuse_before_launch ... ok
[INFO] [stdout] test run::tests::a_prompt_makes_the_spec_ready_and_round_trips ... ok
[INFO] [stdout] test providers::claude::tests::unrelated_nonzero_stream_exit_remains_a_provider_failure ... ok
[INFO] [stdout] test run::tests::a_promptless_spec_is_explicitly_suspended ... ok
[INFO] [stdout] test run::tests::failure_details_are_additive_and_omit_unreported_fields ... ok
[INFO] [stdout] test run::tests::missing_usage_is_not_rendered_as_zero ... ok
[INFO] [stdout] test run::tests::prompt_and_provider_ids_reject_empty_values ... ok
[INFO] [stdout] test run::tests::removed_mission_and_worker_policy_fail_loudly ... ok
[INFO] [stdout] test providers::claude::tests::fake_binary_streams_open_and_resume_into_normalized_events ... ok
[INFO] [stdout] test session::tests::anon_worktree_defeats_continue_most_recent ... ok
[INFO] [stdout] test runtime::tests::duplicates_and_unregistered_providers_fail_closed ... ok
[INFO] [stdout] test providers::claude::tests::cancelling_a_streamed_turn_kills_the_fake_process ... ok
[INFO] [stdout] test providers::claude::tests::streamed_limit_terminal_precedes_generic_process_failure ... ok
[INFO] [stdout] test providers::codex::tests::resumed_failure_falls_back_to_the_requested_session ... ok
[INFO] [stdout] test session::tests::anon_worktree_alone_is_fine ... ok
[INFO] [stdout] test runtime::tests::host_registers_explicit_providers_and_creates_suspended_runs ... ok
[INFO] [stdout] test session::tests::anon_worktree_defeats_resume_specific ... ok
[INFO] [stdout] test session::tests::continue_alone_is_fine ... ok
[INFO] [stdout] test providers::codex::tests::terminal_event_keeps_the_wrappers_typed_failure_kind ... ok
[INFO] [stdout] test session::tests::name_empty_prompt_falls_back_to_bare_roba ... ok
[INFO] [stdout] test session::tests::name_handles_unicode_correctly ... ok
[INFO] [stdout] test session::tests::apply_session_appends_notice_to_command ... ok
[INFO] [stdout] test session::tests::apply_session_never_forwards_include_partial_messages ... ok
[INFO] [stdout] test session::tests::apply_session_forwards_explicit_claude_bundle_provisioning ... ok
[INFO] [stdout] test session::tests::name_short_prompt_passes_through ... ok
[INFO] [stdout] test providers::codex::tests::bare_error_event_preserves_reason_and_session_id ... ok
[INFO] [stdout] test providers::claude::tests::fake_binary_receives_exact_mcp_attachment_and_cleanup ... ok
[INFO] [stdout] test session::tests::name_truncates_at_40_chars_with_ellipsis ... ok
[INFO] [stdout] test session::tests::name_uses_first_nonempty_line ... ok
[INFO] [stdout] test session::tests::named_worktree_does_not_defeat_continue ... ok
[INFO] [stdout] test session::tests::notice_absent_under_no_agent_notice ... ok
[INFO] [stdout] test session::tests::notice_composes_with_user_append ... ok
[INFO] [stdout] test session::tests::notice_empty_override_injects_nothing ... ok
[INFO] [stdout] test session::tests::notice_empty_override_keeps_user_append_only ... ok
[INFO] [stdout] test session::tests::notice_injected_by_default ... ok
[INFO] [stdout] test session::tests::notice_override_replaces_builtin ... ok
[INFO] [stdout] test session::tests::prefix_ambiguous_returns_all_candidates ... ok
[INFO] [stdout] test session::tests::prefix_eight_char_displayed_form_resolves ... ok
[INFO] [stdout] test session::tests::prefix_empty_id_list_no_match ... ok
[INFO] [stdout] test session::tests::prefix_empty_input_no_match ... ok
[INFO] [stdout] test session::tests::prefix_full_uuid_present_matches_itself ... ok
[INFO] [stdout] test session::tests::prefix_is_case_insensitive ... ok
[INFO] [stdout] test session::tests::prefix_title_like_input_no_match ... ok
[INFO] [stdout] test session::tests::prefix_unique_match_expands_to_full ... ok
[INFO] [stdout] test session::tests::session_id_does_not_defeat_continue ... ok
[INFO] [stdout] test session::tests::prefix_no_match_falls_through ... ok
[INFO] [stdout] test providers::codex::tests::resumed_success_falls_back_to_the_requested_session ... ok
[INFO] [stdout] test providers::codex::tests::turn_failed_event_preserves_reason_and_thread_without_inventing_a_kind ... ok
[INFO] [stdout] test providers::codex::tests::fake_binary_streams_open_and_resume_into_normalized_events ... ok
[INFO] [stdout] test providers::codex::tests::cancelling_a_streamed_turn_kills_the_fake_process ... ok
[INFO] [stdout] test providers::codex::tests::successful_process_without_terminal_event_fails_closed ... ok
[INFO] [stdout] test providers::claude::tests::successful_process_without_result_event_fails_closed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 93 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests roba_core
[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" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02", kill_on_drop: false }`
[INFO] [stdout] 39032a1434fa099727cc4d36fc7b2ff43a974170d0830f13bfe53356fe202b02
