[INFO] fetching crate streamweave-attractor 0.3.0... [INFO] testing streamweave-attractor-0.3.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate streamweave-attractor 0.3.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate streamweave-attractor 0.3.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate streamweave-attractor 0.3.0 [INFO] tweaked toml for crates.io crate streamweave-attractor 0.3.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate streamweave-attractor 0.3.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate streamweave-attractor 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded criterion-plot v0.8.2 [INFO] [stderr] Downloaded alloca v0.4.0 [INFO] [stderr] Downloaded criterion v0.8.2 [INFO] [stderr] Downloaded streamweave v0.10.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d4a6bf00c8ad1113f62f224bc280513fc8971e91d8efa17d686aebc9cdaf84a2 [INFO] running `Command { std: "docker" "start" "-a" "d4a6bf00c8ad1113f62f224bc280513fc8971e91d8efa17d686aebc9cdaf84a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d4a6bf00c8ad1113f62f224bc280513fc8971e91d8efa17d686aebc9cdaf84a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d4a6bf00c8ad1113f62f224bc280513fc8971e91d8efa17d686aebc9cdaf84a2", kill_on_drop: false }` [INFO] [stdout] d4a6bf00c8ad1113f62f224bc280513fc8971e91d8efa17d686aebc9cdaf84a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9fd2d1726f92a5b1bd7122bd274747ace70894e97a1ac9519ceee87971fcc46c [INFO] running `Command { std: "docker" "start" "-a" "9fd2d1726f92a5b1bd7122bd274747ace70894e97a1ac9519ceee87971fcc46c", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_builder v4.5.58 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling clap v4.5.58 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling streamweave v0.10.1 [INFO] [stderr] Compiling streamweave-attractor v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "9fd2d1726f92a5b1bd7122bd274747ace70894e97a1ac9519ceee87971fcc46c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fd2d1726f92a5b1bd7122bd274747ace70894e97a1ac9519ceee87971fcc46c", kill_on_drop: false }` [INFO] [stdout] 9fd2d1726f92a5b1bd7122bd274747ace70894e97a1ac9519ceee87971fcc46c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 527a81d37999e34e9c04e82452852e830615aea51e4e60bcd565ca2bc772ddc6 [INFO] running `Command { std: "docker" "start" "-a" "527a81d37999e34e9c04e82452852e830615aea51e4e60bcd565ca2bc772ddc6", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling streamweave v0.10.1 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling streamweave-attractor v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 58.92s [INFO] running `Command { std: "docker" "inspect" "527a81d37999e34e9c04e82452852e830615aea51e4e60bcd565ca2bc772ddc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "527a81d37999e34e9c04e82452852e830615aea51e4e60bcd565ca2bc772ddc6", kill_on_drop: false }` [INFO] [stdout] 527a81d37999e34e9c04e82452852e830615aea51e4e60bcd565ca2bc772ddc6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 609156c893ac01a02fb5478809aed2cc087613280520601771c9aed5c14157f9 [INFO] running `Command { std: "docker" "start" "-a" "609156c893ac01a02fb5478809aed2cc087613280520601771c9aed5c14157f9", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/streamweave_attractor-d2de8d880d96d731) [INFO] [stdout] [INFO] [stdout] running 157 tests [INFO] [stdout] test compiler_test::compile_err_no_exit ... ok [INFO] [stdout] test compiler_test::compile_accepts_valid_entry_node_id_for_resume ... ok [INFO] [stdout] test compiler_test::compile_rejects_exec_without_command ... ok [INFO] [stdout] test compiler_test::compile_trivial_start_exit ... ok [INFO] [stdout] test dot_parser_test::parse_identifier_returns_id_and_rest ... ok [INFO] [stdout] test compiler_test::compile_pre_push_dot ... ok [INFO] [stdout] test dot_parser_test::parse_node_attrs_builds_node ... ok [INFO] [stdout] test compiler_test::compile_with_conditional_routing ... ok [INFO] [stdout] test dot_parser_test::extract_edge_attrs_gets_label_condition_weight ... ok [INFO] [stdout] test compiler_test::compile_err_no_start ... ok [INFO] [stdout] test dot_parser_test::parse_node_default_attrs ... ok [INFO] [stdout] test dot_parser_test::err_no_digraph ... ok [INFO] [stdout] test dot_parser_test::parse_node_goal_gate_max_retries ... ok [INFO] [stdout] test dot_parser_test::parse_number_parses_positive_and_negative ... ok [INFO] [stdout] test dot_parser_test::parse_quoted_value_escapes ... ok [INFO] [stdout] test dot_parser_test::parse_rankdir_with_semicolon ... ok [INFO] [stdout] test dot_parser_test::parse_edge_with_label_condition_weight ... ok [INFO] [stdout] test compiler_test::run_streamweave_graph_trivial_start_exit ... ok [INFO] [stdout] test dot_parser_test::parse_identifier_returns_none_for_empty ... ok [INFO] [stdout] test dot_parser_test::apply_graph_attrs_sets_goal ... ok [INFO] [stdout] test dot_parser_test::parse_negative_number ... ok [INFO] [stdout] test compiler_test::compile_rejects_invalid_entry_node_id ... ok [INFO] [stdout] test dot_parser_test::parse_multiple_chain_edges ... ok [INFO] [stdout] test dot_parser_test::parse_pre_push_dot_all_nodes ... ok [INFO] [stdout] test dot_parser_test::parse_subgraph_skipped ... ok [INFO] [stdout] test dot_parser_test::parse_value_parses_quoted_and_number ... ok [INFO] [stdout] test dot_parser_test::parse_resolve_handler_shapes ... ok [INFO] [stdout] test dot_parser_test::parse_value_escape_sequences ... ok [INFO] [stdout] test dot_parser_test::unescape_quoted_string_handles_escapes ... ok [INFO] [stdout] test nodes::apply_context_updates_test::apply_updates_preferred_label ... ok [INFO] [stdout] test nodes::apply_context_updates_test::process_apply_context_updates_item_returns_some_for_valid_input ... ok [INFO] [stdout] test nodes::apply_context_updates_test::node_execute_skips_wrong_type ... ok [INFO] [stdout] test nodes::check_goal_gates_test::gate_not_ok_when_goal_gate_fail ... ok [INFO] [stdout] test dot_parser_test::parse_with_comments ... ok [INFO] [stdout] test nodes::apply_context_updates_test::node_trait_methods ... ok [INFO] [stdout] test nodes::apply_context_updates_test::node_execute_applies_updates ... ok [INFO] [stdout] test dot_parser_test::resolve_handler_from_shape_maps_shapes ... ok [INFO] [stdout] test dot_parser_test::strip_comments_removes_line_and_block ... ok [INFO] [stdout] test execution_log_io::tests::load_execution_log_roundtrip_and_resume_state ... ok [INFO] [stdout] test execution_log_io::tests::write_execution_log_partial_omits_finished_at ... ok [INFO] [stdout] test nodes::apply_context_updates_test::apply_updates_merges_context ... ok [INFO] [stdout] test nodes::check_goal_gates_test::gate_ok_when_not_at_exit ... ok [INFO] [stdout] test nodes::check_goal_gates_test::goal_gate_passed_false_for_fail ... ok [INFO] [stdout] test nodes::check_goal_gates_test::goal_gate_passed_for_success_and_partial_success ... ok [INFO] [stdout] test nodes::execute_handler_test::node_execute_runs_handler ... ok [INFO] [stdout] test nodes::check_goal_gates_test::node_execute_checks_gates ... ok [INFO] [stdout] test nodes::check_goal_gates_test::node_trait_methods ... ok [INFO] [stdout] test nodes::execute_handler_test::build_codergen_outcome_includes_last_stage ... ok [INFO] [stdout] test dot_parser_test::parse_simple_dot ... ok [INFO] [stdout] test nodes::execute_handler_test::exit_handler ... ok [INFO] [stdout] test nodes::apply_context_updates_test::process_apply_context_updates_item_returns_none_for_wrong_type ... ok [INFO] [stdout] test nodes::check_goal_gates_test::node_execute_skips_wrong_type ... ok [INFO] [stdout] test nodes::execute_handler_test::node_trait_methods ... ok [INFO] [stdout] test nodes::execute_handler_test::codergen_handler ... ok [INFO] [stdout] test nodes::check_goal_gates_test::gate_ok_when_goal_gate_success ... ok [INFO] [stdout] test nodes::execute_handler_test::start_handler ... ok [INFO] [stdout] test nodes::execute_handler_test::unknown_handler_stub ... ok [INFO] [stdout] test nodes::find_start_test::find_start_id_returns_none_when_no_start ... ok [INFO] [stdout] test nodes::find_start_test::find_start_id_returns_start_node_id ... ok [INFO] [stdout] test nodes::execute_handler_test::node_execute_sends_error_on_wrong_type ... ok [INFO] [stdout] test nodes::find_start_test::node_execute_emits_start_id ... ok [INFO] [stdout] test nodes::find_start_test::node_execute_skips_wrong_type ... ok [INFO] [stdout] test nodes::parse_dot_test::new_creates_node ... ok [INFO] [stdout] test nodes::find_start_test::node_trait_methods ... ok [INFO] [stdout] test nodes::find_start_test::process_find_start_item_returns_none_for_wrong_type ... ok [INFO] [stdout] test nodes::find_start_test::process_find_start_item_returns_some_for_graph_with_start ... ok [INFO] [stdout] test nodes::parse_dot_test::process_dot_parses_valid_dot ... ok [INFO] [stdout] test nodes::parse_dot_test::node_execute_emits_error_on_invalid_dot ... ok [INFO] [stdout] test nodes::fix_node_test::node_execute_forwards_one_item ... ok [INFO] [stdout] test nodes::parse_dot_test::node_execute_err_missing_input ... ok [INFO] [stdout] test nodes::fix_node_test::node_trait_methods ... ok [INFO] [stdout] test nodes::parse_dot_test::process_dot_returns_err_on_invalid ... ok [INFO] [stdout] test nodes::parse_dot_test::process_parse_dot_item_graph_for_valid_dot ... ok [INFO] [stdout] test nodes::parse_dot_test::node_execute_parses_valid_dot ... ok [INFO] [stdout] test nodes::parse_dot_test::node_trait_methods ... ok [INFO] [stdout] test nodes::find_start_test::new_creates_node ... ok [INFO] [stdout] test nodes::parse_dot_test::process_parse_dot_item_parse_error_for_invalid_dot ... ok [INFO] [stdout] test nodes::parse_dot_test::process_parse_dot_item_wrong_type_for_non_string ... ok [INFO] [stdout] test nodes::select_edge_test::best_by_weight_then_lexical_picks_highest_weight ... ok [INFO] [stdout] test nodes::select_edge_test::done_false_when_no_edges_and_fail ... ok [INFO] [stdout] test nodes::select_edge_test::evaluate_condition_has_tasks_false ... ok [INFO] [stdout] test nodes::select_edge_test::evaluate_condition_has_tasks_true ... ok [INFO] [stdout] test nodes::select_edge_test::evaluate_condition_outcome_equals ... ok [INFO] [stdout] test nodes::select_edge_test::normalize_label_strips_prefixes ... ok [INFO] [stdout] test nodes::select_edge_test::select_best_by_weight_then_lexical ... ok [INFO] [stdout] test nodes::select_edge_test::node_execute_selects_edge ... ok [INFO] [stdout] test nodes::select_edge_test::select_by_condition_has_tasks ... ok [INFO] [stdout] test nodes::select_edge_test::select_by_condition_outcome_eq ... ok [INFO] [stdout] test nodes::select_edge_test::done_when_no_edges_and_success ... ok [INFO] [stdout] test nodes::select_edge_test::node_execute_skips_wrong_type ... ok [INFO] [stdout] test nodes::validate_graph_test::node_execute_emits_error_on_invalid_graph ... ok [INFO] [stdout] test nodes::select_edge_test::node_trait_methods ... ok [INFO] [stdout] test nodes::validate_graph_test::node_trait_methods ... ok [INFO] [stdout] test nodes::validate_graph_test::node_execute_validates_and_forwards ... ok [INFO] [stdout] test nodes::select_edge_test::select_unconditional_edge ... ok [INFO] [stdout] test nodes::validate_graph_test::validate_ok_with_start_and_exit ... ok [INFO] [stdout] test nodes::validate_graph_test::node_execute_sends_error_on_wrong_type ... ok [INFO] [stdout] test nodes::select_edge_test::select_by_preferred_label ... ok [INFO] [stdout] test nodes::validate_graph_test::validate_err_no_exit ... ok [INFO] [stdout] test nodes::validate_graph_test::validate_err_no_start ... ok [INFO] [stdout] test nodes::select_edge_test::select_by_condition_outcome_neq ... ok [INFO] [stdout] test nodes::select_edge_test::select_by_suggested_next_ids ... ok [INFO] [stdout] test runner_test::build_prompt_with_context_empty_context_returns_static ... ok [INFO] [stdout] test runner_test::build_prompt_with_context_prepends_context_block ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_empty ... ok [INFO] [stdout] test runner_test::format_context_for_prompt_includes_keys_sorted ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_fail ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_invalid_json ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_invalid_outcome ... ok [INFO] [stdout] test types::attractor_edge_test::construct_edge ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_success ... ok [INFO] [stdout] test types::attractor_edge_test::edge_with_attrs ... ok [INFO] [stdout] test types::attractor_graph_test::outgoing_edges_empty ... ok [INFO] [stdout] test types::attractor_edge_test::clone_edge ... ok [INFO] [stdout] test types::attractor_graph_test::find_exit_none ... ok [INFO] [stdout] test types::attractor_graph_test::find_exit_by_shape ... ok [INFO] [stdout] test types::attractor_graph_test::find_start_by_shape ... ok [INFO] [stdout] test types::attractor_graph_test::find_start_none ... ok [INFO] [stdout] test types::attractor_graph_test::outgoing_edges ... ok [INFO] [stdout] test runner_test::parse_agent_json_response_partial_success ... ok [INFO] [stdout] test runner_test::format_context_for_prompt_empty ... ok [INFO] [stdout] test types::attractor_node_test::is_exit_by_id_exit ... ok [INFO] [stdout] test types::attractor_node_test::is_exit_by_id_exit_uppercase ... ok [INFO] [stdout] test types::attractor_node_test::is_exit_by_shape_msquare ... ok [INFO] [stdout] test types::attractor_node_test::is_start_by_id_start ... ok [INFO] [stdout] test types::attractor_node_test::is_exit_by_shape_msquare_lowercase ... ok [INFO] [stdout] test types::attractor_node_test::is_start_by_id_start_uppercase ... ok [INFO] [stdout] test types::attractor_node_test::is_exit_neither ... ok [INFO] [stdout] test runner_test::run_agent_returns_error_outcome_when_agent_prints_fail_json ... ok [INFO] [stdout] test types::attractor_node_test::is_start_by_shape_mdiamond ... ok [INFO] [stdout] test types::attractor_node_test::is_start_by_shape_mdiamond_lowercase ... ok [INFO] [stdout] test types::attractor_node_test::is_terminal_when_exit ... ok [INFO] [stdout] test types::attractor_node_test::shape_is_start_and_id_helpers ... ok [INFO] [stdout] test types::attractor_node_test::is_start_neither ... ok [INFO] [stdout] test types::execution_log::tests::execution_log_serializes_to_json ... ok [INFO] [stdout] test types::execution_log::tests::execution_step_entry_serializes_to_json ... ok [INFO] [stdout] test types::execution_state_test::is_done_false_when_at_non_exit ... ok [INFO] [stdout] test types::execution_state_test::is_done_false_when_unknown_node ... ok [INFO] [stdout] test types::execution_state_test::is_done_when_at_exit ... ok [INFO] [stdout] test types::graph_payload_test::from_resume_state_restores_context_and_completed ... ok [INFO] [stdout] test types::node_outcome_test::error_accepts_string ... ok [INFO] [stdout] test types::graph_payload_test::initial_sets_start_node_and_empty_completed ... ok [INFO] [stdout] test types::outcome_status_test::display_partial_success ... ok [INFO] [stdout] test types::node_outcome_test::success_creates_success_outcome ... ok [INFO] [stdout] test types::outcome_status_test::display_success ... ok [INFO] [stdout] test types::outcome_status_test::eq_variants ... ok [INFO] [stdout] test types::resume_state_test::clone_resume_state ... ok [INFO] [stdout] test types::attractor_node_test::is_terminal_when_not_exit ... ok [INFO] [stdout] test types::resume_state_test::resume_state_roundtrip_serde ... ok [INFO] [stdout] test types::outcome_status_test::display_error ... ok [INFO] [stdout] test types::resume_state_test::construct_resume_state ... ok [INFO] [stdout] test types::node_outcome_test::error_creates_error_outcome ... ok [INFO] [stdout] test types::node_outcome_test::success_accepts_string ... ok [INFO] [stdout] test types::outcome_status_test::display_retry ... ok [INFO] [stdout] test runner_test::run_agent_returns_parsed_outcome_when_agent_prints_success_json ... ok [INFO] [stdout] test runner_test::run_agent_uses_exit_code_when_stdout_empty_and_exit_zero ... ok [INFO] [stdout] test runner_test::run_agent_uses_exit_code_when_stdout_empty_and_exit_nonzero ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 157 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/run_dot.rs (/opt/rustwide/target/debug/deps/run_dot-81206fefd0783b52) [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-07d2bf96b0f4366d) [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 11 tests [INFO] [stdout] test integration_lib_minimal_succeeds ... ok [INFO] [stdout] test integration_lib_test_success_only_succeeds ... ok [INFO] [stdout] test integration_lib_two_runs_without_resume_both_run_fully ... ok [INFO] [stdout] test integration_lib_exec_fail_exit_returns_failure ... ok [INFO] [stdout] test integration_lib_pre_push_exec_only_succeeds ... ok [INFO] [stdout] test integration_lib_test_out_error_succeeds ... ok [INFO] [stdout] test integration_exec_fail_exit_dot_fails ... ok [INFO] [stdout] test integration_test_success_only_dot_succeeds ... ok [INFO] [stdout] test integration_pre_push_exec_only_dot_succeeds ... ok [INFO] [stdout] test integration_test_out_error_dot_succeeds ... ok [INFO] [stdout] test integration_minimal_dot_succeeds ... ok [INFO] [stdout] [INFO] [stderr] Running tests/run_dot_integration.rs (/opt/rustwide/target/debug/deps/run_dot_integration-802b3d248797a3e7) [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test resume_from_partial_log ... ok [INFO] [stdout] test run_dir_writes_execution_log ... ok [INFO] [stdout] test resume_from_completed_log_returns_already_completed ... ok [INFO] [stdout] test execution_log_path_writes_execution_log_json ... ok [INFO] [stdout] test codergen_json_response_success_path ... ok [INFO] [stdout] test resume_from_execution_log_completes ... ok [INFO] [stdout] test codergen_json_response_fail_path ... ok [INFO] [stdout] test codergen_json_response_partial_success_path ... ok [INFO] [stdout] test pre_push_dot_via_run_compiled_graph ... ok [INFO] [stdout] test run_dot_execution_log_cli_writes_log_file ... ok [INFO] [stdout] test run_dot_dry_run_valid_dot_exits_0 ... ok [INFO] [stdout] test tdd_codergen_error_path_graph_completes_within_timeout ... ok [INFO] [stdout] test tdd_codergen_success_path_graph_completes_within_timeout ... ok [INFO] [stdout] test tdd_cyclic_codergen_error_path_graph_completes_within_timeout ... ok [INFO] [stdout] test run_dot_dry_run_invalid_dot_exits_1 ... ok [INFO] [stdout] test tdd_cyclic_exec_error_path_graph_completes_within_timeout ... ok [INFO] [stdout] test tdd_exec_success_path_graph_completes_within_timeout ... ok [INFO] [stdout] test tdd_exec_error_path_graph_completes_within_timeout ... ok [INFO] [stdout] test test_out_error_dot_error_path_then_fix_to_exit ... ok [INFO] [stdout] test run_dot_prints_usage_without_args ... ok [INFO] [stdout] test run_dot_execution_log_env_true_uses_default_path ... ok [INFO] [stdout] test run_dot_execution_log_cli_default_path_under_stage_dir ... ok [INFO] [stdout] test run_dot_execution_log_env_path_uses_that_path ... ok [INFO] [stdout] test run_dot_dry_run_missing_file_exits_1 ... ok [INFO] [stdout] test run_dot_succeeds_with_minimal_start_exit_dot ... ok [INFO] [stdout] test run_dot_execution_log_env_1_uses_default_path ... ok [INFO] [stdout] test run_dot_execution_log_cli_overrides_env ... ok [INFO] [stdout] test run_dot_json_outputs_valid_json_with_expected_fields ... ok [INFO] [stdout] test run_dot_exits_1_for_missing_file ... ok [INFO] [stdout] test run_dot_prints_run_summary_after_pipeline ... ok [INFO] [stdout] test run_dot_resume_cli_completes_from_execution_log ... ok [INFO] [stdout] test run_dot_summary_prints_outcome_step_count_duration ... ok [INFO] [stdout] test run_dot_timeout_exits_124 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.49s [INFO] [stdout] [INFO] [stderr] Doc-tests streamweave_attractor [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" "609156c893ac01a02fb5478809aed2cc087613280520601771c9aed5c14157f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "609156c893ac01a02fb5478809aed2cc087613280520601771c9aed5c14157f9", kill_on_drop: false }` [INFO] [stdout] 609156c893ac01a02fb5478809aed2cc087613280520601771c9aed5c14157f9