[INFO] cloning repository https://github.com/ota-run/ota [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ota-run/ota" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fota-run%2Fota", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fota-run%2Fota'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 904fbae33139033f1750f8365cf4530547250980 [INFO] testing ota-run/ota against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fota-run%2Fota" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ota-run/ota [INFO] finished tweaking git repo https://github.com/ota-run/ota [INFO] tweaked toml for git repo https://github.com/ota-run/ota written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ota-run/ota on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ota-run/ota 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dad25a01f92722377139a9f8c43d37e3cf0ad9dee720fd9931b9296ec30d7d9b [INFO] running `Command { std: "docker" "start" "-a" "dad25a01f92722377139a9f8c43d37e3cf0ad9dee720fd9931b9296ec30d7d9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dad25a01f92722377139a9f8c43d37e3cf0ad9dee720fd9931b9296ec30d7d9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dad25a01f92722377139a9f8c43d37e3cf0ad9dee720fd9931b9296ec30d7d9b", kill_on_drop: false }` [INFO] [stdout] dad25a01f92722377139a9f8c43d37e3cf0ad9dee720fd9931b9296ec30d7d9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0eec4f0b40a335fd63413f0c57a85fc5b7bc5117d0df7517b3002cf7b72a0b20 [INFO] running `Command { std: "docker" "start" "-a" "0eec4f0b40a335fd63413f0c57a85fc5b7bc5117d0df7517b3002cf7b72a0b20", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [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 ota v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.29s [INFO] running `Command { std: "docker" "inspect" "0eec4f0b40a335fd63413f0c57a85fc5b7bc5117d0df7517b3002cf7b72a0b20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0eec4f0b40a335fd63413f0c57a85fc5b7bc5117d0df7517b3002cf7b72a0b20", kill_on_drop: false }` [INFO] [stdout] 0eec4f0b40a335fd63413f0c57a85fc5b7bc5117d0df7517b3002cf7b72a0b20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70b9850505d57c0ae3e0079c776581a06a0c35995e0debeae4a6f0add36e7e59 [INFO] running `Command { std: "docker" "start" "-a" "70b9850505d57c0ae3e0079c776581a06a0c35995e0debeae4a6f0add36e7e59", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling ota v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 29.59s [INFO] running `Command { std: "docker" "inspect" "70b9850505d57c0ae3e0079c776581a06a0c35995e0debeae4a6f0add36e7e59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70b9850505d57c0ae3e0079c776581a06a0c35995e0debeae4a6f0add36e7e59", kill_on_drop: false }` [INFO] [stdout] 70b9850505d57c0ae3e0079c776581a06a0c35995e0debeae4a6f0add36e7e59 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ed53b652091b82dc83eb6b5aee45362b4026430e70511f0ba291813a973ed8aa [INFO] running `Command { std: "docker" "start" "-a" "ed53b652091b82dc83eb6b5aee45362b4026430e70511f0ba291813a973ed8aa", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ota-a24cc1b6f91ce0b0) [INFO] [stdout] [INFO] [stdout] running 439 tests [INFO] [stdout] test cli::tests::appends_update_notice_to_successful_output ... ok [INFO] [stdout] test cli::commands::tests::execution_receipt_redacts_secret_env_values ... ok [INFO] [stdout] test cli::commands::tests::compacts_paths_inside_current_dir_and_keeps_full_paths_outside ... ok [INFO] [stdout] test cli::commands::tests::compacts_contract_files_relative_to_repo_root_when_inside_repo ... ok [INFO] [stdout] test cli::tests::annotations_renders_workspace_doctor_findings_into_plain_lines ... ok [INFO] [stdout] test cli::tests::clean_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::check_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::check_concise_keeps_next_but_omits_why_lines ... ok [INFO] [stdout] test cli::tests::annotations_renders_doctor_findings_into_github_annotations ... ok [INFO] [stdout] test cli::tests::collapse_blank_lines_reduces_consecutive_empty_lines ... ok [INFO] [stdout] test cli::tests::clean_reports_no_cleanup_needed_for_remote_backend ... ok [INFO] [stdout] test cli::tests::check_text_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::clean_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::check_runs_only_configured_checks ... ok [INFO] [stdout] test cli::tests::check_json_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::detect_defaults_to_preview_when_contract_exists ... ok [INFO] [stdout] test cli::tests::debug_validate_emits_trace_to_stderr ... ok [INFO] [stdout] test cli::tests::check_json_reports_findings ... ok [INFO] [stdout] test cli::tests::detect_dry_run_renders_yaml_and_annotations ... ok [INFO] [stdout] test cli::tests::debug_run_appends_trace_after_lifecycle_note ... ok [INFO] [stdout] test cli::tests::detect_json_reports_existing_contract_comparison ... ok [INFO] [stdout] test cli::tests::detect_json_defaults_to_preview_when_contract_exists ... ok [INFO] [stdout] test cli::tests::detect_dry_run_reports_existing_contract_comparison_in_text ... ok [INFO] [stdout] test cli::tests::detect_json_reports_candidate_contract ... ok [INFO] [stdout] test cli::tests::detect_dry_run_text_format_uses_spaced_sections_without_rule_separator ... ok [INFO] [stdout] test cli::tests::detect_help_lists_rewrite_flags ... ok [INFO] [stdout] test cli::tests::detect_merge_adds_safe_for_agent_for_added_verifier_task ... ok [INFO] [stdout] test cli::tests::clean_reports_persistent_container_cleanup ... ok [INFO] [stdout] test cli::tests::detect_json_reports_next_when_high_confidence_fields_are_insufficient ... ok [INFO] [stdout] test cli::tests::detect_json_reports_existing_contract_drift ... ok [INFO] [stdout] test cli::tests::detect_merge_json_reports_written_when_additions_are_applied ... ok [INFO] [stdout] test cli::tests::detect_merge_json_requires_existing_contract_with_next ... ok [INFO] [stdout] test cli::tests::detect_merge_dry_run_requires_existing_contract ... ok [INFO] [stdout] test cli::tests::detect_merge_requires_existing_contract ... ok [INFO] [stdout] test cli::tests::detect_merge_apply_reports_actionable_next_when_existing_contract_is_invalid ... ok [INFO] [stdout] test cli::tests::detect_merge_json_reports_written_false_when_nothing_is_addable ... ok [INFO] [stdout] test cli::tests::detect_merge_writes_high_confidence_missing_fields_only ... ok [INFO] [stdout] test cli::tests::detect_refuses_to_write_when_high_confidence_fields_are_insufficient ... ok [INFO] [stdout] test cli::tests::detect_rewrite_refuses_to_overwrite_protected_contract ... ok [INFO] [stdout] test cli::tests::detect_merge_apply_reports_when_selected_field_is_not_in_current_comparison ... ok [INFO] [stdout] test cli::tests::detect_rewrite_requires_yes ... ok [INFO] [stdout] test cli::tests::detect_merge_apply_writes_only_selected_fields ... ok [INFO] [stdout] test cli::tests::detect_merge_refuses_to_overwrite_protected_contract ... ok [INFO] [stdout] test cli::tests::detect_merge_apply_dot_writes_all_eligible_high_confidence_changes ... ok [INFO] [stdout] test cli::tests::detect_writes_high_confidence_contract_with_write_flag ... ok [INFO] [stdout] test cli::tests::diff_json_reports_change_paths_and_summary_counts ... ok [INFO] [stdout] test cli::tests::detect_write_existing_contract_renders_next_as_section_not_inline ... ok [INFO] [stdout] test cli::tests::detect_rewrite_writes_and_creates_timestamped_backup ... ok [INFO] [stdout] test cli::tests::detect_write_marks_verifier_tasks_safe_for_agent ... ok [INFO] [stdout] test cli::tests::diff_json_reports_policy_provenance_on_policy_changes ... ok [INFO] [stdout] test cli::tests::diff_reports_structural_changes_and_summary_counts ... ok [INFO] [stdout] test cli::tests::doctor_json_includes_agent_summary ... ok [INFO] [stdout] test cli::tests::doctor_concise_keeps_next_but_omits_why_lines ... ok [INFO] [stdout] test cli::tests::doctor_json_includes_execution_summary ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_monorepo_member_findings ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_policy_env_provenance ... ok [INFO] [stdout] test cli::tests::doctor_json_includes_policy_provenance ... ok [INFO] [stdout] test cli::tests::doctor_json_suspicious_kubectl_warning_object_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_findings_once ... ok [INFO] [stdout] test cli::tests::doctor_json_suspicious_ssh_warning_object_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_suspicious_kubectl_remote_target_warning ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_all_suspicious_remote_target_warnings_together ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_suspicious_ssh_remote_target_warning ... ok [INFO] [stdout] test cli::tests::doctor_missing_explicit_path_includes_contract_creation_next_steps ... ok [INFO] [stdout] test cli::tests::doctor_not_ready_text_status_contract_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_not_found_uses_shared_next_actions ... ok [INFO] [stdout] test cli::tests::doctor_json_suspicious_tsh_warning_object_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::doctor_json_reports_multiple_monorepo_members_in_order ... ok [INFO] [stdout] test cli::tests::doctor_reports_contract_drift_as_warning_findings ... ok [INFO] [stdout] test cli::tests::doctor_text_includes_agent_summary ... ok [INFO] [stdout] test cli::tests::doctor_reports_not_ready_when_contract_has_no_tasks ... ok [INFO] [stdout] test cli::tests::doctor_reports_ephemeral_lifecycle_warning ... ok [INFO] [stdout] test cli::tests::doctor_warning_only_json_reports_ok_true ... ok [INFO] [stdout] test cli::tests::doctor_text_format_uses_spaced_sections_without_rule_separator ... ok [INFO] [stdout] test cli::tests::doctor_warning_only_reports_ready_with_warning ... ok [INFO] [stdout] test cli::tests::exit_code_usage_errors_are_two ... ok [INFO] [stdout] test cli::tests::doctor_text_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::explain_json_reports_steps_and_summary_counts ... ok [INFO] [stdout] test cli::tests::extensions_json_reports_descriptors ... ok [INFO] [stdout] test cli::tests::explain_json_reports_policy_provenance_for_policy_findings ... ok [INFO] [stdout] test cli::tests::extensions_publish_rejects_checker_descriptor ... ok [INFO] [stdout] test cli::tests::explain_reports_remediation_steps_and_summary_counts ... ok [INFO] [stdout] test cli::tests::doctor_text_reports_env_precedence_and_policy ... ok [INFO] [stdout] test cli::tests::doctor_text_reports_ready_when_no_findings_exist ... ok [INFO] [stdout] test cli::tests::extensions_run_executes_allowed_descriptor ... ok [INFO] [stdout] test cli::tests::extensions_run_rejects_publisher_descriptor ... ok [INFO] [stdout] test cli::tests::extensions_publish_executes_publisher_descriptor ... ok [INFO] [stdout] test cli::tests::extensions_text_lists_descriptors ... ok [INFO] [stdout] test cli::tests::failure_adds_try_footer_when_next_is_not_present ... ok [INFO] [stdout] test cli::tests::doctor_text_lists_extensions ... ok [INFO] [stdout] test cli::tests::extensions_text_lists_publisher_descriptor ... ok [INFO] [stdout] test cli::tests::init_blank_mode_text_calls_out_minimal_coverage ... ok [INFO] [stdout] test cli::tests::extensions_run_json_reports_execution_result ... ok [INFO] [stdout] test cli::tests::init_json_reports_blank_mode ... ok [INFO] [stdout] test cli::tests::init_bootstrap_writes_full_detected_starter_contract ... ok [INFO] [stdout] test cli::tests::init_bootstrap_falls_back_to_directory_name_for_project ... ok [INFO] [stdout] test cli::tests::init_refuses_to_overwrite_existing_contract ... ok [INFO] [stdout] test cli::tests::init_dry_run_renders_starter_contract_and_annotations ... ok [INFO] [stdout] test cli::tests::init_writes_by_default_creates_full_starter_contract ... ok [INFO] [stdout] test cli::tests::init_reports_excluded_write_inferences_with_clear_spacing ... ok [INFO] [stdout] test cli::tests::init_json_refuses_to_overwrite_existing_contract_with_next ... ok [INFO] [stdout] test cli::tests::init_writes_medium_confidence_starter_when_it_is_valid ... ok [INFO] [stdout] test cli::tests::monorepo_member_text_status_contract_is_stable ... ok [INFO] [stdout] test cli::tests::monorepo_member_exit_code_contract_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_text_orders_error_warn_and_info_findings ... ok [INFO] [stdout] test cli::tests::plain_mode_disables_icons_and_uses_ascii_bullets ... ok [INFO] [stdout] ready [INFO] [stdout] test cli::tests::repo_commands_json_validation_failure_contract_is_stable ... ok [INFO] [stdout] test cli::tests::root_help_lists_concise_and_verbose_flags ... ok [INFO] [stdout] test cli::tests::repo_commands_json_success_contract_is_stable ... ok [INFO] [stdout] roottest cli::tests::run_executes_monorepo_member_task_in_member_directory ... ok [INFO] [stdout] test cli::tests::repo_commands_text_status_contract_is_stable ... ok [INFO] [stdout] roottest cli::tests::run_executes_member_task_from_member_directory_without_member_flag ... ok [INFO] [stdout] test cli::tests::monorepo_member_json_contract_is_stable ... ok [INFO] [stdout] test cli::tests::run_backend_override_native_bypasses_container_contract ... ok [INFO] [stdout] test cli::tests::run_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::run_executes_task_for_multiple_monorepo_members_in_order ... ok [INFO] [stdout] test cli::tests::run_preserves_child_exit_code ... ok [INFO] [stdout] test cli::tests::run_executes_task_inputs_without_explicit_path ... ok [INFO] [stdout] test cli::tests::run_executes_script_task_inputs ... ok [INFO] [stdout] test cli::tests::repo_commands_exit_code_contract_is_stable ... ok [INFO] [stdout] test cli::tests::doctor_without_contract_inspects_repo_and_host_signals ... ok [INFO] [stdout] test cli::tests::init_bootstrap_falls_back_to_current_directory_name_for_project ... ok [INFO] [stdout] test cli::tests::run_remote_failure_preserves_child_exit_code ... ok [INFO] [stdout] test cli::tests::run_with_tsh_remote_provider_missing_target_fails_with_guidance ... ok [INFO] [stdout] test cli::tests::run_reports_container_execution_banner_with_container_name ... ok [INFO] [stdout] test cli::tests::self_update_does_not_use_command_spinner ... ok [INFO] [stdout] test cli::tests::services_json_reports_service_summaries ... ok [INFO] [stdout] test cli::tests::services_text_lists_service_details ... ok [INFO] [stdout] test cli::tests::stylize_failure_splits_ansi_next_block ... ok [INFO] [stdout] test cli::tests::run_reports_ephemeral_lifecycle_as_advisory_note ... ok [INFO] [stdout] test cli::tests::tasks_json_includes_agent_summary ... ok [INFO] [stdout] test cli::tests::tasks_json_is_sorted_and_machine_readable ... ok [INFO] [stdout] test cli::tests::tasks_json_reports_monorepo_member_inherited_and_overridden_tasks ... ok [INFO] [stdout] test cli::tests::tasks_json_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::tasks_json_reports_multiple_monorepo_members_in_order ... ok [INFO] [stdout] test cli::tests::tasks_json_reports_script_tasks ... ok [INFO] [stdout] test cli::tests::tasks_json_reports_selected_os_variant ... ok [INFO] [stdout] test cli::tests::tasks_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::run_uses_daytona_remote_backend ... ok [INFO] [stdout] test cli::tests::tasks_text_includes_agent_summary ... ok [INFO] [stdout] test cli::tests::tasks_text_reports_script_kind ... ok [INFO] [stdout] test cli::tests::tasks_text_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::tasks_text_style_snapshot_contains_rich_header_and_bullets ... ok [INFO] [stdout] test cli::tests::tasks_use_prints_compact_usage_lines ... ok [INFO] [stdout] test cli::tests::up_json_reports_ready_status_and_phase ... ok [INFO] [stdout] test cli::tests::up_json_reports_service_start_failure_details ... ok [INFO] [stdout] test cli::tests::up_json_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::top_level_extensions_are_accepted_consistently_across_repo_commands ... ok [INFO] [stdout] test cli::tests::up_rejects_duplicate_monorepo_members ... ok [INFO] [stdout] test cli::tests::up_json_runs_inherited_setup_in_monorepo_member_directory ... ok [INFO] [stdout] test cli::tests::up_reports_service_start_failure_with_exit_code ... ok [INFO] [stdout] test cli::tests::run_uses_kubectl_remote_backend ... ok [INFO] [stdout] test cli::tests::up_reports_post_setup_diagnosis_findings ... ok [INFO] [stdout] test cli::tests::up_reports_setup_failure_with_exit_code ... ok [INFO] [stdout] test cli::tests::run_uses_ssh_remote_backend ... ok [INFO] [stdout] test cli::tests::up_runs_setup_and_reports_ready ... ok [INFO] [stdout] test cli::tests::run_uses_tsh_remote_backend ... ok [INFO] [stdout] test cli::tests::run_with_kubectl_remote_provider_missing_target_fails_with_guidance ... ok [INFO] [stdout] test cli::tests::run_with_unsupported_remote_provider_fails_cleanly ... ok [INFO] [stdout] test cli::tests::up_stops_before_setup_when_preconditions_fail ... ok [INFO] [stdout] test cli::tests::up_runs_required_service_start_before_setup ... ok [INFO] [stdout] test cli::tests::up_overrides_native_contract_to_use_ephemeral_container_backend ... ok [INFO] [stdout] test cli::tests::up_text_reports_root_monorepo_summary_with_members ... ok [INFO] [stdout] test cli::tests::up_stops_before_starting_dependents_when_dependency_is_not_ready ... ok [INFO] [stdout] test cli::tests::validate_accepts_top_level_extensions_as_inert_contract_data ... ok [INFO] [stdout] test cli::tests::validate_discovers_member_contract_from_member_directory_without_member_flag ... ok [INFO] [stdout] test cli::tests::up_stops_in_services_phase_when_required_service_healthcheck_fails ... ok [INFO] [stdout] test cli::tests::validate_json_reports_success ... ok [INFO] [stdout] test cli::tests::validate_discovers_contract_from_nested_directory ... ok [INFO] [stdout] test cli::tests::validate_member_rejects_non_monorepo_root_contract ... ok [INFO] [stdout] test cli::tests::validate_json_reports_monorepo_member_success ... ok [INFO] [stdout] test cli::tests::up_runs_setup_in_ephemeral_container_backend ... ok [INFO] [stdout] test cli::tests::validate_json_reports_validation_errors ... ok [INFO] [stdout] test cli::tests::validate_missing_explicit_path_includes_contract_creation_next_steps ... ok [INFO] [stdout] test cli::tests::validate_rejects_unknown_top_level_keys ... ok [INFO] [stdout] test cli::tests::validate_root_monorepo_rejects_missing_member_contract ... ok [INFO] [stdout] test cli::tests::validate_root_monorepo_rejects_invalid_member_override ... ok [INFO] [stdout] test cli::tests::validate_supports_explicit_file_override ... ok [INFO] [stdout] test cli::tests::version_output_respects_plain_flag ... ok [INFO] [stdout] test cli::tests::up_runs_setup_in_kubectl_remote_backend ... ok [INFO] [stdout] test cli::tests::workspace_check_downgrades_optional_repo_errors_to_warnings ... ok [INFO] [stdout] test cli::tests::workspace_check_concise_omits_path_contract_and_why ... ok [INFO] [stdout] test cli::tests::up_starts_services_in_dependency_order ... ok [INFO] [stdout] test cli::tests::workspace_check_json_reports_repo_findings ... ok [INFO] [stdout] test cli::tests::up_runs_setup_in_ssh_remote_backend ... ok [INFO] [stdout] test cli::tests::workspace_check_rejects_zero_jobs ... ok [INFO] [stdout] test cli::tests::up_runs_setup_in_tsh_remote_backend ... ok [INFO] [stdout] test cli::tests::validate_member_rejects_unknown_monorepo_member ... ok [INFO] [stdout] test cli::tests::workspace_detect_help_lists_rewrite_flags ... ok [INFO] [stdout] test cli::tests::validate_not_found_splits_why_and_next_actions ... ok [INFO] [stdout] test cli::tests::workspace_detect_rewrite_requires_yes ... ok [INFO] [stdout] test cli::tests::workspace_detect_rewrite_writes_and_creates_timestamped_backup ... ok [INFO] [stdout] test cli::tests::workspace_detect_merge_parse_failure_suggests_validation_first ... ok [INFO] [stdout] test cli::tests::workspace_commands_json_validation_failure_contract_is_stable ... ok [INFO] [stdout] test cli::tests::workspace_detect_merge_write_auto_provisions_missing_repo_contracts ... ok [INFO] [stdout] test cli::tests::workspace_check_text_reports_summary_rollup ... ok [INFO] [stdout] test cli::tests::workspace_detect_rewrite_ignores_invalid_repo_contracts ... ok [INFO] [stdout] test cli::tests::workspace_doctor_json_includes_policy_provenance ... ok [INFO] [stdout] test cli::tests::workspace_doctor_concise_omits_path_contract_and_why ... ok [INFO] [stdout] test cli::tests::workspace_doctor_downgrades_optional_repo_errors_to_warnings ... ok [INFO] [stdout] test cli::tests::workspace_doctor_rejects_zero_jobs ... ok [INFO] [stdout] test cli::tests::workspace_doctor_not_found_uses_single_workspace_next ... ok [INFO] [stdout] test cli::tests::workspace_doctor_jobs_preserves_dependency_order_in_output ... ok [INFO] [stdout] test cli::tests::workspace_doctor_json_reports_repo_findings ... ok [INFO] [stdout] test cli::tests::workspace_doctor_repo_filter_scopes_output ... ok [INFO] [stdout] test cli::tests::workspace_doctor_severity_error_filters_findings ... ok [INFO] [stdout] test cli::tests::workspace_doctor_reports_not_acquired_repo_with_source ... ok [INFO] [stdout] test cli::tests::workspace_doctor_text_lists_extensions ... ok [INFO] [stdout] test cli::tests::workspace_doctor_status_not_ready_filters_repos ... ok [INFO] [stdout] test cli::tests::workspace_explain_json_reports_steps_and_summary_counts ... ok [INFO] [stdout] test cli::tests::workspace_doctor_text_reports_execution_metadata ... ok [INFO] [stdout] test cli::tests::workspace_doctor_repo_filter_rejects_unknown_repo ... ok [INFO] [stdout] test cli::tests::workspace_explain_reports_remediation_steps_and_summary_counts ... ok [INFO] [stdout] test cli::tests::workspace_init_bootstrap_auto_provisions_missing_repo_contracts ... ok [INFO] [stdout] test cli::tests::workspace_init_dry_run_alias_previews_without_writing ... ok [INFO] [stdout] test cli::tests::workspace_explain_reports_policy_provenance_for_policy_findings ... ok [INFO] [stdout] test cli::tests::workspace_init_empty_root_provides_clear_next_steps ... ok [INFO] [stdout] test cli::tests::workspace_doctor_text_status_contract_is_stable ... ok [INFO] [stdout] test cli::tests::workspace_doctor_stream_emits_progress_updates ... ok [INFO] [stdout] test cli::tests::workspace_init_merge_adds_missing_repos_without_overwriting_existing_entries ... ok [INFO] [stdout] test cli::tests::workspace_init_bootstrap_refuses_to_overwrite_existing_workspace_contract ... ok [INFO] [stdout] test cli::tests::workspace_commands_exit_code_contract_is_stable ... ok [INFO] [stdout] test cli::tests::workspace_init_merge_dry_run_does_not_write_workspace_contract ... ok [INFO] [stdout] test cli::tests::workspace_init_merge_alias_routes_to_detect_merge ... ok [INFO] [stdout] test cli::tests::workspace_init_merge_requires_existing_workspace_contract ... ok [INFO] [stdout] test cli::tests::workspace_list_marks_missing_contract_explicitly ... ok [INFO] [stdout] test cli::tests::workspace_init_without_bootstrap_recommends_bootstrap_for_missing_repo_contracts ... ok [INFO] [stdout] test cli::tests::workspace_list_not_found_uses_path_where_and_actionable_next ... ok [INFO] [stdout] test cli::tests::workspace_init_writes_without_bootstrapping_missing_repo_contracts ... ok [INFO] [stdout] test cli::tests::workspace_init_refuses_overwrite_and_provides_next_steps ... ok [INFO] [stdout] test cli::tests::workspace_list_concise_omits_detail_lines ... ok [INFO] [stdout] test cli::tests::workspace_list_repo_filter_rejects_unknown_repo ... ok [INFO] [stdout] test cli::tests::workspace_list_text_and_json_report_repos ... ok [INFO] [stdout] test cli::tests::workspace_list_status_filter_limits_repos ... ok [INFO] [stdout] test cli::tests::workspace_init_text_preview_and_write ... ok [INFO] [stdout] test cli::tests::workspace_run_blocks_dependent_repo_when_dependency_fails ... ok [INFO] [stdout] test cli::tests::workspace_list_reports_workspace_policy_env_sources ... ok [INFO] [stdout] test cli::tests::workspace_run_rejects_zero_jobs ... ok [INFO] [stdout] test cli::tests::workspace_run_ignores_optional_repo_failure_in_aggregate_status ... ok [INFO] [stdout] test cli::tests::workspace_run_rejects_stream_with_parallel_jobs ... ok [INFO] [stdout] test cli::tests::workspace_run_rejects_stream_with_json ... ok [INFO] [stdout] test cli::tests::workspace_run_json_reports_required_repo_failure ... ok [INFO] [stdout] test cli::tests::workspace_run_passes_named_inputs_to_task ... ok [INFO] [stdout] test cli::tests::workspace_services_typo_points_to_repo_services_and_workspace_doctor ... ok [INFO] [stdout] test cli::tests::workspace_tasks_discovers_workspace_from_nested_directory ... ok [INFO] [stdout] test cli::tests::workspace_tasks_failure_uses_concise_next_step ... ok [INFO] [stdout] test cli::tests::workspace_tasks_reports_not_acquired_repo ... ok [INFO] [stdout] test cli::tests::workspace_tasks_uses_repo_path_in_command_preview ... ok [INFO] [stdout] test cli::tests::workspace_commands_json_success_contract_is_stable ... ok [INFO] [stdout] test cli::tests::workspace_tasks_json_reports_dependency_order_and_tasks ... ok [INFO] [stdout] test cli::tests::workspace_run_uses_workspace_policy_env_values ... ok [INFO] [stdout] test cli::tests::workspace_up_blocks_dependent_repo_when_dependency_fails ... ok [INFO] [stdout] test cli::tests::workspace_up_ignores_optional_repo_failure_in_aggregate_status ... ok [INFO] [stdout] test cli::tests::workspace_up_json_reports_required_repo_failure ... ok [INFO] [stdout] test cli::tests::workspace_up_acquires_missing_repo_from_git_source ... ok [INFO] [stdout] test cli::tests::workspace_up_rejects_zero_jobs ... ok [INFO] [stdout] test cli::tests::workspace_parallel_commands_preserve_dependency_order_in_json ... ok [INFO] [stdout] test cli::tests::workspace_up_acquires_missing_repo_from_repo_source ... ok [INFO] [stdout] test cli::tests::workspace_validate_allows_missing_repo_path_with_source ... ok [INFO] [stdout] test cli::tests::workspace_validate_discovers_workspace_from_nested_directory ... ok [INFO] [stdout] test cli::tests::workspace_validate_failure_does_not_append_try_footer ... ok [INFO] [stdout] test cli::tests::workspace_up_text_status_contract_is_stable ... ok [INFO] [stdout] test cli::tests::workspace_validate_json_reports_success ... ok [INFO] [stdout] test cli::tests::workspace_validate_not_found_includes_workspace_setup_next ... ok [INFO] [stdout] test detector::tests::detects_ada_alire_signals ... ok [INFO] [stdout] test detector::tests::detects_bash_script_signals ... ok [INFO] [stdout] test cli::tests::workspace_validate_reports_invalid_repo_contract ... ok [INFO] [stdout] test detector::tests::detects_clojure_project_clj_signals ... ok [INFO] [stdout] test detector::tests::detects_cmake_cpp_signals ... ok [INFO] [stdout] test detector::tests::detects_compose_service_healthcheck ... ok [INFO] [stdout] test detector::tests::detects_compose_service_healthcheck_from_cmd_array ... ok [INFO] [stdout] test detector::tests::detects_compose_services ... ok [INFO] [stdout] test detector::tests::detects_cargo_signals ... ok [INFO] [stdout] test cli::tests::workspace_up_quiet_suppresses_progress_output ... ok [INFO] [stdout] test detector::tests::detects_composer_php_signals ... ok [INFO] [stdout] test detector::tests::detects_d_dub_json_signals ... ok [INFO] [stdout] test cli::tests::workspace_up_rejects_stream_with_json ... ok [INFO] [stdout] test detector::tests::detects_deno_markers ... ok [INFO] [stdout] test detector::tests::detects_crystal_shard_signals ... ok [INFO] [stdout] test detector::tests::detects_dotnet_signals ... ok [INFO] [stdout] test detector::tests::detects_elixir_mix_signals ... ok [INFO] [stdout] test detector::tests::detects_elm_json_signals ... ok [INFO] [stdout] test detector::tests::detects_fortran_fpm_signals ... ok [INFO] [stdout] test detector::tests::detects_foundry_solidity_signals ... ok [INFO] [stdout] test detector::tests::detects_gleam_toml_signals ... ok [INFO] [stdout] test detector::tests::detects_fsharp_project_signals ... ok [INFO] [stdout] test detector::tests::detects_gradle_java_signals ... ok [INFO] [stdout] test detector::tests::detects_gradle_kotlin_plugin_signals ... ok [INFO] [stdout] test detector::tests::detects_haskell_stack_and_cabal_signals ... ok [INFO] [stdout] test detector::tests::detects_haxe_hxml_signals ... ok [INFO] [stdout] test detector::tests::detects_gradle_without_wrapper_signals ... ok [INFO] [stdout] test detector::tests::detects_julia_project_toml_signals ... ok [INFO] [stdout] test detector::tests::detects_lua_rockspec_signals ... ok [INFO] [stdout] test detector::tests::detects_erlang_rebar_signals ... ok [INFO] [stdout] test detector::tests::detects_java_version_file ... ok [INFO] [stdout] test detector::tests::detects_maven_java_signals ... ok [INFO] [stdout] test cli::tests::workspace_up_respects_repo_dependency_order ... ok [INFO] [stdout] test detector::tests::detects_kotlin_script_signals ... ok [INFO] [stdout] test detector::tests::detects_maven_wrapper_signals ... ok [INFO] [stdout] test detector::tests::detects_powershell_script_signals ... ok [INFO] [stdout] test detector::tests::detects_perl_makefile_pl_signals ... ok [INFO] [stdout] test detector::tests::detects_nim_nimble_signals ... ok [INFO] [stdout] test detector::tests::detects_ocaml_dune_signals ... ok [INFO] [stdout] test detector::tests::detects_python_and_go_signals ... ok [INFO] [stdout] test detector::tests::detects_r_description_signals ... ok [INFO] [stdout] test detector::tests::detects_racket_markers ... ok [INFO] [stdout] test detector::tests::detects_pubspec_flutter_signals ... ok [INFO] [stdout] test detector::tests::detects_ruby_signals ... ok [INFO] [stdout] test detector::tests::detects_sdkmanrc_java_version ... ok [INFO] [stdout] test detector::tests::detects_services_from_compose_yaml ... ok [INFO] [stdout] test detector::tests::detects_services_from_compose_yml ... ok [INFO] [stdout] test detector::tests::detects_services_from_docker_compose_yaml ... ok [INFO] [stdout] test detector::tests::detects_rust_toolchain_file ... ok [INFO] [stdout] test detector::tests::detects_scala_build_sbt_signals ... ok [INFO] [stdout] test detector::tests::detects_rust_toolchain_toml ... ok [INFO] [stdout] test detector::tests::detects_services_from_docker_compose_yaml_with_string_healthcheck ... ok [INFO] [stdout] test detector::tests::detects_swift_package_signals ... ok [INFO] [stdout] test detector::tests::falls_back_to_maven_artifact_id_when_name_is_missing ... ok [INFO] [stdout] test detector::tests::detects_tcl_markers ... ok [INFO] [stdout] test detector::tests::detects_zig_build_zig_signals ... ok [INFO] [stdout] test detector::tests::detects_v_mod_signals ... ok [INFO] [stdout] test detector::tests::prefers_java_version_file_over_tool_versions_for_java ... ok [INFO] [stdout] test detector::tests::prefers_nvmrc_over_package_json_engines ... ok [INFO] [stdout] test detector::tests::prefers_go_mod_over_tool_versions ... ok [INFO] [stdout] test detector::tests::prefers_package_json_project_name_over_pyproject ... ok [INFO] [stdout] test cli::tests::workspace_run_respects_repo_dependency_order ... ok [INFO] [stdout] test detector::tests::prefers_nvmrc_over_node_version_file ... ok [INFO] [stdout] test cli::tests::workspace_up_rejects_stream_with_parallel_jobs ... ok [INFO] [stdout] test detector::tests::treats_lockfile_package_manager_and_scripts_as_high_confidence ... ok [INFO] [stdout] test detector::tests::prefers_python_version_file_over_tool_versions ... ok [INFO] [stdout] test detector::tests::projects_high_confidence_fields_only_for_write_mode ... ok [INFO] [stdout] test detector::tests::prefers_composer_platform_php_over_require_php ... ok [INFO] [stdout] test detector::tests::prefers_package_json_package_manager_over_tool_versions ... ok [INFO] [stdout] test doctor::tests::composes_docker_compose_healthcheck_command_inside_container ... ok [INFO] [stdout] test doctor::tests::maps_maven_tool_to_mvn_executable ... ok [INFO] [stdout] test doctor::tests::reports_allowed_env_value_mismatches ... ok [INFO] [stdout] test doctor::tests::prioritizes_blocking_env_errors_before_warnings ... ok [INFO] [stdout] test doctor::tests::precondition_mode_skips_health_checks ... ok [INFO] [stdout] test doctor::tests::checks_only_mode_skips_env_runtime_and_tool_diagnosis ... ok [INFO] [stdout] test doctor::tests::reports_invalid_org_policy_pack ... ok [INFO] [stdout] test doctor::tests::reports_missing_policy_required_files ... ok [INFO] [stdout] test doctor::tests::reports_missing_tasks_as_not_ready ... ok [INFO] [stdout] test doctor::tests::reports_missing_policy_required_sections ... ok [INFO] [stdout] test doctor::tests::command_version_handles_go_subcommand ... ok [INFO] [stdout] test doctor::tests::reports_missing_container_backend_cli ... ok [INFO] [stdout] test doctor::tests::reports_missing_kubectl_remote_backend_cli ... ok [INFO] [stdout] test doctor::tests::reports_required_service_healthcheck_failures_as_errors ... ok [INFO] [stdout] test doctor::tests::reports_missing_tsh_remote_backend_cli ... ok [INFO] [stdout] test doctor::tests::reports_unsupported_remote_backend_provider ... ok [INFO] [stdout] test doctor::tests::reports_missing_remote_backend_cli ... ok [INFO] [stdout] test doctor::tests::supports_caret_requirements_for_detected_versions ... ok [INFO] [stdout] test doctor::tests::checks_only_scope_does_not_require_tasks ... ok [INFO] [stdout] test doctor::tests::reports_optional_service_healthcheck_failures_as_warnings ... ok [INFO] [stdout] test doctor::tests::warns_for_suspicious_kubectl_remote_target_shape ... ok [INFO] [stdout] test doctor::tests::warns_missing_tasks_for_library_type_case_insensitive ... ok [INFO] [stdout] test doctor::tests::warns_for_suspicious_tsh_remote_target_shape ... ok [INFO] [stdout] test doctor::tests::warns_missing_tasks_for_sdk_type ... ok [INFO] [stdout] test doctor::tests::warns_when_ephemeral_lifecycle_is_only_advisory ... ok [INFO] [stdout] test doctor::tests::warns_when_required_service_has_no_healthcheck ... ok [INFO] [stdout] test doctor::tests::reports_timed_out_service_healthchecks ... ok [INFO] [stdout] test doctor::tests::reports_optional_tool_version_mismatches_as_warnings ... ok [INFO] [stdout] test parser::tests::load_contract_reloads_when_file_changes ... ok [INFO] [stdout] test parser::tests::loads_monorepo_member_contract_by_merging_root_and_member ... ok [INFO] [stdout] test parser::tests::auto_loads_member_contract_from_direct_member_path ... ok [INFO] [stdout] test parser::tests::rejects_unknown_top_level_keys ... ok [INFO] [stdout] test policy_pack::tests::parses_policy_pack_shape_strictly ... ok [INFO] [stdout] test parser::tests::rejects_workspace_block_inside_member_contract ... ok [INFO] [stdout] test policy_pack::tests::loads_policy_pack_from_ancestor_ota_directory ... ok [INFO] [stdout] test runner::tests::missing_kubectl_remote_target_reports_provider_specific_example ... ok [INFO] [stdout] test doctor::tests::warns_for_suspicious_ssh_remote_target_shape ... ok [INFO] [stdout] test runner::tests::plans_dependencies_once_in_deterministic_order ... ok [INFO] [stdout] test doctor::tests::reports_timed_out_checks ... ok [INFO] [stdout] test runner::tests::rejects_missing_required_env_values ... ok [INFO] [stdout] test runner::tests::rejects_secret_env_defaults ... ok [INFO] [stdout] test runner::tests::rejects_secret_envs_for_remote_execution ... ok [INFO] [stdout] test runner::tests::executes_script_tasks ... ok [INFO] [stdout] test doctor::tests::sorts_errors_before_warnings_before_info ... ok [INFO] [stdout] test runner::tests::returns_child_exit_code_for_failed_tasks ... ok [INFO] [stdout] test doctor::tests::warns_when_container_ephemeral_only_applies_to_run ... ok [INFO] [stdout] test runner::tests::run_task_captured_collects_stdout_and_stderr ... ok [INFO] [stdout] test runner::tests::run_task_can_execute_without_progress_output ... ok [INFO] [stdout] test runner::tests::runs_matching_task_variant_for_current_os ... ok [INFO] [stdout] test runner::tests::runs_dependencies_before_target_task ... ok [INFO] [stdout] test runner::tests::cleans_persistent_container_backend ... ok [INFO] [stdout] test runner::tests::overrides_native_contract_to_use_container_backend ... ok [INFO] [stdout] test runner::tests::reports_env_resolution_sources_for_process_and_default_values ... ok [INFO] [stdout] test runner::tests::policy_env_overrides_process_env_before_defaults ... ok [INFO] [stdout] test runner::tests::reuses_persistent_container_backend_across_runs ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_configured_container_backend ... ok [INFO] [stdout] test runner::tests::task_inputs_map_kebab_case_flags_to_input_env ... ok [INFO] [stdout] test runner::tests::uses_default_env_values_when_process_env_is_missing ... ok [INFO] [stdout] test update::tests::normalizes_version_prefixes ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_configured_container_backend_with_podman_when_docker_is_missing ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_daytona_remote_backend ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_kubectl_remote_backend ... ok [INFO] [stdout] test validator::tests::rejects_container_preferred_without_container_image ... ok [INFO] [stdout] test validator::tests::rejects_container_preferred_without_explicit_lifecycle ... ok [INFO] [stdout] test validator::tests::rejects_duplicate_task_variant_os_values ... ok [INFO] [stdout] test validator::tests::rejects_empty_runtime_distribution ... ok [INFO] [stdout] test validator::tests::rejects_empty_script_bodies ... ok [INFO] [stdout] test validator::tests::rejects_empty_service_declarations ... ok [INFO] [stdout] test validator::tests::rejects_invalid_extension_descriptor_shape ... ok [INFO] [stdout] test validator::tests::rejects_kubectl_remote_backend_without_target_with_provider_specific_example ... ok [INFO] [stdout] test validator::tests::rejects_remote_backend_without_target_when_preferred ... ok [INFO] [stdout] test validator::tests::rejects_service_dependency_cycles ... ok [INFO] [stdout] test validator::tests::rejects_ssh_remote_backend_without_target_with_provider_specific_example ... ok [INFO] [stdout] test validator::tests::rejects_task_dependency_cycles ... ok [INFO] [stdout] test validator::tests::rejects_task_variants_without_when_os ... ok [INFO] [stdout] test validator::tests::rejects_tasks_with_both_run_and_script ... ok [INFO] [stdout] test validator::tests::rejects_tasks_with_neither_run_nor_script ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_ssh_remote_backend ... ok [INFO] [stdout] test validator::tests::rejects_tsh_remote_backend_without_target_with_provider_specific_example ... ok [INFO] [stdout] test validator::tests::rejects_unknown_service_dependencies ... ok [INFO] [stdout] test validator::tests::rejects_unknown_task_dependencies ... ok [INFO] [stdout] test validator::tests::rejects_zero_check_timeout ... ok [INFO] [stdout] test validator::tests::rejects_zero_service_timeout ... ok [INFO] [stdout] test validator::tests::validates_a_minimal_contract ... ok [INFO] [stdout] test validator::tests::validates_extension_descriptors ... ok [INFO] [stdout] test validator::tests::validates_remote_backend_target_and_cwd ... ok [INFO] [stdout] test validator::tests::validates_runtime_distribution ... ok [INFO] [stdout] test validator::tests::validates_services_and_execution_lifecycle ... ok [INFO] [stdout] test workspace::tests::diagnose_with_jobs_runs_independent_repos_in_parallel ... ok [INFO] [stdout] test workspace::tests::load_workspace_contract_reloads_when_file_changes ... ok [INFO] [stdout] test workspace::tests::diagnose_with_jobs_preserves_dependency_order ... ok [INFO] [stdout] test workspace::tests::rejects_repo_source_without_workspace_git_base ... ok [INFO] [stdout] test workspace::tests::rejects_missing_repo_contracts ... ok [INFO] [stdout] test workspace::tests::rejects_required_repo_depending_on_optional_repo ... ok [INFO] [stdout] test workspace::tests::rejects_unknown_workspace_repo_dependencies ... ok [INFO] [stdout] test workspace::tests::validates_workspace_with_acquirable_repo_without_local_path ... ok [INFO] [stdout] test workspace::tests::validates_workspace_with_existing_repo_contracts ... ok [INFO] [stdout] test workspace::tests::rejects_workspace_repo_dependency_cycles ... ok [INFO] [stdout] test runner::tests::runs_tasks_in_tsh_remote_backend ... ok [INFO] [stdout] test runner::tests::task_env_overrides_process_and_repo_defaults ... ok [INFO] [stdout] test update::tests::reports_update_notice_when_latest_release_is_newer ... ok [INFO] [stdout] test update::tests::resolves_latest_channel_from_release_list ... ok [INFO] [stdout] test update::tests::skips_install_when_current_version_matches_latest_release ... ok [INFO] [stdout] test cli::tests::workspace_up_jobs_runs_independent_repos_in_parallel ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 439 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.75s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ota-d66813a71b36fb7f) [INFO] [stdout] [INFO] [stderr] Running tests/detect_fixtures.rs (/opt/rustwide/target/debug/deps/detect_fixtures-61e18c725a1db50c) [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] [stdout] [INFO] [stdout] running 34 tests [INFO] [stdout] test detects_clojure_project_fixture ... ok [INFO] [stdout] test detects_fullstack_node_go_fixture ... ok [INFO] [stdout] test detects_go_fixture ... ok [INFO] [stdout] test detects_fullstack_node_compose_fixture ... ok [INFO] [stdout] test detects_cmake_cpp_fixture ... ok [INFO] [stdout] test detects_node_bun_lock_fixture ... ok [INFO] [stdout] test detects_mixed_node_python_fixture ... ok [INFO] [stdout] test detects_node_pnpm_workspace_fixture ... ok [INFO] [stdout] test detects_java_version_file_fixture ... ok [INFO] [stdout] test detects_haskell_stack_cabal_fixture ... ok [INFO] [stdout] test detects_node_version_file_fixture ... ok [INFO] [stdout] test detects_node_yarn_lock_fixture ... ok [INFO] [stdout] test detects_php_composer_fixture ... ok [INFO] [stdout] test detects_package_json_project_name_over_pyproject_fixture ... ok [INFO] [stdout] test detects_package_json_package_manager_over_tool_versions_fixture ... ok [INFO] [stdout] test detects_go_mod_over_tool_versions_fixture ... ok [INFO] [stdout] test detects_pipenv_fixture ... ok [INFO] [stdout] test detects_lua_rockspec_fixture ... ok [INFO] [stdout] test detects_polyglot_tool_versions_fixture ... ok [INFO] [stdout] test detects_python_fixture ... ok [INFO] [stdout] test detects_python_version_priority_fixture ... ok [INFO] [stdout] test detects_node_pnpm_fixture ... ok [INFO] [stdout] test detects_mixed_node_python_compose_fixture ... ok [INFO] [stdout] test detects_python_version_over_tool_versions_fixture ... ok [INFO] [stdout] test detects_requirements_fixture ... ok [INFO] [stdout] test detects_node_pnpm_lock_fixture ... ok [INFO] [stdout] test detects_rust_cargo_fixture ... ok [INFO] [stdout] test detects_python_version_file_fixture ... ok [INFO] [stdout] test detects_sdkman_java_fixture ... ok [INFO] [stdout] test detects_poetry_fixture ... ok [INFO] [stdout] test detects_rust_toolchain_file_fixture ... ok [INFO] [stdout] test detects_tool_versions_fixture ... ok [INFO] [stdout] test detects_uv_fixture ... ok [INFO] [stdout] test detects_setup_cfg_fixture ... ok [INFO] [stderr] Running tests/examples_validate.rs (/opt/rustwide/target/debug/deps/examples_validate-8a5009059ecd885a) [INFO] [stdout] [INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test shipped_workspace_examples_load_and_validate ... ok [INFO] [stdout] test shipped_examples_load_and_validate ... ok [INFO] [stdout] [INFO] [stderr] Running tests/json_schema_contracts.rs (/opt/rustwide/target/debug/deps/json_schema_contracts-1aab625cfcc91d9a) [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test detect_schema_includes_comparison_preview ... ok [INFO] [stdout] test diff_schema_includes_readiness_impact_summary ... ok [INFO] [stdout] test diff_schema_includes_policy_provenance_on_changes ... ok [INFO] [stdout] test doctor_schema_includes_agent_summary ... ok [INFO] [stdout] test check_schema_includes_member_grouping ... ok [INFO] [stdout] test explain_schema_includes_step_provenance ... ok [INFO] [stdout] test explain_schema_includes_steps_and_summary_counts ... ok [INFO] [stdout] test init_schema_includes_optional_next_on_failures ... ok [INFO] [stdout] test up_schema_includes_member_grouping ... ok [INFO] [stdout] test workspace_check_schema_exists_and_covers_repo_check_reports ... ok [INFO] [stdout] test tasks_schema_includes_agent_and_variant_fields ... ok [INFO] [stdout] test workspace_explain_schema_includes_step_provenance ... ok [INFO] [stdout] test workspace_explain_schema_includes_repo_steps ... ok [INFO] [stdout] test validate_schema_includes_summary_counts ... ok [INFO] [stdout] test workspace_run_schema_exists_and_covers_repo_run_reports ... ok [INFO] [stdout] test workspace_up_schema_exists_and_covers_repo_status_fields ... ok [INFO] [stdout] test workspace_tasks_schema_exists_and_covers_repo_task_reports ... ok [INFO] [stdout] test workspace_init_schema_exists_and_covers_scaffold_fields ... ok [INFO] [stderr] Running tests/real_repo_fixtures.rs (/opt/rustwide/target/debug/deps/real_repo_fixtures-c7a7d5a07ced2fc1) [INFO] [stdout] test shared_finding_schema_includes_optional_policy_context ... ok [INFO] [stdout] test workspace_doctor_schema_exists_and_covers_repo_reports ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 54 tests [INFO] [stdout] test detect_json_prefers_repo_specific_signals_in_node_conflict_fixture ... ok [INFO] [stdout] test detect_json_handles_docker_heavy_node_fixture ... ok [INFO] [stdout] test detect_json_handles_compose_yml_fixture ... ok [INFO] [stdout] test detect_json_handles_compose_yaml_fixture ... ok [INFO] [stdout] test detect_json_handles_rust_cargo_fixture ... ok [INFO] [stdout] test detect_merge_json_applies_high_confidence_additions_for_java_maven_fixture ... ok [INFO] [stdout] test detect_json_surfaces_declared_compose_healthcheck_on_real_fixture ... ok [INFO] [stdout] test detect_merge_json_writes_only_high_confidence_additions_for_mixed_node_python_compose_fixture ... ok [INFO] [stdout] test detect_json_handles_ugly_polyglot_fixture ... ok [INFO] [stdout] test detect_merge_json_reports_noop_for_python_requirements_fixture_when_only_low_or_medium_changes_remain ... ok [INFO] [stdout] test detect_merge_json_writes_additive_fields_for_docker_heavy_node_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_java_maven_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_java_gradle_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_polyglot_ops_fixture ... ok [INFO] [stdout] test doctor_json_includes_finding_identity_and_evidence ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_docker_heavy_node_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_python_setup_cfg_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_mixed_node_python_compose_fixture ... ok [INFO] [stdout] test detect_writes_high_confidence_contract_for_rust_cargo_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_docker_legacy_fixture ... ok [INFO] [stdout] test doctor_surfaces_agent_guidance_on_real_contract ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_java_gradle_multimodule_fixture ... ok [INFO] [stdout] test doctor_json_uses_default_env_value_on_real_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_java_gradle_fixture ... ok [INFO] [stdout] test init_json_prefers_maven_wrapper_on_real_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_mixed_node_python_compose_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_java_maven_fixture ... ok [INFO] [stdout] test doctor_json_runs_warning_check_in_ugly_polyglot_fixture ... ok [INFO] [stdout] test doctor_json_reports_invalid_allowed_env_value_on_real_fixture ... ok [INFO] [stdout] test doctor_json_reports_optional_service_failure_as_warning_on_real_fixture ... ok [INFO] [stdout] test doctor_json_reports_service_and_lifecycle_findings_in_polyglot_ops_fixture ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_mixed_node_python_compose_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_python_requirements_fixture ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_polyglot_ops_fixture ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_python_setup_cfg_fixture ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_java_gradle_fixture ... ok [INFO] [stdout] test tasks_json_includes_agent_summary_on_real_contract ... ok [INFO] [stdout] test init_json_reports_detected_mode_for_rust_cargo_fixture ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_java_maven_fixture ... ok [INFO] [stdout] test tasks_text_includes_agent_summary_on_real_contract ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_docker_heavy_node_fixture ... ok [INFO] [stdout] test init_write_refuses_when_high_confidence_fields_are_insufficient_for_python_requirements_fixture ... ok [INFO] [stdout] test tasks_json_reports_resolved_task_variant_on_real_fixture ... ok [INFO] [stdout] test init_write_writes_high_confidence_contract_for_rust_cargo_fixture ... ok [INFO] [stdout] test validate_discovers_contract_from_current_directory_real_fixture ... ok [INFO] [stdout] test validate_uses_ota_file_override_real_fixture ... ok [INFO] [stdout] test run_executes_task_variant_from_nested_directory_real_fixture ... ok [INFO] [stdout] test workspace_doctor_json_reports_repo_findings_on_real_command_path ... ok [INFO] [stdout] test up_json_reports_contract_shape_on_real_fixture ... ok [INFO] [stdout] test workspace_up_json_reports_ready_repo_on_real_command_path ... ok [INFO] [stdout] test up_stops_in_services_phase_when_required_service_healthcheck_still_fails_on_real_fixture ... ok [INFO] [stdout] test up_returns_ready_when_only_warning_findings_remain_on_real_fixture ... ok [INFO] [stdout] test workspace_up_stream_includes_live_child_output ... ok [INFO] [stdout] test up_runs_service_start_and_stops_in_post_setup_diagnosis_on_real_fixture ... ok [INFO] [stderr] Doc-tests ota [INFO] [stdout] [INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s [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" "ed53b652091b82dc83eb6b5aee45362b4026430e70511f0ba291813a973ed8aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed53b652091b82dc83eb6b5aee45362b4026430e70511f0ba291813a973ed8aa", kill_on_drop: false }` [INFO] [stdout] ed53b652091b82dc83eb6b5aee45362b4026430e70511f0ba291813a973ed8aa