[INFO] fetching crate agent-exec 0.2.20... [INFO] testing agent-exec-0.2.20 against 1.98.0-beta.1 for beta-1.98-2 [INFO] extracting crate agent-exec 0.2.20 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate agent-exec 0.2.20 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate agent-exec 0.2.20 [INFO] tweaked toml for crates.io crate agent-exec 0.2.20 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate agent-exec 0.2.20 on toolchain 1.98.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate agent-exec 0.2.20 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.98.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125 [INFO] running `Command { std: "docker" "start" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", 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" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", 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" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling clap_builder v4.5.59 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling is_executable v1.0.5 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling agent-exec v0.2.20 (/opt/rustwide/workdir) [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling clap v4.5.59 [INFO] [stderr] Compiling clap_complete v4.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `Command { std: "docker" "inspect" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", 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" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling agent-exec v0.2.20 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.80s [INFO] running `Command { std: "docker" "inspect" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", 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" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agent_exec-f7f07453ef383b27) [INFO] [stdout] running 127 tests [INFO] [stdout] test completions::tests::test_extract_root_from_comp_line ... ok [INFO] [stdout] test completions::tests::test_description_includes_state ... ok [INFO] [stdout] test completions::tests::test_explicit_root_via_env_var ... ok [INFO] [stdout] test completions::tests::test_extract_root_from_comp_line_equals_form ... ok [INFO] [stdout] test completions::tests::test_nonexistent_root_returns_empty ... ok [INFO] [stdout] test completions::tests::test_list_all_jobs_returns_all_dirs ... ok [INFO] [stdout] test compress::generic::tests::aws_json_omits_policies_secrets_and_keeps_resource_status ... ok [INFO] [stdout] test compress::generic::tests::docker_images_table_keeps_repository_identity_and_size_fallback ... ok [INFO] [stdout] test compress::generic::tests::psql_table_keeps_identity_and_status_columns ... ok [INFO] [stdout] test compress::generic::tests::docker_table_keeps_key_columns_and_abnormal_rows_first ... ok [INFO] [stdout] test compress::generic::tests::gh_glab_summary_keeps_identity_state_checks_and_bounded_body ... ok [INFO] [stdout] test compress::generic::tests::docker_compose_table_keeps_service_state_and_ports ... ok [INFO] [stdout] test compress::generic::tests::glab_summary_keeps_issue_identity_and_status ... ok [INFO] [stdout] test compress::generic::tests::kubernetes_table_keeps_readiness_status_and_restarts ... ok [INFO] [stdout] test completions::tests::test_terminal_jobs_filter ... ok [INFO] [stdout] test completions::tests::test_missing_state_json_included_without_filter ... ok [INFO] [stdout] test completions::tests::test_cwd_filter_excludes_jobs_from_other_directories ... ok [INFO] [stdout] test completions::tests::test_list_job_candidates_with_explicit_root_path ... ok [INFO] [stdout] test completions::tests::test_waitable_jobs_filter ... ok [INFO] [stdout] test completions::tests::test_list_with_state_filter ... ok [INFO] [stdout] test compress::generic::tests::aws_representative_json_keeps_identity_status_and_omits_large_values ... ok [INFO] [stdout] test completions::tests::test_missing_state_json_excluded_with_filter ... ok [INFO] [stdout] test compress::generic::tests::curl_wget_progress_is_stripped_but_result_context_remains ... ok [INFO] [stdout] test compress::generic::tests::test_compressor_extracts_failure_lines ... ok [INFO] [stdout] test compress::route::tests::classifies_git_log ... ok [INFO] [stdout] test compress::language::tests::summarizes_test_failures_and_go_ndjson ... ok [INFO] [stdout] test compress::route::tests::classifies_shell_wrapped_command ... ok [INFO] [stdout] test compress::route::tests::classifies_cargo_test ... ok [INFO] [stdout] test compress::route::tests::classifies_system_list_read_json_and_env_commands ... ok [INFO] [stdout] test compress::route::tests::classifies_container_cloud_and_http_commands ... ok [INFO] [stdout] test compress::route::tests::classifies_docker_logs ... ok [INFO] [stdout] test compress::route::tests::command_family_priority_beats_output_shape_fallback ... ok [INFO] [stdout] test compress::route::tests::output_shape_priority_keeps_json_before_repeated_logs ... ok [INFO] [stdout] test compress::route::tests::output_shape_priority_keeps_repeated_logs_before_errors ... ok [INFO] [stdout] test compress::tests::conflicting_cli_modes_are_rejected ... ok [INFO] [stdout] test compress::route::tests::classifies_go_tooling ... ok [INFO] [stdout] test compress::language::tests::groups_go_lint_text ... ok [INFO] [stdout] test compress::util::tests::bounded_summary_keeps_head_and_tail ... ok [INFO] [stdout] test compress::util::tests::diagnostic_extraction_includes_context ... ok [INFO] [stdout] test compress::util::tests::env_summary_masks_secret_values_and_groups_prefixes ... ok [INFO] [stdout] test compress::util::tests::guard_rejects_mixed_stream_expansion ... ok [INFO] [stdout] test compress::route::tests::classifies_javascript_tooling ... ok [INFO] [stdout] test compress::route::tests::classifies_json_output ... ok [INFO] [stdout] test compress::util::tests::guard_rejects_stderr_expansion ... ok [INFO] [stdout] test compress::util::tests::guard_rejects_stdout_expansion ... ok [INFO] [stdout] test compress::util::tests::json_shape_extracts_object_keys ... ok [INFO] [stdout] test compress::util::tests::line_deduplication_collapses_adjacent_repeats ... ok [INFO] [stdout] test compress::util::tests::json_shape_summarizes_arrays_and_ndjson ... ok [INFO] [stdout] test compress::route::tests::classifies_pytest ... ok [INFO] [stdout] test compress::route::tests::classifies_python_tooling ... ok [INFO] [stdout] test compress::route::tests::classifies_search ... ok [INFO] [stdout] test compress::route::tests::classifies_timestamp_normalized_repeated_error_logs_before_errors ... ok [INFO] [stdout] test compress::language::tests::groups_python_and_pip_outputs ... ok [INFO] [stdout] test compress::route::tests::classifies_single_error_as_errors ... ok [INFO] [stdout] test compress::tests::expansion_guard_suppresses_larger_candidate ... ok [INFO] [stdout] test compress::util::tests::search_summary_groups_by_file_with_line_numbers ... ok [INFO] [stdout] test compress::util::tests::text_summary_keeps_head_tail_and_code_shape ... ok [INFO] [stdout] test config::tests::compression_default_is_route_when_missing ... ok [INFO] [stdout] test compress::route::tests::classifies_stderr_timestamp_normalized_repeated_error_logs_before_errors ... ok [INFO] [stdout] test config::tests::default_wrapper_is_nonempty ... ok [INFO] [stdout] test compress::util::tests::list_summary_groups_by_directory_and_caps ... ok [INFO] [stdout] test compress::route::tests::classifies_repeated_logs ... ok [INFO] [stdout] test config::tests::resolve_missing_config_returns_default ... ok [INFO] [stdout] test compress::util::tests::table_parser_extracts_cells ... ok [INFO] [stdout] test config::tests::resolve_config_file_override_is_used ... ok [INFO] [stdout] test config::tests::load_config_rejects_invalid_compression_mode ... ok [INFO] [stdout] test config::tests::parse_shell_wrapper_str_rejects_empty ... ok [INFO] [stdout] test config::tests::parse_shell_wrapper_str_splits_whitespace ... ok [INFO] [stdout] test config::tests::resolve_cli_override_takes_precedence ... ok [INFO] [stdout] test config::tests::load_config_parses_compression_off_and_route ... ok [INFO] [stdout] test config::tests::load_config_parses_unix_wrapper ... ok [INFO] [stdout] test gc::tests::parse_duration_days ... ok [INFO] [stdout] test gc::tests::parse_duration_invalid ... ok [INFO] [stdout] test gc::tests::older_than_logic ... ok [INFO] [stdout] test jobstore::tests::ambiguous_job_id_display_truncates_beyond_20 ... ok [INFO] [stdout] test jobstore::tests::ambiguous_job_id_display_up_to_20_candidates ... ok [INFO] [stdout] test jobstore::tests::generate_job_id_fails_after_16_collisions ... ok [INFO] [stdout] test jobstore::tests::job_dir_open_not_found_returns_job_not_found ... ok [INFO] [stdout] test jobstore::tests::job_dir_open_unique_prefix_resolves ... ok [INFO] [stdout] test jobstore::tests::init_state_writes_deterministic_job_name_on_windows ... ok [INFO] [stdout] test jobstore::tests::job_dir_open_unique_prefix_with_mixed_legacy_and_hash_ids ... ok [INFO] [stdout] test jobstore::tests::resolve_root_cli_flag_wins ... ok [INFO] [stdout] test jobstore::tests::resolve_root_default_contains_agent_exec ... ok [INFO] [stdout] test jobstore::tests::resolve_root_xdg ... ok [INFO] [stdout] test jobstore::tests::meta_json_env_keys_only_no_values ... ok [INFO] [stdout] test jobstore::tests::resolve_root_env_var ... ok [INFO] [stdout] test run::tests::rfc3339_known_date ... ok [INFO] [stdout] test run::tests::rfc3339_epoch ... ok [INFO] [stdout] test schema::tests::error_detail_includes_details_when_present ... ok [INFO] [stdout] test schema::tests::error_detail_omits_details_when_none ... ok [INFO] [stdout] test schema::tests::run_data_roundtrip_with_all_fields ... ok [INFO] [stdout] test schema::tests::run_data_signal_and_duration_omitted_when_none ... ok [INFO] [stdout] test schema::tests::run_data_signal_and_duration_present_when_set ... ok [INFO] [stdout] test schema::tests::run_data_signal_omitted_duration_present ... ok [INFO] [stdout] test schema::tests::wait_data_progress_hints_omitted_when_none ... ok [INFO] [stdout] test schema::tests::wait_data_progress_hints_present_when_set ... ok [INFO] [stdout] test schema::tests::wait_data_roundtrip ... ok [INFO] [stdout] test schema::tests::wait_data_terminal_with_progress_hints ... ok [INFO] [stdout] test serve::tests::exec_request_defaults_when_omitted ... ok [INFO] [stdout] test serve::tests::exec_request_deserializes_new_fields ... ok [INFO] [stdout] test serve::tests::exec_request_rejects_timeout_ms ... ok [INFO] [stdout] test jobstore::tests::job_dir_create_writes_meta_json ... ok [INFO] [stdout] test serve::tests::test_auth_middleware_missing_token ... ok [INFO] [stdout] test serve::tests::test_auth_middleware_no_token_configured ... ok [INFO] [stdout] test serve::tests::test_auth_middleware_valid_token ... ok [INFO] [stdout] test serve::tests::test_auth_middleware_non_bearer_scheme ... ok [INFO] [stdout] test jobstore::tests::generate_job_id_returns_fixed_length_hex ... ok [INFO] [stdout] test serve::tests::test_auth_middleware_wrong_token ... ok [INFO] [stdout] test jobstore::tests::job_dir_open_exact_match ... ok [INFO] [stdout] test serve::tests::test_error_json_structure ... ok [INFO] [stdout] test serve::tests::test_is_loopback_ipv4_127_range ... ok [INFO] [stdout] test serve::tests::test_is_loopback_ipv4_localhost ... ok [INFO] [stdout] test serve::tests::test_is_loopback_ipv6 ... ok [INFO] [stdout] test serve::tests::test_not_loopback_external ... ok [INFO] [stdout] test serve::tests::test_not_loopback_ipv6_all ... ok [INFO] [stdout] test serve::tests::test_not_loopback_wildcard ... ok [INFO] [stdout] test jobstore::tests::state_json_contains_updated_at ... ok [INFO] [stdout] test jobstore::tests::job_dir_open_ambiguous_prefix_returns_ambiguous ... ok [INFO] [stdout] test jobstore::tests::meta_json_atomic_write ... ok [INFO] [stdout] test compress::generic::tests::logs_routes_deduplicate_repeated_container_logs ... ok [INFO] [stdout] test jobstore::tests::generate_job_id_retries_when_collision_exists ... ok [INFO] [stdout] test jobstore::tests::state_json_atomic_write_no_corruption ... ok [INFO] [stdout] test compress::util::tests::repeated_normalized_log_detector_recognizes_timestamp_varied_errors ... ok [INFO] [stdout] test compress::route::tests::classifies_unknown_commands_as_summary ... ok [INFO] [stdout] test compress::util::tests::log_dedup_normalizes_timestamps_and_keeps_errors ... ok [INFO] [stdout] test compress::language::tests::groups_tsc_and_eslint_diagnostics ... ok [INFO] [stdout] test compress::tests::logs_mode_deduplicates_lines ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 127 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agent_exec-653e8f44189a0b02) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::list_default_limit_is_50 ... ok [INFO] [stdout] test tests::list_explicit_zero_means_no_limit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-ebbac068e8d710d0) [INFO] [stdout] [INFO] [stdout] running 254 tests [INFO] [stdout] test all_commands_use_schema_version_0_1 ... ok [INFO] [stdout] test completions_invalid_shell_exits_with_code_2 ... ok [INFO] [stdout] test completions_fish_outputs_nonempty_script ... ok [INFO] [stdout] test completions_bash_outputs_nonempty_script ... ok [INFO] [stdout] test completions_zsh_outputs_nonempty_script ... ok [INFO] [stdout] test compression_expansion_guard_applies_per_stream ... ok [INFO] [stdout] test compression_expansion_guard_suppresses_ndjson_tail_payload ... ok [INFO] [stdout] test argv_mode_completion_aligns_with_workload_boundary_issue5_regression ... ok [INFO] [stdout] test compression_cargo_test_synthetic_fixture_keeps_failure_detail ... ok [INFO] [stdout] test completions_powershell_outputs_nonempty_script ... ok [INFO] [stdout] test compression_json_expansion_guard ... ok [INFO] [stdout] test argv_mode_exec_handoff_completes ... ok [INFO] [stdout] test ambiguous_prefix_returns_error ... ok [INFO] [stdout] test compression_route_preserves_single_error_as_errors ... ok [INFO] [stdout] test compression_route_small_cargo_version_like_output_is_guarded ... ok [INFO] [stdout] test compression_config_default_and_cli_precedence ... ok [INFO] [stdout] test compression_schema_and_help_list_modes_without_auto ... ok [INFO] [stdout] test create_no_tags_persists_empty_array ... ok [INFO] [stdout] test compression_default_route_and_off_preserve_raw_fields ... ok [INFO] [stdout] test compression_rtk_alias_and_conflict_behaviour ... ok [INFO] [stdout] test create_output_pattern_persisted_same_shape_as_run ... ok [INFO] [stdout] test create_does_not_trigger_notification_side_effects ... ok [INFO] [stdout] test create_start_reuses_stdin_definition ... ok [INFO] [stdout] test create_tag_deduplication ... ok [INFO] [stdout] test create_notify_command_persisted_same_shape_as_run ... ok [INFO] [stdout] test compression_git_small_output_uses_expansion_guard_and_preserves_raw ... ok [INFO] [stdout] test create_tag_persisted_same_shape_as_run ... ok [INFO] [stdout] test delete_all_deleted_action_implies_directories_absent ... ok [INFO] [stdout] test compression_route_reports_search_and_docker_logs_detected_kinds ... ok [INFO] [stdout] test compression_git_log_stat_is_smaller_and_preserves_commits ... ok [INFO] [stdout] test compression_system_log_json_env_route_preserves_raw_and_compresses ... ok [INFO] [stdout] test create_with_stdin_dash_materializes_input_for_later_start ... ok [INFO] [stdout] test delete_all_response_includes_cwd_scope ... ok [INFO] [stdout] test delete_nonexistent_job_returns_job_not_found ... ok [INFO] [stdout] test delete_all_dry_run_preserves_directories ... ok [INFO] [stdout] test compression_modes_have_behavior_for_errors_logs_and_json ... ok [INFO] [stdout] test delete_prefix_resolves_unique_match ... ok [INFO] [stdout] test delete_all_skips_terminal_state_with_live_pid ... ok [INFO] [stdout] test delete_dry_run_single_preserves_directory ... ok [INFO] [stdout] test compression_git_diff_summarizes_files_hunks_and_keeps_raw_stdout ... ok [INFO] [stdout] test error_response_has_retryable_field ... ok [INFO] [stdout] test delete_ambiguous_prefix_returns_error ... ok [INFO] [stdout] test gc_custom_older_than_flag_reported ... ok [INFO] [stdout] test gc_deleted_action_implies_directory_absent_and_categorises_skips ... ok [INFO] [stdout] test gc_dry_run_preserves_directories ... ok [INFO] [stdout] test gc_deletes_only_terminal_jobs ... ok [INFO] [stdout] test delete_all_scopes_to_current_cwd ... ok [INFO] [stdout] test gc_empty_root_returns_ok ... ok [INFO] [stdout] test delete_single_removes_finished_job ... ok [INFO] [stdout] test gc_skips_unreadable_state ... ok [INFO] [stdout] test gc_uses_default_30d_window ... ok [INFO] [stdout] test gc_supports_max_bytes_policy ... ok [INFO] [stdout] test gc_supports_max_jobs_policy ... ok [INFO] [stdout] test global_root_flag_list ... ok [INFO] [stdout] test delete_single_response_omits_cwd_scope ... ok [INFO] [stdout] test global_root_flag_run ... ok [INFO] [stdout] test global_root_flag_gc ... ok [INFO] [stdout] test full_log_has_timestamp_and_stream_tags ... ok [INFO] [stdout] test inherit_env_and_no_inherit_env_are_mutually_exclusive ... ok [INFO] [stdout] test install_skills_claude_global_succeeds ... ok [INFO] [stdout] test install_skills_claude_local_succeeds ... ok [INFO] [stdout] test compression_route_reports_language_detected_kinds_for_real_commands ... ok [INFO] [stdout] test delete_single_deleted_action_implies_directory_absent ... ok [INFO] [stdout] test install_skills_repeated_install_updates_single_lock_entry ... ok [INFO] [stdout] test install_skills_without_claude_uses_agents ... ok [INFO] [stdout] test install_skills_embedded_source_succeeds ... ok [INFO] [stdout] test gc_skips_jobs_without_gc_timestamp ... ok [INFO] [stdout] test kill_error_for_unknown_job ... ok [INFO] [stdout] test kill_signal_non_listed_value_accepted_by_clap ... ok [INFO] [stdout] test global_root_flag_status ... ok [INFO] [stdout] test global_root_flag_takes_precedence_over_env ... ok [INFO] [stdout] test invalid_subcommand_exits_with_code_2 ... ok [INFO] [stdout] test list_all_and_cwd_conflict_exits_with_code_2 ... ok [INFO] [stdout] test compression_route_classifies_timestamp_varied_repeated_error_logs_as_logs ... ok [INFO] [stdout] test json_default_still_works_without_yaml_flag ... ok [INFO] [stdout] test compression_route_reports_specific_detected_kinds ... ok [INFO] [stdout] test list_exact_tag_filter ... ok [INFO] [stdout] test list_invalid_tag_pattern_rejected ... ok [INFO] [stdout] test list_default_limit_truncates_at_50 ... ok [INFO] [stdout] test list_default_filters_by_caller_cwd ... ok [INFO] [stdout] test list_cwd_flag_filters_by_specified_directory ... ok [INFO] [stdout] test list_includes_short_job_id ... ok [INFO] [stdout] test list_limit_zero_returns_all ... ok [INFO] [stdout] test list_all_flag_disables_cwd_filter ... ok [INFO] [stdout] test list_response_contains_root_field ... ok [INFO] [stdout] test list_returns_empty_when_root_does_not_exist ... ok [INFO] [stdout] test list_jobs_include_command ... ok [INFO] [stdout] test compression_is_wired_for_start_restart_and_tail ... ok [INFO] [stdout] test list_state_invalid_value_exits_with_code_2 ... ok [INFO] [stdout] test list_jobs_include_tags ... ok [INFO] [stdout] test list_prefix_tag_filter ... ok [INFO] [stdout] test list_tag_filter_composes_with_cwd ... ok [INFO] [stdout] test list_skips_invalid_directories ... ok [INFO] [stdout] test list_limit_truncates_result ... ok [INFO] [stdout] test list_returns_jobs_sorted_by_started_at_desc ... ok [INFO] [stdout] test notify_set_missing_job_returns_job_not_found ... ok [INFO] [stdout] test list_multiple_tag_filters_and_semantics ... ok [INFO] [stdout] test notify_set_output_match_missing_job_returns_job_not_found ... ok [INFO] [stdout] test compression_smaller_output_still_applies ... ok [INFO] [stdout] test compression_route_boundary_pairs_output_shape_with_matching_summarizer ... ok [INFO] [stdout] test mask_replaces_env_var_value_with_stars ... ok [INFO] [stdout] test notify_command_sink_receives_event_via_stdin ... ok [INFO] [stdout] test notify_failure_does_not_change_job_state ... ok [INFO] [stdout] test notify_file_sink_appends_ndjson_on_job_finish ... ok [INFO] [stdout] test notify_set_completion_and_output_match_coexist ... ok [INFO] [stdout] test notify_set_preserves_notify_file ... ok [INFO] [stdout] test notify_set_output_match_regex_type ... ok [INFO] [stdout] test notify_set_saves_output_match_config ... ok [INFO] [stdout] test notify_set_output_match_terminal_job_no_delivery ... ok [INFO] [stdout] test notify_set_terminal_job_succeeds_without_executing_command ... ok [INFO] [stdout] test notify_set_updates_notify_command_in_meta_json ... ok [INFO] [stdout] test output_match_no_replay_of_pre_existing_output ... ok [INFO] [stdout] test output_match_command_sink_fires_on_matching_line ... ok [INFO] [stdout] test prefix_lookup_resolves ... ok [INFO] [stdout] test output_match_notification_events_ndjson_written ... ok [INFO] [stdout] test prefix_lookup_works_with_mixed_hash_and_legacy_ids ... ok [INFO] [stdout] test notify_set_updated_command_used_at_completion ... ok [INFO] [stdout] test output_match_sink_failure_does_not_change_job_state ... ok [INFO] [stdout] test ps_does_not_expose_state_flag ... ok [INFO] [stdout] test output_match_file_sink_appends_per_match ... ok [INFO] [stdout] test output_match_regex_pattern_fires_on_match ... ok [INFO] [stdout] test restart_created_job_behaves_like_start ... ok [INFO] [stdout] test restart_help_documents_flags ... ok [INFO] [stdout] test output_match_stream_stderr_only ... ok [INFO] [stdout] test ps_excludes_stale_running_job_with_dead_pid ... ok [INFO] [stdout] test restart_preserves_metadata_env_mask_and_stdin ... ok [INFO] [stdout] test restart_response_fields_and_no_wait_contract ... ok [INFO] [stdout] test restart_resets_logs_and_completion_event ... ok [INFO] [stdout] test restart_unknown_job_returns_stable_json_error ... ok [INFO] [stdout] test restart_terminal_job_preserves_job_id_and_directory ... ok [INFO] [stdout] test rm_alias_deletes_finished_job ... ok [INFO] [stdout] test restart_running_job_terminates_old_process_and_launches_replacement ... ok [INFO] [stdout] test rm_alias_dry_run_all_matches_delete ... ok [INFO] [stdout] test run_accepts_max_bytes_flag ... ok [INFO] [stdout] test run_accepts_wait_bool_forms_for_backward_compatibility ... ok [INFO] [stdout] test run_accepts_wait_flag ... ok [INFO] [stdout] test restart_with_old_terminal_job_keeps_target_inspectable ... ok [INFO] [stdout] test run_and_create_persist_representative_definition_metadata ... ok [INFO] [stdout] test run_and_create_persist_same_stdin_meta_shape ... ok [INFO] [stdout] test run_auto_gc_deletes_old_terminal_job_by_default ... ok [INFO] [stdout] test run_creates_full_log ... ok [INFO] [stdout] test run_creates_all_log_files_immediately ... ok [INFO] [stdout] test run_inline_includes_signal_on_signal_terminated_exit ... ok [INFO] [stdout] test run_includes_elapsed_ms_log_paths_and_inline_metrics ... ok [INFO] [stdout] test run_inline_returns_exit_code_and_duration_ms_on_short_exit ... ok [INFO] [stdout] test run_invalid_tag_is_rejected ... ok [INFO] [stdout] test run_json_response_includes_masked_env_vars ... ok [INFO] [stdout] test output_match_near_future_line_triggers_delivery ... ok [INFO] [stdout] test run_env_var_is_applied ... ok [INFO] [stdout] test progress_every_supervise_stops_after_child_exits ... ok [INFO] [stdout] test run_no_tags_returns_empty_array ... ok [INFO] [stdout] test run_no_auto_gc_opt_out_preserves_old_terminal_job ... ok [INFO] [stdout] test run_log_path_override ... ok [INFO] [stdout] test run_preserves_child_bare_wait_argument ... ok [INFO] [stdout] test run_rejects_removed_snapshot_after_flag ... ok [INFO] [stdout] test run_rejects_removed_tail_lines_flag ... ok [INFO] [stdout] test run_returns_json_with_job_id ... ok [INFO] [stdout] test run_returns_inline_payload_without_legacy_snapshot_fields ... ok [INFO] [stdout] test run_inline_omits_completion_fields_for_long_jobs ... ok [INFO] [stdout] test run_stdin_dash_with_tty_like_stdin_fails_fast ... ok [INFO] [stdout] test run_stdin_dash_pipe_materialized_and_visible_in_meta ... ok [INFO] [stdout] test run_no_inherit_env_clears_env ... ok [INFO] [stdout] test run_stdin_inline_preserves_exact_bytes ... ok [INFO] [stdout] test run_stdin_file_uses_materialized_copy ... ok [INFO] [stdout] test run_tag_appears_in_response ... ok [INFO] [stdout] test run_tag_deduplication ... ok [INFO] [stdout] test run_wildcard_tag_is_rejected ... ok [INFO] [stdout] test run_start_response_uses_inline_output_fields ... ok [INFO] [stdout] test run_tag_persisted_in_meta ... ok [INFO] [stdout] test schema_response_has_generated_at ... ok [INFO] [stdout] test schema_response_has_schema_format ... ok [INFO] [stdout] test schema_response_has_schema_object ... ok [INFO] [stdout] test schema_returns_json_envelope ... ok [INFO] [stdout] test schema_stdout_is_single_json_object ... ok [INFO] [stdout] test run_without_stdin_keeps_null_stdin_behavior ... ok [INFO] [stdout] test run_with_double_dash_separator ... ok [INFO] [stdout] test shell_string_mode_preserved_after_argv_change ... ok [INFO] [stdout] test shell_wrapper_argv_fidelity_across_run_supervise ... ok [INFO] [stdout] test shell_wrapper_applied_to_run_command_string ... ok [INFO] [stdout] test shell_wrapper_cli_takes_precedence_over_config ... ok [INFO] [stdout] test shell_wrapper_config_file_override ... ok [INFO] [stdout] test shell_wrapper_invalid_config_file_fails ... ok [INFO] [stdout] test shell_wrapper_default_behavior ... ok [INFO] [stdout] test shell_wrapper_cli_override_with_notify_command ... ok [INFO] [stdout] test start_accepts_wait_bool_forms_for_backward_compatibility ... ok [INFO] [stdout] test start_accepts_wait_flag ... ok [INFO] [stdout] test start_rejects_removed_snapshot_after_flag ... ok [INFO] [stdout] test shell_wrapper_shared_between_run_and_notify_command ... ok [INFO] [stdout] test start_auto_gc_deletes_old_terminal_job_by_default ... ok [INFO] [stdout] test start_uses_tags_persisted_by_create ... ok [INFO] [stdout] test state_json_required_fields_present_with_null_for_options ... ok [INFO] [stdout] test status_error_for_unknown_job ... ok [INFO] [stdout] test status_becomes_terminal_when_root_exits_despite_inherited_stdio ... ok [INFO] [stdout] test run_timeout_terminates_child ... ok [INFO] [stdout] test status_unknown_job_exits_with_code_1 ... ok [INFO] [stdout] test stderr_contains_no_json_envelope ... ok [INFO] [stdout] test stdin_bin_created_with_0o600_permissions ... ok [INFO] [stdout] test stdin_option_conflict_is_usage_error_for_run_and_create ... ok [INFO] [stdout] test stdin_too_large_rejects_oversized_input ... ok [INFO] [stdout] test stdout_is_single_json_object ... ok [INFO] [stdout] test subcommand_root_flag_compat_gc ... ok [INFO] [stdout] test status_returns_json_for_existing_job ... ok [INFO] [stdout] test subcommand_root_flag_compat_list ... ok [INFO] [stdout] test subcommand_root_flag_compat_run ... ok [INFO] [stdout] test delete_all_distinguishes_out_of_scope_from_in_scope_skipped ... ok [INFO] [stdout] test subcommand_root_flag_compat_status ... ok [INFO] [stdout] test delete_all_skips_running_and_created_jobs ... ok [INFO] [stdout] test tag_set_deduplicates ... ok [INFO] [stdout] test tag_set_missing_job_returns_job_not_found ... ok [INFO] [stdout] test tag_set_clears_tags ... ok [INFO] [stdout] test tag_set_invalid_tag_rejected ... ok [INFO] [stdout] test delete_running_job_returns_invalid_state ... ok [INFO] [stdout] test status_remains_running_while_root_alive_despite_success_output_post_0_1_10_issue5 ... ok [INFO] [stdout] test tail_error_for_unknown_job ... ok [INFO] [stdout] test tag_set_replaces_tags ... ok [INFO] [stdout] test tag_set_preserves_other_meta_fields ... ok [INFO] [stdout] test test_completions_bash_outputs_nonempty_script ... ok [INFO] [stdout] test test_completions_fish_outputs_nonempty_script ... ok [INFO] [stdout] test test_completions_invalid_shell_exits_with_code_2 ... ok [INFO] [stdout] test test_completions_powershell_outputs_nonempty_script ... ok [INFO] [stdout] test test_dynamic_completion_all_jobs_for_status ... ok [INFO] [stdout] test test_completions_zsh_outputs_nonempty_script ... ok [INFO] [stdout] test test_dynamic_completion_excludes_jobs_from_other_cwd ... ok [INFO] [stdout] test test_dynamic_completion_empty_when_root_missing ... ok [INFO] [stdout] test test_dynamic_completion_running_only_for_kill ... ok [INFO] [stdout] test test_dynamic_completion_with_root_arg_returns_jobs_from_that_path ... ok [INFO] [stdout] test version_flag_prints_version_and_exits_zero ... ok [INFO] [stdout] test wait_error_for_unknown_job ... ok [INFO] [stdout] test tail_returns_json_with_encoding ... ok [INFO] [stdout] test wait_rejects_legacy_timeout_ms_alias ... ok [INFO] [stdout] test tail_includes_log_paths_and_bytes_metrics ... ok [INFO] [stdout] test wait_returns_json_after_job_finishes ... ok [INFO] [stdout] test wait_forever_waits_until_terminal ... ok [INFO] [stdout] test tail_range_reflects_slice_when_over_limit ... ok [INFO] [stdout] test wait_terminal_returns_progress_hints ... ok [INFO] [stdout] test yaml_flag_error_response ... ok [INFO] [stdout] test yaml_flag_after_subcommand_works ... ok [INFO] [stdout] test yaml_flag_schema_returns_yaml ... ok [INFO] [stdout] test yaml_flag_run_returns_yaml ... ok [INFO] [stdout] test yaml_flag_run_envelope_fields ... ok [INFO] [stdout] test kill_no_wait_returns_legacy_shape ... ok [INFO] [stdout] test kill_returns_json ... ok [INFO] [stdout] test start_uses_output_match_notification_persisted_by_create ... ok [INFO] [stdout] test yaml_flag_status_success ... ok [INFO] [stdout] test kill_observes_terminal_state ... ok [INFO] [stdout] test list_filters_by_state_running ... ok [INFO] [stdout] test supervise_exits_promptly_after_root_exits_despite_inherited_stdio ... ok [INFO] [stdout] test run_progress_every_updates_state ... ok [INFO] [stdout] test prefix_lookup_cross_command ... ok [INFO] [stdout] test ps_returns_only_running_jobs ... ok [INFO] [stdout] test wait_timeout_returns_progress_hints ... ok [INFO] [stdout] test ps_cwd_flag_scopes_to_directory ... ok [INFO] [stdout] test ps_all_includes_running_jobs_from_other_cwds ... ok [INFO] [stderr] Running tests/serve_integration.rs (/opt/rustwide/target/debug/deps/serve_integration-1f89323c501dec77) [INFO] [stdout] test wait_default_until_returns_non_terminal_for_long_running_job ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 254 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 51.84s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test test_exec_rejects_timeout_ms ... ok [INFO] [stdout] test test_exec_missing_command_returns_400 ... ok [INFO] [stdout] test test_auth_wrong_token_returns_401 ... ok [INFO] [stdout] test test_non_loopback_bind_without_insecure_is_rejected ... ok [INFO] [stdout] test test_non_loopback_bind_insecure_without_token_is_rejected ... ok [INFO] [stdout] test test_cors_absent_by_default ... ok [INFO] [stdout] test test_auth_token_required_returns_401 ... ok [INFO] [stdout] test test_auth_readonly_endpoints_no_token_required ... ok [INFO] [stdout] test test_cors_with_allow_origin ... ok [INFO] [stdout] test test_exec_max_bytes ... ok [INFO] [stdout] test test_health ... ok [INFO] [stdout] test test_status_not_found ... ok [INFO] [stdout] test test_status_ambiguous_prefix_returns_400 ... ok [INFO] [stdout] test test_exec_returns_job_id ... ok [INFO] [stdout] test test_auth_token_accepted ... ok [INFO] [stdout] test test_exec_empty_body_returns_400 ... ok [INFO] [stdout] test test_exec_wait_false ... ok [INFO] [stdout] test test_exec_until_override ... ok [INFO] [stdout] test test_wait_returns_terminal_state ... ok [INFO] [stdout] test test_tail_returns_stdout ... ok [INFO] [stdout] test test_status_returns_state ... ok [INFO] [stdout] test test_kill_returns_ok ... ok [INFO] [stdout] test test_status_tail_wait_kill_accept_prefix_and_return_canonical_id has been running for over 60 seconds [INFO] [stdout] test test_status_tail_wait_kill_accept_prefix_and_return_canonical_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.54s [INFO] [stdout] [INFO] [stderr] Doc-tests agent_exec [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.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125", kill_on_drop: false }` [INFO] [stdout] 7bb1385c05b796b9c7e7450fa45f7305ff3e0968232fe9fc6eb9925280713125