[INFO] fetching crate cognisgraph 0.1.0...
[INFO] testing cognisgraph-0.1.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] extracting crate cognisgraph 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate cognisgraph 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cognisgraph 0.1.0
[INFO] tweaked toml for crates.io crate cognisgraph 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate cognisgraph 0.1.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cognisgraph 0.1.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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.21.0
[INFO] [stderr]   Downloaded cognis-core v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 67d5a4ac9a5227edaa6fe386c214fe161fe623a12cdd6903ac91a6ba1c70f2ca
[INFO] running `Command { std: "docker" "start" "-a" "67d5a4ac9a5227edaa6fe386c214fe161fe623a12cdd6903ac91a6ba1c70f2ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67d5a4ac9a5227edaa6fe386c214fe161fe623a12cdd6903ac91a6ba1c70f2ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67d5a4ac9a5227edaa6fe386c214fe161fe623a12cdd6903ac91a6ba1c70f2ca", kill_on_drop: false }`
[INFO] [stdout] 67d5a4ac9a5227edaa6fe386c214fe161fe623a12cdd6903ac91a6ba1c70f2ca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7e3946fda980cbfcbb81ef8daba899460eaa4fc98a83917ad2d803e1a371f95d
[INFO] running `Command { std: "docker" "start" "-a" "7e3946fda980cbfcbb81ef8daba899460eaa4fc98a83917ad2d803e1a371f95d", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling cognis-core v0.1.0
[INFO] [stderr]    Compiling cognisgraph v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.79s
[INFO] running `Command { std: "docker" "inspect" "7e3946fda980cbfcbb81ef8daba899460eaa4fc98a83917ad2d803e1a371f95d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e3946fda980cbfcbb81ef8daba899460eaa4fc98a83917ad2d803e1a371f95d", kill_on_drop: false }`
[INFO] [stdout] 7e3946fda980cbfcbb81ef8daba899460eaa4fc98a83917ad2d803e1a371f95d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4919cfe90766e3ccaa9baa6acee1d1526b97b9a317ff021cf82b23e7ad83829
[INFO] running `Command { std: "docker" "start" "-a" "e4919cfe90766e3ccaa9baa6acee1d1526b97b9a317ff021cf82b23e7ad83829", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling cognis-core v0.1.0
[INFO] [stderr]    Compiling cognisgraph v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "e4919cfe90766e3ccaa9baa6acee1d1526b97b9a317ff021cf82b23e7ad83829", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4919cfe90766e3ccaa9baa6acee1d1526b97b9a317ff021cf82b23e7ad83829", kill_on_drop: false }`
[INFO] [stdout] e4919cfe90766e3ccaa9baa6acee1d1526b97b9a317ff021cf82b23e7ad83829
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 862bc7854f404d91fdac0fe29329758a955eaefcf6d59f41bee8652a8ba7e779
[INFO] running `Command { std: "docker" "start" "-a" "862bc7854f404d91fdac0fe29329758a955eaefcf6d59f41bee8652a8ba7e779", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cognisgraph-f441bd51e16b0362)
[INFO] [stdout] 
[INFO] [stdout] running 2196 tests
[INFO] [stdout] test channels::any_value::tests::test_empty_update_on_empty_channel ... ok
[INFO] [stdout] test channels::any_value::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::any_value::tests::test_from_checkpoint_none ... ok
[INFO] [stdout] test channels::any_value::tests::test_new_channel_is_empty ... ok
[INFO] [stdout] test channels::any_value::tests::test_empty_update_clears_value ... ok
[INFO] [stdout] test channels::any_value::tests::test_update_multiple_values_takes_last ... ok
[INFO] [stdout] test channels::any_value::tests::test_with_value ... ok
[INFO] [stdout] test channels::base::tests::test_base_channel_trait ... ok
[INFO] [stdout] test channels::base::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::base::tests::test_default_consume_and_finish ... ok
[INFO] [stdout] test channels::binop::tests::test_add_floats ... ok
[INFO] [stdout] test channels::binop::tests::test_add_arrays ... ok
[INFO] [stdout] test channels::binop::tests::test_add_numbers ... ok
[INFO] [stdout] test channels::binop::tests::test_add_strings ... ok
[INFO] [stdout] test channels::binop::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::binop::tests::test_custom_operator ... ok
[INFO] [stdout] test channels::any_value::tests::test_update_single_value ... ok
[INFO] [stdout] test channels::binop::tests::test_empty_update ... ok
[INFO] [stdout] test channels::binop::tests::test_extend_arrays ... ok
[INFO] [stdout] test channels::binop::tests::test_extend_non_array_into_array ... ok
[INFO] [stdout] test channels::binop::tests::test_multiple_overwrites_error ... ok
[INFO] [stdout] test channels::binop::tests::test_multiple_values_in_single_update ... ok
[INFO] [stdout] test channels::binop::tests::test_overwrite_wrapper ... ok
[INFO] [stdout] test channels::binop::tests::test_replace ... ok
[INFO] [stdout] test channels::binop::tests::test_update_on_empty_channel ... ok
[INFO] [stdout] test channels::broadcast::tests::test_config_defaults ... ok
[INFO] [stdout] test channels::broadcast::tests::test_buffer_overflow_best_effort ... ok
[INFO] [stdout] test channels::broadcast::tests::test_drain_all_pending_messages ... ok
[INFO] [stdout] test channels::broadcast::tests::test_history_retention ... ok
[INFO] [stdout] test channels::broadcast::tests::test_publish_and_receive_single_message ... ok
[INFO] [stdout] test channels::broadcast::tests::test_multiple_subscribers_receive_same_message ... ok
[INFO] [stdout] test channels::broadcast::tests::test_topic_filtering ... ok
[INFO] [stdout] test channels::broadcast::tests::test_subscriber_count_tracking ... ok
[INFO] [stdout] test channels::broadcast::tests::test_sequence_number_monotonicity ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_consume_on_empty ... ok
[INFO] [stdout] test channels::broadcast::tests::test_custom_filter_function ... ok
[INFO] [stdout] test channels::broadcast::tests::test_empty_channel_receive ... ok
[INFO] [stdout] test channels::broadcast::tests::test_buffer_overflow_drop_oldest ... ok
[INFO] [stdout] test channels::broadcast::tests::test_clear_history ... ok
[INFO] [stdout] test channels::broadcast::tests::test_history_by_topic ... ok
[INFO] [stdout] test channels::broadcast::tests::test_message_count_tracking ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_consume_clears_value ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_empty_update ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_from_checkpoint_always_empty ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_guarded_single_value_ok ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_new_channel_is_empty ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_non_guarded_multiple_values_takes_last ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_not_checkpointed ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_with_guard_builder ... ok
[INFO] [stdout] test channels::last_value::tests::test_key ... ok
[INFO] [stdout] test channels::last_value::tests::test_new_channel_is_empty ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_unguarded_empty_update_clears_value ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_guarded_multiple_values_error ... ok
[INFO] [stdout] test channels::last_value::tests::test_update_multiple_values_errors ... ok
[INFO] [stdout] test channels::last_value::tests::test_update_replaces_value ... ok
[INFO] [stdout] test channels::last_value::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::last_value::tests::test_update_empty_values ... ok
[INFO] [stdout] test channels::last_value::tests::test_from_checkpoint_none ... ok
[INFO] [stdout] test channels::last_value::tests::test_with_value ... ok
[INFO] [stdout] test channels::last_value::tests::test_update_single_value ... ok
[INFO] [stdout] test channels::last_value::tests_after_finish::test_after_finish_available_after_finish ... ok
[INFO] [stdout] test channels::last_value::tests_after_finish::test_after_finish_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::last_value::tests_after_finish::test_after_finish_consume_resets ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_after_finish_not_available_without_all_names ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_after_finish_available_when_both ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_checkpoint_empty ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_after_finish_not_available_without_finish ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_update_and_get ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_complete_barrier ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_all_at_once ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_after_finish_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_consume_on_incomplete_noop ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_after_finish_consume_resets_both ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_duplicate_name_no_change ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_from_checkpoint_none ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_consume_resets_barrier ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_new_barrier_not_available ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_unknown_name_ignored ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_partial_update_not_available ... ok
[INFO] [stdout] test channels::reducers::tests::test_append_reducer_accumulates ... ok
[INFO] [stdout] test channels::reducers::tests::test_append_reducer_accumulates_array_update ... ok
[INFO] [stdout] test channels::reducers::tests::test_append_reducer_from_non_array_current ... ok
[INFO] [stdout] test channels::reducers::tests::test_append_reducer_null_start ... ok
[INFO] [stdout] test channels::reducers::tests::test_append_reducer_null_start_array_update ... ok
[INFO] [stdout] test channels::reducers::tests::test_binary_op_reducer_max ... ok
[INFO] [stdout] test channels::reducers::tests::test_binary_op_reducer_sum ... ok
[INFO] [stdout] test channels::reducers::tests::test_last_value_overwrites ... ok
[INFO] [stdout] test channels::reducers::tests::test_last_value_overwrites_object ... ok
[INFO] [stdout] test channels::ephemeral_value::tests::test_guarded_empty_update_does_not_clear ... ok
[INFO] [stdout] test channels::reducers::tests::test_merge_reducer_concatenates_arrays ... ok
[INFO] [stdout] test channels::last_value::tests_after_finish::test_after_finish_not_available_before_finish ... ok
[INFO] [stdout] test channels::reducers::tests::test_merge_reducer_deep_merges_objects ... ok
[INFO] [stdout] test channels::reducers::tests::test_reduce_state_default_used_as_base_for_reducer ... ok
[INFO] [stdout] test channels::reducers::tests::test_merge_reducer_scalar_overwrite ... ok
[INFO] [stdout] test channels::reducers::tests::test_reduce_state_non_object_fallback ... ok
[INFO] [stdout] test channels::reducers::tests::test_reduce_state_preserves_untouched_fields ... ok
[INFO] [stdout] test channels::state::tests::test_binary_channel_advance_step_allows_new_set ... ok
[INFO] [stdout] test channels::reducers::tests::test_reduce_state_with_defaults ... ok
[INFO] [stdout] test channels::state::tests::test_binary_channel_advance_without_set ... ok
[INFO] [stdout] test channels::named_barrier::tests::test_empty_names_never_complete ... ok
[INFO] [stdout] test channels::state::tests::test_binary_channel_double_set_errors ... ok
[INFO] [stdout] test channels::reducers::tests::test_reducer_complex_nested_state ... ok
[INFO] [stdout] test channels::state::tests::test_binary_channel_new ... ok
[INFO] [stdout] test channels::reducers::tests::test_schema_builder_pattern ... ok
[INFO] [stdout] test channels::reducers::tests::test_schema_with_mixed_reducers ... ok
[INFO] [stdout] test channels::state::tests::test_binary_channel_set_once ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_float_roundtrip ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_bool ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_float ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_int ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_list ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_map ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_null ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_from_text ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_json_variant ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_roundtrip_null ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_roundtrip_text ... ok
[INFO] [stdout] test channels::state::tests::test_last_value_channel_new ... ok
[INFO] [stdout] test channels::state::tests::test_manager_channel_names ... ok
[INFO] [stdout] test channels::state::tests::test_manager_get_missing ... ok
[INFO] [stdout] test channels::state::tests::test_channel_value_roundtrip_int ... ok
[INFO] [stdout] test channels::state::tests::test_manager_new_is_empty ... ok
[INFO] [stdout] test channels::state::tests::test_manager_replace_existing_channel ... ok
[INFO] [stdout] test channels::state::tests::test_last_value_channel_overwrites ... ok
[INFO] [stdout] test channels::state::tests::test_manager_restore ... ok
[INFO] [stdout] test channels::state::tests::test_manager_snapshot ... ok
[INFO] [stdout] test channels::state::tests::test_manager_update_and_get ... ok
[INFO] [stdout] test channels::state::tests::test_manager_snapshot_empty ... ok
[INFO] [stdout] test channels::state::tests::test_manager_update_missing_channel ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_default_trait ... ok
[INFO] [stdout] test channels::state::tests::test_manager_add_and_has ... ok
[INFO] [stdout] test channels::state::tests::test_last_value_channel_update ... ok
[INFO] [stdout] test channels::state::tests::test_manager_default_trait ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_define ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_new_empty ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_append_null_incoming ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_append_both_arrays ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_append_scalar_to_scalar ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_append_to_null ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_to_json ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_custom_defaults_to_replace ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_max ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_max_non_numeric_fallback ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_merge_non_objects_fallback ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_append_scalar_to_array ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_validate_empty_protocol ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_merge_objects ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_validate_missing_channels ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_merge_overwrites_keys ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_min ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_replace ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_min_non_numeric_fallback ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_sum_integers ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_sum_floats ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_sum_with_null ... ok
[INFO] [stdout] test channels::state::tests::test_reducer_sum_non_numeric_treated_as_zero ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_multiple_appends ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_new ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_reset ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_update_applies_reducer ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_update_increments_version ... ok
[INFO] [stdout] test channels::state::tests::test_protocol_validate_success ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_add_number_integers ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_add_field_to_schema ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_add_number_null_current ... ok
[INFO] [stdout] test channels::state::tests::test_state_channel_with_default ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_append_list_array_update ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_append_list_null_start ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_add_number_floats ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_append_list_single_item ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_builder_produces_correct_schema ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_concat_string_error_on_non_string_update ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_add_number_type_error ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_concat_string_null_current ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_max_number_null_current ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_concat_string_with_separator ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_message_list_no_id_always_appends ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_message_list_null_start ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_min_number_error_on_non_number ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_max_number_keeps_larger ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_min_number_keeps_smaller ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_custom_reducer ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_overwrite_reducer_replaces_object ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_merge_object_deep_merges ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_merge_object_scalar_overwrite ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_message_list_appends ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_overwrite_reducer_replaces_value ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_overwrite_reducer_name ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_message_list_dedup_by_id ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_schema_reduce_state_default_as_base ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_schema_reduce_state_defaults ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_schema_reduce_state_mixed_reducers ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_unique_list_null_start ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_schema_reduce_state_preserves_untouched ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_schema_propagates_reducer_error ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_unique_list_deduplicates ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_validate_state_optional_missing_ok ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_validate_state_required_missing ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_unique_list_single_duplicate ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_validate_state_required_null ... ok
[INFO] [stdout] test channels::topic::tests::test_accumulate_mode ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_validate_state_required_present ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_dead_letters_drain ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_unknown_fields_use_overwrite ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_new ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_end_to_end ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_validate_state_non_object ... ok
[INFO] [stdout] test channels::base::tests::test_box_clone ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_reduce_state_non_object_fallback ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_no_routes_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_publish_with_route ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_stats_tracking ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_subscribe ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_with_config ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_consume_empties_buffer ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_capacity_eviction ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_consume_removes_messages ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_peek ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_new_is_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_peek_missing_topic ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_sequence_numbers ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_publish_and_subscribe ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_subscribe_all ... ok
[INFO] [stdout] test channels::topic::tests::test_checkpoint_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_topics ... ok
[INFO] [stdout] test channels::topic::tests::test_checkpoint_roundtrip ... ok
[INFO] [stdout] test channels::topic::tests::test_consume_noop_on_accumulate ... ok
[INFO] [stdout] test channels::topic::tests::test_bus_unrouted_goes_to_dlq ... ok
[INFO] [stdout] test channels::topic::tests::test_channel_clear ... ok
[INFO] [stdout] test channels::topic::tests::test_consume_noop_on_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_dlq_add_and_drain ... ok
[INFO] [stdout] test channels::topic::tests::test_dlq_capacity_eviction ... ok
[INFO] [stdout] test channels::topic::tests::test_dlq_new_is_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_empty_update ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_all ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_exact_match ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_pattern_complex ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_pattern_star ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_pattern_question ... ok
[INFO] [stdout] test channels::topic::tests::test_flatten_arrays_in_input ... ok
[INFO] [stdout] test channels::topic::tests::test_filter_prefix_match ... ok
[INFO] [stdout] test channels::topic::tests::test_from_checkpoint_none ... ok
[INFO] [stdout] test channels::topic::tests::test_new_channel_is_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_non_accumulate_clears_on_update ... ok
[INFO] [stdout] test channels::topic::tests::test_router_add_and_route ... ok
[INFO] [stdout] test channels::topic::tests::test_router_multi_route ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_concat_string_no_separator ... ok
[INFO] [stdout] test channels::topic::tests::test_router_new_is_empty ... ok
[INFO] [stdout] test channels::topic::tests::test_router_no_match ... ok
[INFO] [stdout] test channels::topic::tests::test_router_remove_route ... ok
[INFO] [stdout] test channels::topic::tests::test_topic_message_age ... ok
[INFO] [stdout] test channels::topic::tests::test_topic_message_new ... ok
[INFO] [stdout] test channels::topic::tests::test_topic_message_with_sender ... ok
[INFO] [stdout] test channels::topic::tests::test_topic_message_to_json_no_sender ... ok
[INFO] [stdout] test channels::topic::tests::test_topic_message_to_json ... ok
[INFO] [stdout] test channels::topic::tests::test_update_multiple_values ... ok
[INFO] [stdout] test channels::topic::tests::test_update_single_value ... ok
[INFO] [stdout] test channels::topic::tests::test_with_accumulate_builder ... ok
[INFO] [stdout] test channels::topic::tests::test_router_routes_list ... ok
[INFO] [stdout] test channels::untracked::tests::test_from_checkpoint_always_empty ... ok
[INFO] [stdout] test channels::untracked::tests::test_update_replaces_value ... ok
[INFO] [stdout] test channels::untracked::tests::test_update_single_value ... ok
[INFO] [stdout] test channels::untracked::tests::test_never_checkpointed ... ok
[INFO] [stdout] test channels::untracked::tests::test_with_guard_builder ... ok
[INFO] [stdout] test channels::untracked::tests::test_with_value ... ok
[INFO] [stdout] test channels::untracked::tests::test_new_channel_is_empty ... ok
[INFO] [stdout] test channels::untracked::tests::test_unguarded_multiple_values_takes_last ... ok
[INFO] [stdout] test channels::untracked::tests::test_update_empty ... ok
[INFO] [stdout] test channels::untracked::tests::test_update_multiple_values_errors ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_clear_thread_empty ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_default_creates_empty ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_get_latest_stored ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_clone_shares_state ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_get_tuple ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_get_by_checkpoint_id ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_get_nonexistent ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_list_newest_first ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_channel_values_preserved ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_clear_thread ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_delete_existing ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_list_stored_ordering ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_latest_returns_most_recent ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_list_checkpoints_oldest_first ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_and_get ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_list_with_limit ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_stored_and_get_stored ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_builder_basic ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_returns_config_with_checkpoint_id ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_metadata_roundtrip ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_builder_with_metadata ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_builder_with_parent ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_writes ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_thread_ids ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_writes_requires_checkpoint_id ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_put_writes_not_found ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_builder_with_custom_id ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_multi_thread_isolation ... ok
[INFO] [stdout] test checkpoint::memory::tests::test_total_checkpoints ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_clone ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_default ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_equality ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_from_str ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_inequality ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_hash ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_to_json ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_to_json_with_parent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_empty_saver_operations ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_by_metadata_key ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_with_complex_state ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_by_step_range ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_by_thread ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_to_json_without_parent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_combined ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_display ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_id_new_is_unique ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_checkpoint_is_root ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_empty_matches_all ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_filter_matches_all ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_depth ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_children ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_empty ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_lineage_chain ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_no_children_for_leaf ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_history_single_root ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_create_checkpoint ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_create_with_metadata ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_create_with_parent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_restore_latest ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_rollback_nonexistent_step ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_restore_latest_nonexistent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_rollback_nonexistent_thread ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_rollback_to_step_0 ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_query_with_filter ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_stats_populated ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_stats_to_json ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_multi_thread_isolation ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_rollback ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_multi_thread_independent_steps ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_history_lineage ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_delete ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_query_across_threads ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_manager_stats_empty ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_delete_nonexistent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_list_empty_thread ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_list ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_load_nonexistent ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_load_latest ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_load_latest_nonexistent_thread ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_overwrite_same_id ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_save_and_load ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_thread_ids ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_checkpoint_diff_compute ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_binary_serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test checkpoint::persistence::tests::test_saver_new_is_empty ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_empty_checkpoint_serialization ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_binary_version_header ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_format_name_and_content_type ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_json_pretty_vs_compact ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_json_serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_compressed_serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_diff_apply_produces_expected_state ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_checkpoint_bundle_export_import ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_checkpoint_entry_roundtrip_compressed ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_bundle_metadata ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_checkpoint_entry_with_null_state ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_checkpoint_entry_roundtrip_versioned ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_preserves_false_and_zero ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_all_null_object_becomes_empty_then_removed ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_removes_nulls ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_checkpoint_entry_roundtrip_json ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_nested_nulls ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_removes_empty_objects ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_roundtrip_no_nulls ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compressed_serializer_roundtrip ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compressed_serializer_empty_state ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compressed_serializer_output_is_base64 ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compressed_then_versioned_roundtrip ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_json_serializer_nested_objects ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_json_serializer_array ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_json_serializer_roundtrip ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_metadata_builder_pattern ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_json_serializer_empty_object ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_json_serializer_null ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_state_change_variants ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_migration_backwards_error ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_compact_json_removes_empty_arrays ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_metadata_channel_versions_multiple ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_metadata_from_json_invalid ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_migration_missing_step_error ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_migration_multi_step ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_migration_same_version_noop ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_migration_single_step ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_pretty_json_formatting ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_metadata_new_defaults ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_serialization_format_as_str ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_metadata_to_json_and_back ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_pretty_json_larger_than_compact ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_pretty_json_roundtrip ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_versioned_serializer_roundtrip ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_default ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_clear_namespace_returns_zero_for_unknown ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_delete_existing ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_delete_missing ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_get_missing ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_exists ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_list_keys ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_list_keys_empty_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_list_keys_sorted ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_namespaces_empty ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_namespaces ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_new ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_put_and_get ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_clear_namespace ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_serializer_deeply_nested ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_put_overwrites ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_versioned_serializer_rejects_missing_data ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_total_size_bytes ... ok
[INFO] [stdout] test channels::topic::tests::test_consume_clears_non_accumulate ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_compression_reduces_size ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_serialization_format_serde_roundtrip ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_versioned_serializer_includes_version ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_versioned_serializer_reads_older_version ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_cache_hit ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_versioned_serializer_rejects_missing_version ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_in_memory_storage_clear_empty_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_delete ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_cache_miss_then_hit ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_exists ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_clear_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_invalidate_cache ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_list_keys ... ok
[INFO] [stdout] test channels::state_reducers::tests::test_custom_reducer_error ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_primary_only_data ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_quota_error_equality ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_quota_error_is_error ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_put_and_get ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_clone ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_empty_parts ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_quota_error_byte_limit_display ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_multiple_namespaces ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_equality ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_full_path ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_put_get_delete_cycle ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_hash ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_inequality ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_inequality_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_new ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_key_display ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_quota_error_key_limit_display ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_default ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_hit_rate_mixed ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_record_delete ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_new ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_record_get_hit ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_layered_storage_cache_hit_rate_no_gets ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_record_get_miss ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_record_put ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_metrics_to_json ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_migrate_all ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_migrate_empty_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_verify_failure_different_data ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_migrate_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_verify_failure_missing_key ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_check_put_byte_limit ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_verify_success ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_migration_verify_empty_namespace ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_check_put_ok ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_check_put_one_over_byte_limit ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_clone ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_from_bytes ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_from_bytes_invalid_json ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_from_json ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_size_bytes ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_drains_operations ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_execute_delete ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_operation_count ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_execute_put_then_get ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_execute_list_and_clear ... ok
[INFO] [stdout] test checkpoint::store::tests::test_default_impl ... ok
[INFO] [stdout] test checkpoint::store::tests::test_batch_store_get_missing_key ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_from_bytes_valid_json ... ok
[INFO] [stdout] test checkpoint::serialization::tests::test_large_state_serialization ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_check_put_exact_byte_limit ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_to_json ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_to_json_from_bytes_non_json ... ok
[INFO] [stdout] test checkpoint::store::tests::test_empty_namespace_operations ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_check_put_key_limit ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_cleanup_expired ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_clear_namespace ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_get_missing ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_delete_existing ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_clear_empty_namespace ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_list_by_namespace ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_list_excludes_expired ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_list_empty_namespace ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_namespaces ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_new_is_empty ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_delete_missing ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_put_and_get ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_value_large_data ... ok
[INFO] [stdout] test checkpoint::storage::tests::test_storage_quota_to_json ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_put_updates_existing ... ok
[INFO] [stdout] test checkpoint::store::tests::test_in_memory_store_ttl_expiration ... ok
[INFO] [stdout] test checkpoint::store::tests::test_namespaced_store_delete ... ok
[INFO] [stdout] test checkpoint::store::tests::test_namespaced_store_clear ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_from_parts_multiple ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_full_key_empty_key ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_equality ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_new ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_from_parts_single ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_matches_namespace ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_full_key ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_stats_empty ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_stats_to_json ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_stats_populated ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_new ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_expired ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_key_inequality ... ok
[INFO] [stdout] test checkpoint::store::tests::test_namespaced_store_put_and_get ... ok
[INFO] [stdout] test checkpoint::store::tests::test_namespaced_store_isolation ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_not_expired_with_long_ttl ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_to_json ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_update_increments_version ... ok
[INFO] [stdout] test checkpoint::store::tests::test_version_incrementing_across_updates ... ok
[INFO] [stdout] test config::tests::test_get_store_from_config_empty ... ok
[INFO] [stdout] test config::tests::test_get_stream_writer_from_config ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_delete ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_delete_nonexistent ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_get_missing ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_list ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_list_empty_namespace ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_overwrite ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_put_get ... ok
[INFO] [stdout] test config::tests::test_runtime_config_new ... ok
[INFO] [stdout] test config::tests::test_runtime_config_with_store ... ok
[INFO] [stdout] test graph::analysis::tests::test_add_duplicate_node ... ok
[INFO] [stdout] test config::tests::test_in_memory_store_namespace_isolation ... ok
[INFO] [stdout] test config::tests::test_runtime_config_debug ... ok
[INFO] [stdout] test config::tests::test_runtime_config_with_stream_writer ... ok
[INFO] [stdout] test config::tests::test_no_op_stream_writer ... ok
[INFO] [stdout] test graph::analysis::tests::test_add_edge_adds_nodes ... ok
[INFO] [stdout] test graph::analysis::tests::test_all_paths_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_all_paths_no_path ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_not_expired_without_ttl ... ok
[INFO] [stdout] test graph::analysis::tests::test_cycle_detector_self_loop ... ok
[INFO] [stdout] test graph::analysis::tests::test_cyclic_no_sources_no_sinks ... ok
[INFO] [stdout] test graph::analysis::tests::test_degree_nonexistent_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_cycle_detector_dag ... ok
[INFO] [stdout] test graph::analysis::tests::test_diff_identical_graphs ... ok
[INFO] [stdout] test graph::analysis::tests::test_diff_added_node_and_edge ... ok
[INFO] [stdout] test graph::analysis::tests::test_cycle_detector_multiple_cycles ... ok
[INFO] [stdout] test graph::analysis::tests::test_all_paths_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_cycle_detector_no_cycles ... ok
[INFO] [stdout] test graph::analysis::tests::test_all_paths_same_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_downstream_nonexistent ... ok
[INFO] [stdout] test graph::analysis::tests::test_empty_graph ... ok
[INFO] [stdout] test graph::analysis::tests::test_diff_to_json ... ok
[INFO] [stdout] test graph::analysis::tests::test_extract_nonexistent_nodes ... ok
[INFO] [stdout] test graph::analysis::tests::test_cycle_detector_simple_cycle ... ok
[INFO] [stdout] test graph::analysis::tests::test_diff_removed_node_and_edge ... ok
[INFO] [stdout] test graph::analysis::tests::test_downstream_from_leaf ... ok
[INFO] [stdout] test graph::analysis::tests::test_downstream_from_middle ... ok
[INFO] [stdout] test graph::analysis::tests::test_diff_empty_graphs ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_dag_empty ... ok
[INFO] [stdout] test graph::analysis::tests::test_in_degree ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_dag_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_dag_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_reachable_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_downstream_from_root ... ok
[INFO] [stdout] test graph::analysis::tests::test_extract_subgraph_empty_nodes ... ok
[INFO] [stdout] test graph::analysis::tests::test_longest_path_no_path ... ok
[INFO] [stdout] test graph::analysis::tests::test_longest_path_with_extra_path ... ok
[INFO] [stdout] test graph::analysis::tests::test_disconnected_components ... ok
[INFO] [stdout] test graph::analysis::tests::test_metrics_disconnected ... ok
[INFO] [stdout] test graph::analysis::tests::test_metrics_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_longest_path_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_metrics_to_json ... ok
[INFO] [stdout] test graph::analysis::tests::test_self_loop_not_dag ... ok
[INFO] [stdout] test graph::analysis::tests::test_out_degree ... ok
[INFO] [stdout] test graph::analysis::tests::test_self_loop_in_out_degree ... ok
[INFO] [stdout] test graph::analysis::tests::test_shortest_path_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_shortest_path_no_path ... ok
[INFO] [stdout] test graph::analysis::tests::test_shortest_path_diamond ... ok
[INFO] [stdout] test checkpoint::serializer::tests::test_serializer_large_value ... ok
[INFO] [stdout] test graph::analysis::tests::test_shortest_path_same_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_single_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_sources_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_ascii_contains_edges ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_ascii_contains_sources_and_sinks ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_ascii_contains_node_count ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_ascii_header ... ok
[INFO] [stdout] test graph::analysis::tests::test_sinks_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_sinks_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_sources_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_dot_contains_digraph ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_dot_empty_graph ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_reachable_nonexistent ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_dot_contains_nodes ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_reachable_same_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_topological_sort_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_metrics_diamond ... ok
[INFO] [stdout] test graph::analysis::tests::test_topological_sort_linear ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_mermaid_contains_edges ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_mermaid_contains_nodes ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_mermaid_header ... ok
[INFO] [stdout] test graph::analysis::tests::test_topological_sort_cyclic_error ... ok
[INFO] [stdout] test graph::annotations::tests::test_apply_annotations_merges_with_reducers ... ok
[INFO] [stdout] test graph::annotations::tests::test_default_values_applied ... ok
[INFO] [stdout] test graph::annotations::tests::test_basic_annotated_state_with_required_fields ... ok
[INFO] [stdout] test graph::annotations::tests::test_json_type_matches ... ok
[INFO] [stdout] test graph::annotations::tests::test_description_metadata ... ok
[INFO] [stdout] test graph::annotations::tests::test_messages_field_shortcut ... ok
[INFO] [stdout] test graph::annotations::tests::test_optional_fields_pass_when_absent ... ok
[INFO] [stdout] test graph::annotations::tests::test_multiple_field_types ... ok
[INFO] [stdout] test graph::annotations::tests::test_validation_catches_missing_required_field ... ok
[INFO] [stdout] test graph::annotations::tests::test_validation_catches_wrong_type ... ok
[INFO] [stdout] test graph::annotations::tests::test_validation_rejects_non_object_state ... ok
[INFO] [stdout] test graph::annotations::tests::test_required_field_with_default_passes ... ok
[INFO] [stdout] test graph::annotations::tests::test_builder_pattern_fluent_api ... ok
[INFO] [stdout] test graph::ascii::tests::test_minimal_node_style ... ok
[INFO] [stdout] test graph::ascii::tests::test_horizontal_rendering ... ok
[INFO] [stdout] test graph::ascii::tests::test_compact_mode ... ok
[INFO] [stdout] test checkpoint::store::tests::test_store_value_update ... ok
[INFO] [stdout] test graph::ascii::tests::test_edge_labels_displayed ... ok
[INFO] [stdout] test graph::ascii::tests::test_graph_with_cycle ... ok
[INFO] [stdout] test graph::ascii::tests::test_start_and_end_nodes ... ok
[INFO] [stdout] test graph::ascii::tests::test_wide_graph_many_parallel ... ok
[INFO] [stdout] test graph::ascii::tests::test_empty_graph ... ok
[INFO] [stdout] test graph::ascii::tests::test_simple_linear_graph ... ok
[INFO] [stdout] test graph::ascii::tests::test_single_node_graph ... ok
[INFO] [stdout] test graph::audit::tests::test_audit_report_generation ... ok
[INFO] [stdout] test graph::ascii::tests::test_render_with_options_customization ... ok
[INFO] [stdout] test graph::analysis::tests::test_to_dot_contains_edges ... ok
[INFO] [stdout] test graph::ascii::tests::test_to_ascii_helper ... ok
[INFO] [stdout] test graph::annotations::tests::test_annotated_state_graph_integration ... ok
[INFO] [stdout] test graph::audit::tests::test_audit_trail_trace_node ... ok
[INFO] [stdout] test graph::audit::tests::test_clear_log ... ok
[INFO] [stdout] test graph::audit::tests::test_filter_by_event_type ... ok
[INFO] [stdout] test graph::audit::tests::test_event_counts_by_type ... ok
[INFO] [stdout] test graph::audit::tests::test_min_severity_filtering ... ok
[INFO] [stdout] test graph::audit::tests::test_filter_by_node_name ... ok
[INFO] [stdout] test graph::audit::tests::test_audit_trail_find_errors ... ok
[INFO] [stdout] test graph::audit::tests::test_max_events_rolling_buffer ... ok
[INFO] [stdout] test graph::audit::tests::test_disabled_log ... ok
[INFO] [stdout] test graph::audit::tests::test_audit_trail_trace_graph_execution ... ok
[INFO] [stdout] test graph::audit::tests::test_export_json ... ok
[INFO] [stdout] test graph::audit::tests::test_state_capture_in_events ... ok
[INFO] [stdout] test graph::audit::tests::test_time_range_filtering ... ok
[INFO] [stdout] test graph::branch::tests::test_branch_single_route ... ok
[INFO] [stdout] test graph::branch::tests::test_branch_unmapped_key_passes_through ... ok
[INFO] [stdout] test graph::audit::tests::test_node_activity_in_report ... ok
[INFO] [stdout] test graph::branch::tests::test_async_branch_with_path_map ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_abort_action ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_after_node_matches ... ok
[INFO] [stdout] test graph::branch::tests::test_branch_multiple_routes ... ok
[INFO] [stdout] test graph::branch::tests::test_branch_sends ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_always_matches_any_node ... ok
[INFO] [stdout] test graph::analysis::tests::test_metrics_empty_graph ... ok
[INFO] [stdout] test graph::ascii::tests::test_single_branch ... ok
[INFO] [stdout] test graph::branch::tests::test_branch_with_path_map ... ok
[INFO] [stdout] test graph::audit::tests::test_record_and_retrieve_events ... ok
[INFO] [stdout] test graph::branch::tests::test_async_branch_single_route ... ok
[INFO] [stdout] test graph::audit::tests::test_text_search ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_breakpoint_state_enum ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_auto_approve_handler ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_before_node_matches ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_clear_breakpoints ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_handle_breakpoint_delegates ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_event_state_snapshot ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_handle_breakpoint_no_handler ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_conditional_true ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_remove_does_not_affect_always ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_edge_conditional_debug ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_skip_action ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_remove_breakpoint ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_conditional_wrong_node ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_handler_error_propagates ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_list_breakpoints ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_before_node_no_match ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_logging_handler ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_conditional_false ... ok
[INFO] [stdout] test graph::analysis::tests::test_extract_subgraph ... ok
[INFO] [stdout] test graph::analysis::tests::test_is_not_dag_cyclic ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_continue_with_state_action ... ok
[INFO] [stdout] test graph::breakpoint::tests::test_history_records_events ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_edge_debug ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_add_edge ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_edge_direct_source ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_add_node ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_debug ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_new ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_edge_conditional_source ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_node_names_sorted ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_set_finish_point_dedup ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_node_debug ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_node_execute_error ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_graph_set_finish_point ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_node_execute_passthrough ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiler_compile_conditional ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiler_compile_linear ... ok
[INFO] [stdout] test graph::compiled::tests::test_deep_merge_objects ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiler_default ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_node_execute_transform ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_build_finish_not_a_node ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_build_no_nodes ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_build_entry_not_a_node ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_build_valid ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_debug ... ok
[INFO] [stdout] test graph::compiled::tests::test_deep_merge_nested ... ok
[INFO] [stdout] test graph::compiled::tests::test_deep_merge_non_object ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_name ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_default ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_new_empty ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_record ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_record_multiple ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_with_duration ... ok
[INFO] [stdout] test graph::compiled::tests::test_execution_log_to_json ... ok
[INFO] [stdout] test graph::compiled::tests::test_has_cycle_linear ... ok
[INFO] [stdout] test graph::compiled::tests::test_has_cycle_self_loop ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_conditional_edge_branch_a ... ok
[INFO] [stdout] test graph::compiled::tests::test_has_cycle_with_cycle ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_conditional_unknown_target_stops ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_conditional_edge_branch_b ... ok
[INFO] [stdout] test graph::compiled::tests::test_definition_builder_build_no_entry ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_error_propagation ... ok
[INFO] [stdout] test graph::compiled::tests::test_compiled_node_new_and_name ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_linear_a_b_c ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_single_node ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_state_threading ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_preserves_input_fields ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_stops_at_no_edges ... ok
[INFO] [stdout] test graph::compiled::tests::test_invoke_with_log ... ok
[INFO] [stdout] test graph::compiled::tests::test_multiple_finish_points ... ok
[INFO] [stdout] test graph::compiled::tests::test_reachable_from_disconnected ... ok
[INFO] [stdout] test graph::compiled::tests::test_reachable_from_linear ... ok
[INFO] [stdout] test graph::compiled::tests::test_to_mermaid_conditional ... ok
[INFO] [stdout] test graph::compiled::tests::test_to_mermaid_no_edges ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_missing_conditional_target ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_missing_edge_source ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_missing_edge_target ... ok
[INFO] [stdout] test graph::compiled::tests::test_to_mermaid_basic ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_missing_entry_point ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_missing_finish_point_node ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_valid_graph ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_no_finish_points_ok ... ok
[INFO] [stdout] test graph::conditional::tests::conditional_edge_evaluate ... ok
[INFO] [stdout] test graph::conditional::tests::empty_router_route_returns_error ... ok
[INFO] [stdout] test graph::conditional::tests::conditional_edge_source_getter ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_bool_value ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_exact_match ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_missing_field ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_no_match_with_default ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_no_match_no_default ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_null_value ... ok
[INFO] [stdout] test graph::conditional::tests::conditional_edge_error_propagation ... ok
[INFO] [stdout] test graph::conditional::tests::full_routing_workflow ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_second_match ... ok
[INFO] [stdout] test graph::compiled::tests::test_validate_unreachable_finish_point ... ok
[INFO] [stdout] test graph::conditional::tests::field_condition_numeric_value ... ok
[INFO] [stdout] test graph::conditional::tests::multi_condition_first_match ... ok
[INFO] [stdout] test graph::conditional::tests::multi_condition_first_match_semantics ... ok
[INFO] [stdout] test graph::conditional::tests::multi_condition_no_match_no_default ... ok
[INFO] [stdout] test graph::conditional::tests::multi_condition_no_match_with_default ... ok
[INFO] [stdout] test graph::conditional::tests::multi_condition_second_match ... ok
[INFO] [stdout] test graph::conditional::tests::predicate_condition_complex_logic ... ok
[INFO] [stdout] test graph::conditional::tests::router_len_and_is_empty ... ok
[INFO] [stdout] test graph::conditional::tests::predicate_condition_false_path ... ok
[INFO] [stdout] test graph::conditional::tests::predicate_condition_missing_field_defaults_false ... ok
[INFO] [stdout] test graph::conditional::tests::predicate_condition_true_path ... ok
[INFO] [stdout] test graph::conditional::tests::router_edges_from ... ok
[INFO] [stdout] test graph::conditional::tests::router_multiple_edges_same_source_uses_first ... ok
[INFO] [stdout] test graph::conditional::tests::router_route_no_edge_for_source ... ok
[INFO] [stdout] test graph::conditional::tests::router_sources ... ok
[INFO] [stdout] test graph::conditional::tests::router_route_basic ... ok
[INFO] [stdout] test graph::conditional::tests::routing_decision_to_json ... ok
[INFO] [stdout] test graph::conditional::tests::router_has_route ... ok
[INFO] [stdout] test graph::conditional::tests::empty_router_has_no_sources ... ok
[INFO] [stdout] test graph::conditional::tests::routing_table_clear ... ok
[INFO] [stdout] test graph::conditional::tests::routing_table_record_and_query ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_above ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_equal_no_equal_target ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_below ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_integer_value ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_equal_with_equal_target ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_negative_values ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_missing_field ... ok
[INFO] [stdout] test graph::conditional::tests::threshold_condition_non_numeric_field ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_iteration ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_display ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_custom ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_state_change_present ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_state_change_absent ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_always ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_value_missing_key ... ok
[INFO] [stdout] test graph::conditional::tests::routing_table_decisions_from ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_new ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_record_hit ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_value_no_match ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_should_break_disabled ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_enable_disable ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_should_break_no_condition ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_should_break_on_iteration ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_on_value_condition ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_to_json ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_to_json_with_condition ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_should_break_always ... ok
[INFO] [stdout] test graph::debug::tests::test_count_fields_flat ... ok
[INFO] [stdout] test graph::debug::tests::test_count_fields_nested ... ok
[INFO] [stdout] test graph::debug::tests::test_compute_depth_array ... ok
[INFO] [stdout] test graph::debug::tests::test_count_fields_array ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_clear_breakpoints ... ok
[INFO] [stdout] test graph::debug::tests::test_compute_depth_empty_object ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_default ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_add_breakpoint ... ok
[INFO] [stdout] test graph::debug::tests::test_compute_depth_flat_object ... ok
[INFO] [stdout] test graph::debug::tests::test_compute_depth_nested ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_value_display ... ok
[INFO] [stdout] test graph::debug::tests::test_break_condition_on_value_match ... ok
[INFO] [stdout] test graph::debug::tests::test_compute_depth_scalar ... ok
[INFO] [stdout] test graph::debug::tests::test_breakpoint_with_condition ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_disabled_breakpoint_no_trigger ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_execution_history ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_is_breakpoint_false ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_is_breakpoint_increments_hit ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_is_breakpoint_true ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_new ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_record_step ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_remove_breakpoint ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_remove_nonexistent ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_session_replace_breakpoint ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_step_complete ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_step_new ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_step_to_json_incomplete ... ok
[INFO] [stdout] test graph::debug::tests::test_debug_step_to_json ... ok
[INFO] [stdout] test graph::debug::tests::test_count_fields_empty ... ok
[INFO] [stdout] test graph::debug::tests::test_delta_type_display ... ok
[INFO] [stdout] test graph::debug::tests::test_delta_type_eq ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_average_time ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_average_time_missing ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_default ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_end_node_without_start ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_multiple_runs ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_new ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_start_end_node ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_slowest_node ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_to_json_empty ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_slowest_node_empty ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_to_json ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_to_json_slowest ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_default ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_diff_added ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_diff_multiple ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_diff_removed ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_diff_no_change ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_inspect_non_object ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_estimated_size ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_inspect_with_array ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_watch_key ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_new ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_watch_key_dedup ... ok
[INFO] [stdout] test graph::debug::tests::test_state_report_to_json ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_action_abort ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_inspect_empty ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_action_modify_state ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_action_continue ... ok
[INFO] [stdout] test graph::debug::tests::test_state_delta_display_added ... ok
[INFO] [stdout] test graph::debug::tests::test_state_delta_display_modified ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_inspect_flat ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_action_skip_node ... ok
[INFO] [stdout] test graph::debug::tests::test_state_delta_display_removed ... ok
[INFO] [stdout] test graph::debug::tests::test_state_delta_to_json ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_watched_values ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_diff_modified ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_phase_clone ... ok
[INFO] [stdout] test graph::debug::tests::test_profiler_total_execution_ms ... ok
[INFO] [stdout] test graph::hooks::tests::test_logging_hook_all_phases ... ok
[INFO] [stdout] test graph::hooks::tests::test_logging_hook_edge_event ... ok
[INFO] [stdout] test graph::hooks::tests::test_multiple_hooks_in_registry ... ok
[INFO] [stdout] test graph::hooks::tests::test_logging_hook_returns_continue ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_default ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_dispatch_abort_short_circuits ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_dispatch_continue ... ok
[INFO] [stdout] test graph::debug::tests::test_state_inspector_inspect_nested ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_unregister ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_hooks_for_phase ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_dispatch_skip_node ... ok
[INFO] [stdout] test graph::hooks::tests::test_snapshot_hook_captures ... ok
[INFO] [stdout] test graph::hooks::tests::test_snapshot_hook_for_node ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_new_is_empty ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_register ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_dispatch_no_matching_hooks ... ok
[INFO] [stdout] test graph::hooks::tests::test_snapshot_hook_ignores_no_node ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_context_builder ... ok
[INFO] [stdout] test graph::hooks::tests::test_snapshot_hook_clear ... ok
[INFO] [stdout] test graph::hooks::tests::test_state_validation_passes ... ok
[INFO] [stdout] test graph::hooks::tests::test_snapshot_hook_phases ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_context_with_edge ... ok
[INFO] [stdout] test graph::hooks::tests::test_state_validation_non_object_state ... ok
[INFO] [stdout] test graph::hooks::tests::test_state_validation_empty_keys ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_error_propagation ... ok
[INFO] [stdout] test graph::hooks::tests::test_state_validation_missing_key ... ok
[INFO] [stdout] test graph::hooks::tests::test_timing_hook_multiple_invocations ... ok
[INFO] [stdout] test graph::hooks::tests::test_registry_dispatch_modify_state ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_config_builder_basic ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_config_builder_review_nodes_bulk ... ok
[INFO] [stdout] test graph::hooks::tests::test_timing_hook_phases ... ok
[INFO] [stdout] test graph::hooks::tests::test_timing_hook_total_durations ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_approve_and_complete ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_config_default ... ok
[INFO] [stdout] test graph::hooks::tests::test_hook_phase_equality ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_edit_state_before_continuing ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_added_to_state ... ok
[INFO] [stdout] test graph::hooks::tests::test_state_validation_phases ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_execute_to_completion_auto_approve ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_execute_to_completion_with_reject ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_approval_request_contains_correct_state ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_config_builder_with_policy ... ok
[INFO] [stdout] test graph::hooks::tests::test_timing_hook_records_duration ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_approval_rate_all_approved ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_approval_rate_mixed ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_approval_rate_none_approved ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_by_node ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_by_node_no_node_name ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_approved_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_default ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_new_empty ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_recent ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_modified_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_rejected ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_rejected_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_recent_empty ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_record_and_len ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_modified ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_approved ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_new ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_with_node_name ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_feedback_log_recent_more_than_available ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_with_reviewer ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_timeout ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_always_approve ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_timeout_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_no_interrupt_nodes_normal_execution ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_builder_chain ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_auto_approve_if_false ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_auto_approve_if_missing_field ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_auto_approve_if_true ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_multiple_approval_points ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_always_reject ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_debug_format ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_policy_require_human ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_approval_request_builder_basic ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_approval_request_builder_with_metadata ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_approval_request_builder_with_timeout ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_approval_request_default_proposed_value ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_apply_rejected ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_reject_execution ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_request_approval ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_apply_approved ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_fifo_order ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_peek ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_resolve_existing ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_default ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_multiple_resolve ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_dequeue_empty ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_new_empty ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_apply_modified ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_debug ... ok
[INFO] [stdout] test graph::interrupt::tests::test_auto_resume_handler ... ok
[INFO] [stdout] test graph::interrupt::tests::test_auto_resume_handler_with_options ... ok
[INFO] [stdout] test graph::interrupt::tests::test_default_option_handler_single_option ... ok
[INFO] [stdout] test graph::interrupt::tests::test_default_option_handler_empty_options ... ok
[INFO] [stdout] test graph::interrupt::tests::test_default_option_handler_with_options ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_after_node_display ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_before_node_display ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_manual_display ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_conditional_display ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_resolve_nonexistent ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_point_apply_timeout ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_approval_request_to_json ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_review_queue_enqueue_dequeue ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_node_name_after ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_node_name_before ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_node_name_manual ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_node_name_conditional ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_node_name_timeout ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_clear ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_default ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_entries_for_node ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_multiple_actions_recorded ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_record_and_entries ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_new_empty ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_add_interrupt ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_clear ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_default ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_handler_error_propagates ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_should_interrupt_after ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_should_interrupt_before ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_and_log_integration ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_new_empty ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_should_interrupt_conditional ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_should_interrupt_manual_never_matches ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_trigger_global_handler ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_trigger_no_handler ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_trigger_per_node_handler_override ... ok
[INFO] [stdout] test graph::interrupt::tests::test_multiple_interrupt_points ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_builder_chain ... ok
[INFO] [stdout] test graph::interrupt::tests::test_log_entries_for_manual_interrupt ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_new ... ok
[INFO] [stdout] test graph::interrupt::tests::test_manager_pending_interrupts ... ok
[INFO] [stdout] test graph::interrupt::tests::test_interrupt_type_timeout_display ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_with_message ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_with_options ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_to_json ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_continue_not_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_abort_is_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_select_option_not_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_continue_with_state_not_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_payload_to_json_no_message ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_retry_not_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_resume_action_skip_not_terminal ... ok
[INFO] [stdout] test graph::interrupt::tests::test_timeout_handler_within_timeout ... ok
[INFO] [stdout] test graph::interrupts::tests::test_handler_on_interrupt_auto_approve ... ok
[INFO] [stdout] test graph::interrupts::tests::test_full_interrupt_lifecycle ... ok
[INFO] [stdout] test graph::interrupts::tests::test_handler_on_interrupt_pause ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_action_auto_approve ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_action_auto_reject ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_action_pause ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_action_timeout ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_approval_name ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_approval_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_custom_display ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_approval_display ... ok
[INFO] [stdout] test graph::interrupts::tests::test_handler_on_resume ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_input_display ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_input_name ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_input_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_review_display ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_review_name ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_review_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_default ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_custom_name ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_filter_by_node ... ok
[INFO] [stdout] test graph::interrupts::tests::test_interrupt_type_custom_to_json ... ok
[INFO] [stdout] test graph::interrupt::tests::test_timeout_handler_exceeded ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_record_request ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_mixed_events ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_record_response ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_always_interrupt ... ok
[INFO] [stdout] test graph::interrupts::tests::test_multiple_requests_lifecycle ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_conditional_interrupt ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_combined ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_interrupt_after ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_log_new_empty ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_interrupt_before ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_with_timeout ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_dequeue_empty ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_enqueue_dequeue ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_multiple_before ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_fifo_order ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_get_response_none ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_new_empty ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_peek ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_pending_count ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_new_empty ... ok
[INFO] [stdout] test graph::interrupts::tests::test_policy_no_match ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_respond_success ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_feedback_with_feedback_text ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_respond_unknown_id ... ok
[INFO] [stdout] test graph::interrupts::tests::test_queue_responded_count ... ok
[INFO] [stdout] test graph::interrupts::tests::test_request_input_type ... ok
[INFO] [stdout] test graph::interrupts::tests::test_request_new ... ok
[INFO] [stdout] test graph::interrupts::tests::test_request_to_json ... ok
[INFO] [stdout] test graph::interrupts::tests::test_request_unique_ids ... ok
[INFO] [stdout] test graph::interrupts::tests::test_request_with_context ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_approve ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_approve_with_data ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_reject ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_responder_field ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_to_json_approve ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_to_json_reject ... ok
[INFO] [stdout] test graph::interrupts::tests::test_response_to_json_with_data ... ok
[INFO] [stdout] test graph::interrupts::tests::test_timeout_policy_default_timeout ... ok
[INFO] [stdout] test graph::interrupts::tests::test_timeout_policy_is_expired_nonzero ... ok
[INFO] [stdout] test graph::interrupts::tests::test_timeout_policy_is_expired_zero_timeout ... ok
[INFO] [stdout] test graph::interrupts::tests::test_timeout_policy_multiple_overrides ... ok
[INFO] [stdout] test graph::interrupts::tests::test_timeout_policy_per_node_override ... ok
[INFO] [stdout] test graph::mermaid::tests::test_conditional_edge_without_path_map ... ok
[INFO] [stdout] test graph::mermaid::tests::test_conditional_edges_with_path_map ... ok
[INFO] [stdout] test graph::mermaid::tests::test_mermaid_url_generation ... ok
[INFO] [stdout] test graph::mermaid::tests::test_multiple_branches_from_same_node ... ok
[INFO] [stdout] test graph::mermaid::tests::test_self_loop_edge ... ok
[INFO] [stdout] test graph::mermaid::tests::test_start_and_end_nodes_have_rounded_shape ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_append ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_empty_left ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_empty_right ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_no_id_always_appends ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_mixed_operations ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_remove_message_variant ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_replace_by_id ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_single_value_not_array ... ok
[INFO] [stdout] test graph::message::tests::test_add_messages_remove ... ok
[INFO] [stdout] test graph::message::tests::test_builder_basic ... ok
[INFO] [stdout] test graph::message::tests::test_builder_conditional_edge ... ok
[INFO] [stdout] test graph::mermaid::tests::test_valid_mermaid_syntax ... ok
[INFO] [stdout] test graph::mermaid::tests::test_simple_linear_graph ... ok
[INFO] [stdout] test graph::message::tests::test_builder_default ... ok
[INFO] [stdout] test graph::message::tests::test_builder_execute_full_pipeline ... ok
[INFO] [stdout] test graph::message::tests::test_builder_no_entry_fails ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_builder_pattern ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_clone ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_is_human ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_is_system ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_is_tool ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_is_ai ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_new ... ok
[INFO] [stdout] test graph::message::tests::test_message_edge_debug ... ok
[INFO] [stdout] test graph::message::tests::test_message_edge_direct_source ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_add_node_and_edge ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_to_json_with_metadata ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_to_json ... ok
[INFO] [stdout] test graph::message::tests::test_graph_message_to_json_minimal ... ok
[INFO] [stdout] test graph::message::tests::test_message_edge_conditional_source ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_basic ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_linear_flow ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_conditional_edge ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_debug ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_no_entry ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_new ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_with_initial_messages ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_validate_edge_target_not_found ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_no_outgoing_edge_stops ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_validate_finish_point_not_found ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_validate_entry_not_found ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_validate_no_entry ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_validate_success ... ok
[INFO] [stdout] test graph::message::tests::test_message_graph_execute_single_node ... ok
[INFO] [stdout] test graph::message::tests::test_message_node_debug ... ok
[INFO] [stdout] test graph::message::tests::test_message_node_execute ... ok
[INFO] [stdout] test graph::message::tests::test_message_node_returns_multiple_messages ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_messages ... ok
[INFO] [stdout] test graph::message::tests::test_message_role_clone ... ok
[INFO] [stdout] test graph::message::tests::test_message_role_display ... ok
[INFO] [stdout] test graph::message::tests::test_message_role_equality ... ok
[INFO] [stdout] test graph::message::tests::test_message_role_from_str ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_add_and_len ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_clear ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_default ... ok
[INFO] [stdout] test graph::human_in_loop::tests::test_human_approval_display ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_filter_by_role ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_filter_by_role_empty_result ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_last ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_last_ai ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_last_human ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_to_json ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_avg_run_duration ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_avg_run_duration_empty ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_durations_combined ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_default ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_error_rate ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_error_rate_empty ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_merge_single ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_merge_multiple ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_new ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_min_max_across_runs ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_top_edges ... ok
[INFO] [stdout] test graph::metrics::tests::aggregator_top_nodes ... ok
[INFO] [stdout] test graph::message::tests::test_message_node_execute_empty_state ... ok
[INFO] [stdout] test graph::message::tests::test_message_role_as_str ... ok
[INFO] [stdout] test graph::metrics::tests::collector_new ... ok
[INFO] [stdout] test graph::metrics::tests::collector_default ... ok
[INFO] [stdout] test graph::metrics::tests::collector_multiple_runs ... ok
[INFO] [stdout] test graph::metrics::tests::collector_snapshot ... ok
[INFO] [stdout] test graph::metrics::tests::collector_history_contains_all_node_data ... ok
[INFO] [stdout] test graph::metrics::tests::export_edge_json ... ok
[INFO] [stdout] test graph::metrics::tests::edge_metrics_new ... ok
[INFO] [stdout] test graph::metrics::tests::edge_metrics_record ... ok
[INFO] [stdout] test graph::metrics::tests::collector_run_lifecycle ... ok
[INFO] [stdout] test graph::metrics::tests::export_graph_metrics_json ... ok
[INFO] [stdout] test graph::metrics::tests::collector_mismatched_finish_ignored ... ok
[INFO] [stdout] test graph::metrics::tests::export_node_json ... ok
[INFO] [stdout] test graph::metrics::tests::export_profile_json ... ok
[INFO] [stdout] test graph::metrics::tests::export_report_json ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_cold_edge_empty ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_bottleneck ... ok
[INFO] [stdout] test graph::metrics::tests::export_roundtrip_report ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_hot_edge_empty ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_edges_by_traversal ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_profile_populated ... ok
[INFO] [stdout] test graph::metrics::tests::full_pipeline_multi_run_aggregation ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_record_edge ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_cold_edge ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_record_node ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_start_and_finish ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_avg_duration ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_new ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_bottleneck_empty ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_error_rate_all ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_hot_edge ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_error_rate_zero ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_last_executed_updates ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_min_max ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_new_defaults ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_p50 ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_avg_duration_empty ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_p95 ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_p99 ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_error_rate_half ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_percentile_single ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_record_error ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_record_success ... ok
[INFO] [stdout] test graph::metrics::tests::profile_record_entries ... ok
[INFO] [stdout] test graph::metrics::tests::report_cold_path ... ok
[INFO] [stdout] test graph::metrics::tests::report_error_rate ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_percentile_empty ... ok
[INFO] [stdout] test graph::metrics::tests::percentile_p0 ... ok
[INFO] [stdout] test graph::metrics::tests::node_metrics_total_duration_accumulates ... ok
[INFO] [stdout] test graph::metrics::tests::percentile_p100 ... ok
[INFO] [stdout] test graph::metrics::tests::profile_default ... ok
[INFO] [stdout] test graph::metrics::tests::profile_execution_order ... ok
[INFO] [stdout] test graph::metrics::tests::profile_new_is_empty ... ok
[INFO] [stdout] test graph::metrics::tests::report_from_aggregator ... ok
[INFO] [stdout] test graph::metrics::tests::report_node_summaries_sorted ... ok
[INFO] [stdout] test graph::metrics::tests::export_aggregator_json ... ok
[INFO] [stdout] test graph::metrics::tests::profile_total_duration ... ok
[INFO] [stdout] test graph::persistent::tests::test_get_history_returns_ordered_list ... ok
[INFO] [stdout] test graph::persistent::tests::test_fork_creates_independent_copy ... ok
[INFO] [stdout] test graph::runner::tests::test_edge_events ... ok
[INFO] [stdout] test graph::metrics::tests::export_roundtrip_graph_metrics ... ok
[INFO] [stdout] test graph::persistent::tests::test_second_invoke_loads_checkpoint ... ok
[INFO] [stdout] test graph::runner::tests::test_basic_run ... ok
[INFO] [stdout] test graph::runner::tests::test_custom_hook ... ok
[INFO] [stdout] test graph::metrics::tests::report_from_graph_metrics ... ok
[INFO] [stdout] test graph::message::tests::test_message_state_new_is_empty ... ok
[INFO] [stdout] test graph::metrics::tests::report_hot_path ... ok
[INFO] [stdout] test graph::runner::tests::test_default_config ... ok
[INFO] [stdout] test graph::persistent::tests::test_get_state_returns_latest ... ok
[INFO] [stdout] test graph::persistent::tests::test_invoke_fresh_ignores_checkpoint ... ok
[INFO] [stdout] test graph::metrics::tests::graph_metrics_nodes_by_duration ... ok
[INFO] [stdout] test graph::persistent::tests::test_invoke_saves_checkpoint ... ok
[INFO] [stdout] test graph::metrics::tests::full_pipeline_single_run ... ok
[INFO] [stdout] test graph::runner::tests::test_error_event ... ok
[INFO] [stdout] test graph::runner::tests::test_events_collected ... ok
[INFO] [stdout] test graph::runner::tests::test_hook_receives_events ... ok
[INFO] [stdout] test graph::runner::tests::test_max_steps_event ... ok
[INFO] [stdout] test graph::runner::tests::test_recursion_limit ... ok
[INFO] [stdout] test graph::runner::tests::test_step_count ... ok
[INFO] [stdout] test graph::send::tests::test_fan_in_merges_results ... ok
[INFO] [stdout] test graph::runner::tests::test_logging_hook ... ok
[INFO] [stdout] test graph::runner::tests::test_step_count_resets ... ok
[INFO] [stdout] test graph::send::tests::test_deep_merge_empty ... ok
[INFO] [stdout] test graph::send::tests::test_fan_out_different_inputs_per_node ... ok
[INFO] [stdout] test graph::runner::tests::test_metrics_total_durations ... ok
[INFO] [stdout] test graph::runner::tests::test_run_config_builder ... ok
[INFO] [stdout] test graph::send::tests::test_deep_merge_non_objects ... ok
[INFO] [stdout] test graph::runner::tests::test_max_steps_reached ... ok
[INFO] [stdout] test graph::runner::tests::test_single_node ... ok
[INFO] [stdout] test graph::runner::tests::test_multiple_hooks ... ok
[INFO] [stdout] test graph::send::tests::test_fan_in_custom_merge ... ok
[INFO] [stdout] test graph::runner::tests::test_metrics_hook_durations ... ok
[INFO] [stdout] test graph::send::tests::test_fan_out_executes_nodes_in_parallel ... ok
[INFO] [stdout] test graph::serialization::tests::test_edge_type_as_str ... ok
[INFO] [stdout] test graph::send::tests::test_fan_out_empty_commands ... ok
[INFO] [stdout] test graph::send::tests::test_send_to_convenience ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_deserialize_invalid_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_edge_type_display ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_changes_has_changes_false ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_json_serialize ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_compact_serialize ... ok
[INFO] [stdout] test graph::send::tests::test_map_reduce_graph_with_concurrency_limit ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_compact_deserialize ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_changes_has_changes_true ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_builder ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_changes_has_changes_with_modified_only ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_yaml_serialize ... ok
[INFO] [stdout] test graph::send::tests::test_map_reduce_multi_step ... ok
[INFO] [stdout] test graph::send::tests::test_map_reduce_graph_basic ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_changes_has_changes_with_edges_only ... ok
[INFO] [stdout] test graph::serialization::tests::test_format_json_deserialize ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_changes_to_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_edge_direct_to_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_empty_graph ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_from_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_edge_from_json_missing_field ... ok
[INFO] [stdout] test graph::send::tests::test_send_command_creation_and_fields ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_from_json_invalid ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_json_round_trip ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_no_description_skipped ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_to_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_edge_conditional_to_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_graph_def_to_pretty_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_edge_json_round_trip ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_edge_with_label ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_node_empty_config ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_node_from_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_node_from_json_missing_field ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_parameter_substitution ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_node_json_round_trip ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_with_parameter ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_substitution_in_metadata ... ok
[INFO] [stdout] test graph::serialization::tests::test_serialized_node_to_json ... ok
[INFO] [stdout] test graph::serialization::tests::test_substitute_nested_array ... ok
[INFO] [stdout] test graph::serialization::tests::test_substitute_nested_object ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_default_parameter_used ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_from_definition ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_instantiate_no_params ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_new ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_no_placeholder_unchanged ... ok
[INFO] [stdout] test graph::serialization::tests::test_template_numeric_substitution ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_added_edge ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_added_node ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_to_definition_captures_nodes_and_edges ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_modified_node ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_to_mermaid_from_definition ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_validate_catches_invalid_edge_target ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_no_changes ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_nonexistent_version ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_diff_removed_node ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_get_nonexistent ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_validate_catches_invalid_entry_point ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_latest ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_new_is_empty ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_save_and_get ... ok
[INFO] [stdout] test graph::serialization::tests::test_versioning_version_list ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_graph_registry ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_json_round_trip ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_validate_warns_orphan_nodes ... ok
[INFO] [stdout] test graph::serialize::tests::test_serialize_save_load_file ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_diff_added_removed_changed ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_diff_empty_states ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_is_equivalent_false ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_diff_non_object_states ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_is_equivalent_true ... ok
[INFO] [stdout] test graph::snapshot::tests::test_comparator_diff_identical ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_diff_steps_missing ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_execution_path ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_diff_steps ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_goto_step_missing ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_execution_path_empty ... ok
[INFO] [stdout] test graph::snapshot::tests::test_same_state_different_snapshots_equivalent ... ok
[INFO] [stdout] test graph::snapshot::tests::test_full_workflow_save_navigate_diff ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_is_not_empty_with_added ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_goto_step ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_summary_added_only ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_summary_no_differences ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_rewind ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_summary_with_all_kinds ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_to_json ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_id_display ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_id_default_generates_id ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_goto_snapshot ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_id_from_str_roundtrip ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_id_equality ... ok
[INFO] [stdout] test graph::snapshot::tests::test_debugger_rewind_empty_store ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_diff_is_empty ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_id_new_generates_unique_ids ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_clear ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_get_by_node ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_to_json_with_parent ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_get_by_step ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_capacity_eviction ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_get_missing ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_history_order ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_latest ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_new_is_empty ... ok
[INFO] [stdout] test graph::snapshot::tests::test_snapshot_store_save_and_get ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_new ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_state_diff ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_state_diff_changed ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_with_metadata ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_default_when_no_match ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_different_inputs_route_differently ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_multiple_routes ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_mermaid_conditional_without_path_map ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_routes_to_correct_node ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_to_json ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_mermaid_interrupt_style ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_mermaid_conditional_edges_with_path_map ... ok
[INFO] [stdout] test graph::snapshot::tests::test_state_snapshot_with_parent ... ok
[INFO] [stdout] test graph::snapshot::tests::test_store_with_max_one_keeps_only_latest ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_to_json_structure ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_no_match_no_default_uses_key ... ok
[INFO] [stdout] test graph::state::tests::test_add_edges_join ... ok
[INFO] [stdout] test graph::state::tests::test_add_sequence ... ok
[INFO] [stdout] test graph::state::tests::test_add_node_with_full_config ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_path_map_with_string_keys ... ok
[INFO] [stdout] test graph::state::tests::test_compile_unknown_edge_source ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_conditional_entry_full_graph_integration ... ok
[INFO] [stdout] test graph::state::tests::test_compile_no_entry_point ... ok
[INFO] [stdout] test graph::state::tests::test_branching_graph ... ok
[INFO] [stdout] test graph::state::tests::test_compile_unknown_edge_target ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_regular_entry_point_still_works ... ok
[INFO] [stdout] test graph::state::tests::test_conditional_with_path_map ... ok
[INFO] [stdout] test graph::state::tests::test_cycle_with_recursion_limit ... ok
[INFO] [stdout] test graph::state::tests::test_interrupt_no_interrupt_normal_flow ... ok
[INFO] [stdout] test graph::state::tests::test_interrupt_before ... ok
[INFO] [stdout] test graph::state::tests::test_node_spec_with_cache_policy ... ok
[INFO] [stdout] test graph::state::tests::test_node_names ... ok
[INFO] [stdout] test graph::state::tests::test_interrupt_resume_after_interrupt ... ok
[INFO] [stdout] test graph::state::tests::test_interrupt_resume_with_update ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_mermaid_simple_linear_graph ... ok
[INFO] [stdout] test graph::state::tests::test_recursion_limit_exceeded ... ok
[INFO] [stdout] test graph::state::mermaid_tests::test_mermaid_png_wrapping ... ok
[INFO] [stdout] test graph::state::tests::test_linear_graph ... ok
[INFO] [stdout] test graph::state::tests::test_schema_accessors ... ok
[INFO] [stdout] test graph::state::tests::test_node_spec_defer ... ok
[INFO] [stdout] test graph::state::tests::test_set_conditional_entry_point ... ok
[INFO] [stdout] test graph::state::tests::test_send_with_different_inputs ... ok
[INFO] [stdout] test graph::state::tests::test_single_node_graph ... ok
[INFO] [stdout] test graph::state::tests::test_state_merging ... ok
[INFO] [stdout] test graph::state::tests::test_stream_debug_mode ... ok
[INFO] [stdout] test graph::state::tests::test_interrupt_after ... ok
[INFO] [stdout] test graph::state::tests::test_stream_conditional_routing ... ok
[INFO] [stdout] test graph::state::tests::test_send_fan_out_to_worker ... ok
[INFO] [stdout] test graph::state::tests::test_stream_two_node_graph ... ok
[INFO] [stdout] test graph::state::tests::test_subgraph_in_conditional_branch ... ok
[INFO] [stdout] test graph::state::tests::test_sync_node_action ... ok
[INFO] [stdout] test graph::state::tests::test_send_map_reduce ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_fork_from_nonexistent_checkpoint_fails ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_get_state_history_empty_for_unknown_thread ... ok
[INFO] [stdout] test graph::state::tests::test_stream_values_mode ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_fork_creates_independent_thread ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_get_state_history_lists_all_checkpoints ... ok
[INFO] [stdout] test graph::state::tests::test_stream_updates_mode ... ok
[INFO] [stdout] test graph::state::tests::test_subgraph_state_passthrough ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_replay_from_checkpoint ... ok
[INFO] [stdout] test graph::state::tests::time_travel::test_replay_from_nonexistent_checkpoint_fails ... ok
[INFO] [stdout] test graph::state::tests::test_subgraph_simple ... ok
[INFO] [stdout] test graph::state_machine::tests::builder_guarded_transition ... ok
[INFO] [stdout] test graph::state_machine::tests::builder_run_through ... ok
[INFO] [stdout] test graph::state_machine::tests::builder_simple ... ok
[INFO] [stdout] test graph::state_machine::tests::history_new_empty ... ok
[INFO] [stdout] test graph::state_machine::tests::history_record_and_retrieve ... ok
[INFO] [stdout] test graph::state_machine::tests::history_path ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_is_finished_true ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_multiple_actions_accumulate ... ok
[INFO] [stdout] test graph::state_machine::tests::history_multiple_records ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_add_final_state ... ok
[INFO] [stdout] test graph::state_machine::tests::history_step_increments ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_reset_after_run ... ok
[INFO] [stdout] test graph::state_machine::tests::history_path_empty ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_debug_format ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_run_stops_at_dead_end ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_run_with_context_mutation ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_add_state ... ok
[INFO] [stdout] test graph::state_machine::tests::history_to_json ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_run_already_at_final ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_no_transitions_at_all ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_reset ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_is_finished_false ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_run_guard_driven ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_run_linear ... ok
[INFO] [stdout] test graph::state_machine::tests::builder_empty_initial_error ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_new_sets_initial ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_already_finished ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_guard_blocks ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_invalid_target ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_no_transition ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_skips_first_guard_fails ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_creation ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_equality ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_from_string ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_clone ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_can_transition_no_guard ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_hash_consistency ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_debug_format ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_new ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_guard_and_action_combined ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_with_action ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_record_to_json ... ok
[INFO] [stdout] test graph::state_machine::tests::builder_chaining_preserves_order ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_multiple_errors ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_with_guard_pass ... ok
[INFO] [stdout] test graph::state_machine::tests::transition_with_guard_fail ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_executes_action ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_all_reachable_complex ... ok
[INFO] [stdout] test graph::state_machine::tests::state_id_display ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_first_matching_transition_wins ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_guard_passes ... ok
[INFO] [stdout] test graph::state_machine::tests::machine_step_simple ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_no_final_state ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_transition_to_unknown_state ... ok
[INFO] [stdout] test graph::stream_events::tests::test_event_collector_success ... ok
[INFO] [stdout] test graph::stream_events::tests::test_conditional_graph_takes_branch_a ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_unreachable_state ... ok
[INFO] [stdout] test graph::stream_events::tests::test_node_start_end_pairs ... ok
[INFO] [stdout] test graph::state_machine::tests::validator_valid_machine ... ok
[INFO] [stdout] test graph::stream_events::tests::test_graph_start_end_wrap_node_events ... ok
[INFO] [stdout] test graph::stream_events::tests::test_state_updates_reflect_changes ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_get_final_state ... ok
[INFO] [stdout] test graph::stream_events::tests::test_event_collector_propagates_error ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_cloned_writer_sees_close ... ok
[INFO] [stdout] test graph::stream_events::tests::test_multi_node_event_ordering ... ok
[INFO] [stdout] test graph::stream_events::tests::test_node_error_event ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_close_marks_closed ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_get_node_outputs ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_integration ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_add_chunk ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_chunk_serialization ... ok
[INFO] [stdout] test graph::stream_events::tests::test_linear_graph_event_sequence ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_reader_terminates_on_writer_drop ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_write_after_close_errors ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_reader_sees_writer_closed ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_get_chunks_by_step ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_new_empty ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_filter_by_mode ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_collector_no_values_chunks ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_filter_by_node ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_filter_yields_empty_when_no_match ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_multiple_chunks_order ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_reader_as_stream ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_write_and_read_single_chunk ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_default ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_execution_order ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_writer_clone_sends_to_same_channel ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_from_collector ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_write_update_convenience ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_to_json ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_ignores_irrelevant_types ... ok
[INFO] [stdout] test graph::streaming::tests::test_chunk_type_display ... ok
[INFO] [stdout] test graph::streaming::tests::test_chunk_type_name ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_process_node_output ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_process_state_update ... ok
[INFO] [stdout] test graph::streaming::tests::test_aggregator_new ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_chunks_for_node ... ok
[INFO] [stdout] test graph::stream_writer::tests::test_write_value_convenience ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_clear ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_default ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_errors_empty ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_errors ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_latest_state ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_push_assigns_sequence ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_default ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_exclude_multiple_types ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_filter_replay_integration ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_exclude_type ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_multiple_nodes ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_no_criteria_passes_all ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_by_node ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_default ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_new_is_empty ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_node_ids ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_by_type ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_new ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_from_collector ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_to_json ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_total_duration ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_no_duration_without_start ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_empty ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_reset ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_peek ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_skip_to_node_not_found ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_skip_to_node ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_chunk_new ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_chunk_to_json ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_record_counts ... ok
[INFO] [stdout] test graph::streaming::tests::test_replay_basic ... ok
[INFO] [stdout] test graph::streaming::tests::test_collector_latest_state_none ... ok
[INFO] [stdout] test graph::streaming::tests::test_filter_by_node_and_type ... ok
[INFO] [stdout] test graph::streaming::tests::test_metrics_node_durations ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_mode_equality ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_by_node ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_mode_to_json ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_by_node_and_type ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_mode_name ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_by_type ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_subscribed_nodes ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_default ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_subscribed_types ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_with_collector ... ok
[INFO] [stdout] test graph::streaming::tests::test_stream_mode_display ... ok
[INFO] [stdout] test graph::subgraph::tests::test_builder_missing_graph_fn_errors ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_depth_three_levels ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_depth_two_levels ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_error_propagation ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_execute_chain ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_flatten ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_multiple_children ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_depth_leaf ... ok
[INFO] [stdout] test graph::streaming::tests::test_subscription_empty_matches_nothing ... ok
[INFO] [stdout] test graph::subgraph::tests::test_builder_fluent_api ... ok
[INFO] [stdout] test graph::subgraph::tests::test_add_subgraph_with_mapping_convenience ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_output_basic ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_list ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_new_is_empty ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_register_and_get ... ok
[INFO] [stdout] test graph::subgraph::tests::test_nested_subgraphs ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_remove ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_remove_nonexistent ... ok
[INFO] [stdout] test graph::subgraph::tests::test_builder_minimal ... ok
[INFO] [stdout] test graph::subgraph::tests::test_registry_replace_existing ... ok
[INFO] [stdout] test graph::subgraph::tests::test_simple_subgraph_transforms_value ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_isolation ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_input_basic ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_input_empty_passthrough ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_output_empty_merges_all ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_output_missing_child_key ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_output_overwrites_existing ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_identity ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_identity_apply_roundtrip ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_map_adds_entries ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_new_is_empty ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_config_builder_pattern ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_config_defaults ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_empty_state ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_execute_error_propagation ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_execute_passthrough ... ok
[INFO] [stdout] test graph::subgraph::tests::test_state_mapping_apply_input_missing_keys ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_in_pipeline ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_execute_with_mappings ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_name ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_node_with_namespace ... ok
[INFO] [stdout] test graph::time_travel::tests::test_replay_from_middle_checkpoint ... ok
[INFO] [stdout] test graph::time_travel::tests::test_empty_checkpoint_list_for_new_thread ... ok
[INFO] [stdout] test graph::time_travel::tests::test_fork_creates_new_thread ... ok
[INFO] [stdout] test graph::time_travel::tests::test_fork_with_modified_state_produces_different_result ... ok
[INFO] [stdout] test graph::time_travel::tests::test_get_state_at_specific_checkpoint ... ok
[INFO] [stdout] test graph::subgraph::tests::test_subgraph_with_input_output_mapping ... ok
[INFO] [stdout] test graph::time_travel::tests::test_list_checkpoints_after_execution ... ok
[INFO] [stdout] test graph::ui::tests::test_any_ui_message_serde ... ok
[INFO] [stdout] test graph::time_travel::tests::test_replay_from_latest_checkpoint ... ok
[INFO] [stdout] test graph::ui::tests::test_reducer_append ... ok
[INFO] [stdout] test graph::time_travel::tests::test_time_travel_with_multi_node_graph ... ok
[INFO] [stdout] test graph::ui::tests::test_reducer_remove_by_id ... ok
[INFO] [stdout] test graph::ui::tests::test_reducer_merge_props ... ok
[INFO] [stdout] test graph::ui::tests::test_reducer_remove_nonexistent_errors ... ok
[INFO] [stdout] test graph::ui::tests::test_reducer_replace_by_id ... ok
[INFO] [stdout] test graph::validation::tests::test_cache_clear ... ok
[INFO] [stdout] test graph::ui::tests::test_remove_ui_message_new ... ok
[INFO] [stdout] test graph::validation::tests::test_cache_invalidate ... ok
[INFO] [stdout] test graph::validation::tests::test_cache_len ... ok
[INFO] [stdout] test graph::validation::tests::test_cache_overwrite ... ok
[INFO] [stdout] test graph::validation::tests::test_cache_store_and_get ... ok
[INFO] [stdout] test graph::ui::tests::test_ui_message_new ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_dangling_edge_target ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_duplicate_edges ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_invalid_entry ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_empty_graph ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_linear_chain ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_missing_entry ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_invalid_finish ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_missing_finish ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_orphan_node ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_multiple_issues ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_self_loop ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_dangling_edge_source ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_all_reachable ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_unreachable_node ... ok
[INFO] [stdout] test graph::validation::tests::test_gv_valid_simple_graph ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_display_basic ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_builder_chain ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_display_with_node ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_display_with_suggestion ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_for_node ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_new ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_to_json_minimal ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_to_json ... ok
[INFO] [stdout] test graph::validation::tests::test_issue_with_suggestion ... ok
[INFO] [stdout] test graph::validation::tests::test_level_display ... ok
[INFO] [stdout] test graph::validation::tests::test_level_equality ... ok
[INFO] [stdout] test graph::validation::tests::test_level_severity_ordering ... ok
[INFO] [stdout] test graph::validation::tests::test_level_severity_values ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_cycles_false ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_cycles_self_loop ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_cycles_true ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_finish_false ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_entry_false ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_entry_true ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_is_connected_false ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_is_connected_empty ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_is_connected_true ... ok
[INFO] [stdout] test graph::validation::tests::test_report_add_issue ... ok
[INFO] [stdout] test graph::validation::tests::test_report_display ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_finish_true ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_is_connected_single_node ... ok
[INFO] [stdout] test graph::validation::tests::test_qc_has_cycles_no_edges ... ok
[INFO] [stdout] test graph::validation::tests::test_report_summary_empty ... ok
[INFO] [stdout] test graph::validation::tests::test_report_summary_with_errors ... ok
[INFO] [stdout] test graph::validation::tests::test_report_summary_with_warnings_only ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_missing_target_schema ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_compatible ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_node_count ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_no_schemas ... ok
[INFO] [stdout] test graph::validation::tests::test_report_to_json ... ok
[INFO] [stdout] test graph::validation::tests::test_state_multiple_rules_all_pass ... ok
[INFO] [stdout] test graph::validation::tests::test_report_errors_filter ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_mismatch ... ok
[INFO] [stdout] test graph::validation::tests::test_report_has_warnings ... ok
[INFO] [stdout] test graph::validation::tests::test_schema_validator_missing_source_schema ... ok
[INFO] [stdout] test graph::validation::tests::test_state_multiple_rules_multiple_fail ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_custom ... ok
[INFO] [stdout] test graph::validation::tests::test_report_issues_accessor ... ok
[INFO] [stdout] test graph::validation::tests::test_report_new_is_valid ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_immutable_key_missing_in_from ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_immutable_key_pass ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_name ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_required_key_fail ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_immutable_key_fail ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_required_key_pass ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_required_key_non_object_state ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_type_constraint_pass ... ok
[INFO] [stdout] test graph::validation::tests::test_state_validator_rule_count ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_type_constraint_fail ... ok
[INFO] [stdout] test graph::validator::tests::test_conditional_edges_invalid_source ... ok
[INFO] [stdout] test graph::validator::tests::test_conditional_edges_empty_targets_warning ... ok
[INFO] [stdout] test graph::validator::tests::test_conditional_edges_end_target_valid ... ok
[INFO] [stdout] test graph::validator::tests::test_cycle_detector_self_loop ... ok
[INFO] [stdout] test graph::validator::tests::test_cycle_detector_no_cycle ... ok
[INFO] [stdout] test graph::validator::tests::test_connectivity_unreachable_node ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_to_json ... ok
[INFO] [stdout] test graph::validator::tests::test_cycle_detector_with_cycle ... ok
[INFO] [stdout] test graph::validator::tests::test_conditional_edges_invalid_target ... ok
[INFO] [stdout] test graph::validator::tests::test_connectivity_all_reachable ... ok
[INFO] [stdout] test graph::validator::tests::test_node_names_duplicate ... ok
[INFO] [stdout] test graph::validator::tests::test_node_names_empty ... ok
[INFO] [stdout] test graph::validator::tests::test_no_cycles_acyclic ... ok
[INFO] [stdout] test graph::validator::tests::test_node_names_valid ... ok
[INFO] [stdout] test graph::validator::tests::test_node_names_reserved ... ok
[INFO] [stdout] test graph::validator::tests::test_reachability_simple ... ok
[INFO] [stdout] test graph::validator::tests::test_no_cycles_with_cycle ... ok
[INFO] [stdout] test graph::validator::tests::test_conditional_edges_valid ... ok
[INFO] [stdout] test graph::validator::tests::test_termination_all_reach_end ... ok
[INFO] [stdout] test graph::validator::tests::test_termination_dead_end ... ok
[INFO] [stdout] test graph::validator::tests::test_validate_all_invalid_entry_point ... ok
[INFO] [stdout] test graph::validator::tests::test_validate_all_valid_simple_graph ... ok
[INFO] [stdout] test graph::validator::tests::test_validate_all_with_invalid_conditional_target ... ok
[INFO] [stdout] test graph::validator::tests::test_validation_result_display ... ok
[INFO] [stdout] test graph::validator::tests::test_validate_all_with_conditional_edges ... ok
[INFO] [stdout] test graph::validation::tests::test_state_rule_type_constraint_key_absent ... ok
[INFO] [stdout] test graph::validator::tests::test_dead_end_nodes ... ok
[INFO] [stdout] test graph::validator::tests::test_reachability_unreachable ... ok
[INFO] [stdout] test graph::validator::tests::test_edges_missing_source ... ok
[INFO] [stdout] test graph::validator::tests::test_edges_missing_target ... ok
[INFO] [stdout] test graph::validator::tests::test_edges_valid ... ok
[INFO] [stdout] test graph::validator::tests::test_validation_result_is_valid_when_empty ... ok
[INFO] [stdout] test graph::validator::tests::test_validation_result_merge ... ok
[INFO] [stdout] test graph::versioning::tests::test_backward_compatible_additions ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_added_nodes_incompatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_edge_change_compatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_entry_point_changed ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_any ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_compatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_same_graph ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_display ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_removed_nodes_incompatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_display_range ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_exact ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_greater_or_equal ... ok
[INFO] [stdout] test graph::versioning::tests::test_compatibility_versioned ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_less_than ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_any ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_display_compatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_compatible ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_gte ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_invalid_range ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_lt ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_range ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_range ... ok
[INFO] [stdout] test graph::versioning::tests::test_constraint_parse_exact ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_edges_added ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_conditional_edges_changed ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_edges_removed ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_entry_point_unchanged ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_identical ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_added_nodes ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_entry_point_changed ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_is_empty_false ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_modified_node_edges ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_removed_nodes ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_interrupt_changed ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_add_version ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_summary_with_changes ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_diff_version_not_found ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_serialize ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_changelog ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_empty_latest ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_summary_entry_point_change ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_get_version ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_diff_versions ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_latest ... ok
[INFO] [stdout] test graph::versioning::tests::test_diff_summary_no_changes ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_json_round_trip ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_new ... ok
[INFO] [stdout] test graph::versioning::tests::test_history_list_versions ... ok
[INFO] [stdout] test graph::versioning::tests::test_migration_step_error_propagation ... ok
[INFO] [stdout] test graph::versioning::tests::test_migration_step_debug ... ok
[INFO] [stdout] test graph::versioning::tests::test_migration_step_identity ... ok
[INFO] [stdout] test graph::versioning::tests::test_migration_step_transform ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_three_step_chain ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_bump_major ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_bump_minor ... ok
[INFO] [stdout] test graph::versioning::tests::test_not_backward_compatible_entry_change ... ok
[INFO] [stdout] test graph::versioning::tests::test_not_backward_compatible_removals ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_default ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_has_path ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_list_steps ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_multi_step ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_same_version ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_no_path ... ok
[INFO] [stdout] test graph::versioning::tests::test_pipeline_single_step ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_equality ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_hash ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_ordering ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_ordering_patch ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_parse ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_parse_invalid ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_serialize ... ok
[INFO] [stdout] test graph::versioning::tests::test_versioned_graph_new ... ok
[INFO] [stdout] test graph::versioning::tests::test_versioned_graph_with_description ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_display ... ok
[INFO] [stdout] test graph::versioning::tests::test_versioned_graph_with_timestamp ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_new ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_zero ... ok
[INFO] [stdout] test graph::versioning::tests::test_versioned_graph_json_round_trip ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_bump_patch ... ok
[INFO] [stdout] test graph::versioning::tests::test_version_compatible ... ok
[INFO] [stdout] test managed::base::tests::test_managed_value_mapping ... ok
[INFO] [stdout] test managed::base::tests::test_managed_value_spec_eq_hash ... ok
[INFO] [stdout] test managed::base::tests::test_managed_value_spec_resolve_is_last_step ... ok
[INFO] [stdout] test managed::base::tests::test_managed_value_spec_resolve_remaining_steps ... ok
[INFO] [stdout] test managed::base::tests::test_pregel_scratchpad_new ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_is_last_step_and_remaining_consistency ... ok
[INFO] [stdout] test managed::base::tests::test_scratchpad_resume ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_is_last_step_single_step ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_is_last_step_false ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_is_last_step_zero_stop ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_is_last_step_true ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_remaining_steps_at_last ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_remaining_steps_at_start ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_remaining_steps_at_stop ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_accumulator_drain ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_accumulator_push_get_all ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_counter_decrement_saturates ... ok
[INFO] [stdout] test managed::base::tests::test_is_managed_value ... ok
[INFO] [stdout] test managed::base::tests::test_scratchpad_counters ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_remaining_steps_saturating ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_counter_reset ... ok
[INFO] [stdout] test managed::is_last_step::tests::test_remaining_steps_basic ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_map_get_set_remove ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_counter_increment_decrement ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_get_set ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_has_changed_since ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_read_only ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_update ... ok
[INFO] [stdout] test managed::shared_value::tests::test_value_history_diff_versions ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_on_change_callback ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_map_merge ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_versioning ... ok
[INFO] [stdout] test managed::shared_value::tests::test_value_history_get_at_version ... ok
[INFO] [stdout] test managed::shared_value::tests::test_value_history_tracking ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_value_concurrent_access ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_add_multiple_messages ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_add_tool_call ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_add_message ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_clone ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_is_over_limit_at_boundary ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_is_over_limit_beyond ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_is_over_limit_false ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_mark_finished ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_new_defaults ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_chained ... ok
[INFO] [stdout] test prebuilt::agents::tests::agent_state_to_json ... ok
[INFO] [stdout] test managed::shared_value::tests::test_shared_counter_concurrent ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_all_options ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_default_matches_config_default ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_max_iterations ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_system_message ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_default_values ... ok
[INFO] [stdout] test prebuilt::agents::tests::create_react_agent_returns_agent ... ok
[INFO] [stdout] test prebuilt::agents::tests::create_tool_node_empty_vec ... ok
[INFO] [stdout] test prebuilt::agents::tests::create_tool_node_returns_functional_node ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_all_tools_fail ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_debug ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_available_tools ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_invoke_empty_input ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_config_accessor ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_invoke_plain_object_input ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_invoke_no_tools_finishes_immediately ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_invoke_with_system_message ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_invoke_with_tool_calls ... ok
[INFO] [stdout] test prebuilt::agents::tests::config_builder_tool_choice ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_system_message_plus_tool_calls ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_iteration_count_after_tool_execution ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_arguments_preserved ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_tool_call_with_unknown_tool ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_clone ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_new_is_unresolved ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_zero_max_iterations ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_auto_as_str ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_to_json_resolved ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_clone ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_to_json_unresolved ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_default_is_auto ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_call_with_result_is_resolved ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_equality ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_display ... ok
[INFO] [stdout] test prebuilt::agents::tests::react_agent_max_iteration_limit ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_none_as_str ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_required_as_str ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_execute_with_complex_result ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_handler_error_produces_error_result ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_choice_specific_as_str ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_creation ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_debug ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_execute_success ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_execute_error ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_null_input ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_mixed_resolved_unresolved ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_adds_tool_messages ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_debug ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_definition_complex_handler ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_execute_resolves_calls ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_empty ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_multiple_calls ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_multiple_tools ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_skips_resolved_calls ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_tool_names ... ok
[INFO] [stdout] test prebuilt::agents::tests::tool_node_unknown_tool_produces_error ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_response_structure ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_agent_step_construction ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_builder_style ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_config_defaults ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_empty_messages ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_event_types ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_max_iterations_limit ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_state_initialization ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_system_message_injection ... ok
[INFO] [stdout] test prebuilt::tool_agent::tests::test_tool_agent_creation_compiles ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_system_message_not_duplicated ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_create_chat_agent_with_config ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_checkpoint_metadata_serialization ... ok
[INFO] [stdout] test prebuilt::react_agent::tests::test_create_react_agent_compiles ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_stream_with_tools ... ok
[INFO] [stdout] test prebuilt::react_agent::tests::test_react_agent_with_tool_call ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_copy_checkpoint ... ok
[INFO] [stdout] test prebuilt::react_agent::tests::test_react_agent_multiple_tools ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_channels_from_checkpoint ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_checkpoint_serialization_roundtrip ... ok
[INFO] [stdout] test prebuilt::chat_agent::tests::test_chat_agent_without_tools_direct_response ... ok
[INFO] [stdout] test prebuilt::tool_agent::tests::test_tool_agent_simple_response ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_create_checkpoint_with_channels ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_create_checkpoint_without_channels ... ok
[INFO] [stdout] test prebuilt::react_agent::tests::test_react_agent_simple_response ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_empty_checkpoint ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_create_checkpoint_with_explicit_id ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_create_checkpoint_with_updated_channels ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_get_empty ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_get_tuple ... ok
[INFO] [stdout] test prebuilt::tool_agent::tests::test_tool_agent_with_system_prompt ... ok
[INFO] [stdout] test prebuilt::tool_agent::tests::test_tool_agent_tool_call_loop ... ok
[INFO] [stdout] test pregel::executor::tests::test_diamond_a_bc_d ... ok
[INFO] [stdout] test pregel::executor::tests::test_empty_executor_execute ... ok
[INFO] [stdout] test pregel::executor::tests::test_diamond_superstep_structure ... ok
[INFO] [stdout] test pregel::executor::tests::test_empty_executor ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_config_builder ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_put_and_get ... ok
[INFO] [stdout] test pregel::executor::tests::test_deep_chain_10_nodes ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_list ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_put_writes ... ok
[INFO] [stdout] test pregel::executor::tests::test_dependency_on_nonexistent_node ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_config_defaults ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_config_default_trait ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_node_builder ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_node_debug ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_node_no_deps ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_trace_add_step ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_result_from_run ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_trace_new ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_result_to_json ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_trace_from_execution ... ok
[INFO] [stdout] test graph::state::tests::test_cannot_add_end_node - should panic ... ok
[INFO] [stdout] test pregel::checkpoint::tests::test_in_memory_saver_put_writes_not_found ... ok
[INFO] [stdout] test graph::state::tests::test_cannot_add_start_node - should panic ... ok
[INFO] [stdout] test pregel::executor::tests::test_circular_dependency_does_not_hang ... ok
[INFO] [stdout] test pregel::executor::tests::test_executor_is_not_empty_after_add ... ok
[INFO] [stdout] test pregel::executor::tests::test_halt_on_error_false_dependent_sees_error ... ok
[INFO] [stdout] test pregel::executor::tests::test_halt_on_error_true ... ok
[INFO] [stdout] test pregel::executor::tests::test_halt_on_error_false_continues ... ok
[INFO] [stdout] test pregel::executor::tests::test_linear_chain_order ... ok
[INFO] [stdout] test pregel::executor::tests::test_max_supersteps_limit ... ok
[INFO] [stdout] test pregel::executor::tests::test_linear_chain_a_b_c ... ok
[INFO] [stdout] test pregel::executor::tests::test_node_overwrites_state_key ... ok
[INFO] [stdout] test pregel::executor::tests::test_node_retry_exhausted ... ok
[INFO] [stdout] test pregel::executor::tests::test_execution_trace_to_json ... ok
[INFO] [stdout] test pregel::executor::tests::test_node_retry_succeeds_on_second_attempt ... ok
[INFO] [stdout] test pregel::executor::tests::test_partial_cycle_with_valid_nodes ... ok
[INFO] [stdout] test pregel::executor::tests::test_multiple_nodes_write_different_keys ... ok
[INFO] [stdout] test pregel::executor::tests::test_retry_zero_means_single_attempt ... ok
[INFO] [stdout] test pregel::executor::tests::test_node_returns_non_object ... ok
[INFO] [stdout] test pregel::executor::tests::test_replace_node_with_same_name ... ok
[INFO] [stdout] test pregel::executor::tests::test_pregel_executor_debug ... ok
[INFO] [stdout] test pregel::executor::tests::test_superstep_messages_populated ... ok
[INFO] [stdout] test pregel::executor::tests::test_single_node_execution ... ok
[INFO] [stdout] test pregel::executor::tests::test_superstep_to_json ... ok
[INFO] [stdout] test pregel::executor::tests::test_parallel_independent_nodes ... ok
[INFO] [stdout] test pregel::executor::tests::test_three_node_cycle ... ok
[INFO] [stdout] test pregel::executor::tests::test_max_supersteps_zero ... ok
[INFO] [stdout] test pregel::executor::tests::test_parallel_nodes_same_superstep ... ok
[INFO] [stdout] test pregel::executor::tests::test_single_node_reads_state ... ok
[INFO] [stdout] test pregel::executor::tests::test_wide_fan_out ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_updates_all_null ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_updates_empty ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_updates_single_channel ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_updates_multiple_channels ... ok
[INFO] [stdout] test pregel::io::tests::test_map_command_goto_node ... ok
[INFO] [stdout] test pregel::io::tests::test_map_command_goto_send ... ok
[INFO] [stdout] test pregel::io::tests::test_map_command_parent_error ... ok
[INFO] [stdout] test pregel::io::tests::test_map_command_with_resume ... ok
[INFO] [stdout] test pregel::io::tests::test_map_command_with_update ... ok
[INFO] [stdout] test pregel::io::tests::test_map_input_multiple_channels ... ok
[INFO] [stdout] test pregel::io::tests::test_map_input_multiple_channels_non_object ... ok
[INFO] [stdout] test pregel::io::tests::test_map_input_none ... ok
[INFO] [stdout] test pregel::io::tests::test_map_input_single_channel ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_values_no_matching_writes ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channel_available ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channel_empty_catch ... ok
[INFO] [stdout] test pregel::io::tests::test_map_output_values_single_channel ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channel_missing_catch ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channels_multiple ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channel_missing_no_catch ... ok
[INFO] [stdout] test pregel::read::tests::test_convenience_read_channel_value ... ok
[INFO] [stdout] test pregel::read::tests::test_convenience_read_channel_values ... ok
[INFO] [stdout] test pregel::read::tests::test_read_fresh ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channels_as_value_multiple ... ok
[INFO] [stdout] test pregel::read::tests::test_read_missing_channel_skip ... ok
[INFO] [stdout] test pregel::read::tests::test_read_multiple_channels ... ok
[INFO] [stdout] test pregel::read::tests::test_read_single_channel_empty_no_skip ... ok
[INFO] [stdout] test pregel::read::tests::test_read_single_channel_empty_skip ... ok
[INFO] [stdout] test pregel::read::tests::test_read_missing_channel_no_skip ... ok
[INFO] [stdout] test pregel::read::tests::test_read_multiple_channels_some_empty ... ok
[INFO] [stdout] test pregel::read::tests::test_read_single_channel ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_does_not_retry_parent_command ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channel_empty_no_catch ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_policies_empty_list ... ok
[INFO] [stdout] test pregel::read::tests::test_read_with_mapper ... ok
[INFO] [stdout] test pregel::io::tests::test_read_channels_as_value_single ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_succeeds_first_try ... ok
[INFO] [stdout] test pregel::read::tests::test_read_with_mapper_none ... ok
[INFO] [stdout] test pregel::retry::tests::test_compute_sleep_duration_capped_at_max ... ok
[INFO] [stdout] test pregel::retry::tests::test_compute_sleep_duration_no_jitter ... ok
[INFO] [stdout] test pregel::retry::tests::test_compute_sleep_duration_with_jitter ... ok
[INFO] [stdout] test pregel::retry::tests::test_default_retry_policy ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_circular_deps_handled_gracefully ... ok
[INFO] [stdout] test pregel::retry::tests::test_simple_jitter_range ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_all_nodes_ready ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_dependency_chain ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_custom_strategy_falls_back_to_fifo ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_empty_scheduler_next_returns_none ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_fifo_ordering ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_is_ready_empty_completed ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_does_not_retry_graph_interrupt ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_is_ready_with_deps_satisfied ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_empty_scheduler_next_batch_returns_empty ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_is_ready_with_deps_unsatisfied ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_metrics_new ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_is_ready_no_deps ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_metrics_to_json ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_metrics_record ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_next_batch_fewer_ready_than_max ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_next_batch_with_dependencies ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_priority_ordering ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_priority_sort ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_priority_weights ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_priority_equality ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_aware_scheduler_no_slots ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_aware_scheduler_release_and_reschedule ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_pool_release_saturating ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_next_batch_parallel ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_pool_acquire_release ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_policies_uses_first_matching ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_no_ready_nodes ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_pool_memory_limit ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_remaining_and_is_empty ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_priority_scheduling ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_aware_scheduler_metrics_tracking ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_pool_utilization ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_round_robin ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_scheduled_node_new ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_scheduled_node_builder ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_shortest_job_first ... ok
[INFO] [stdout] test pregel::utils::tests::test_is_xxh3_128_hexdigest_invalid ... ok
[INFO] [stdout] test pregel::utils::tests::test_is_xxh3_128_hexdigest_valid ... ok
[INFO] [stdout] test pregel::utils::tests::test_new_versions_all_same ... ok
[INFO] [stdout] test pregel::utils::tests::test_new_versions_empty_previous ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_reset ... ok
[INFO] [stdout] test pregel::utils::tests::test_new_versions_filters_old ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_aware_scheduler_basic ... ok
[INFO] [stdout] test pregel::scheduler::tests::test_resource_aware_scheduler_memory_constrained ... ok
[INFO] [stdout] test pregel::utils::tests::test_new_versions_includes_new_channels ... ok
[INFO] [stdout] test pregel::validate::tests::test_interrupt_spec_none ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_all_nodes_reachable_dead_end ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_graph_success ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_exhausts_attempts ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_input_channel_not_in_channels ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_all_nodes_reachable_success ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_interrupt_unknown_node ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_keys_missing ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_keys_success ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_input_channel_not_subscribed ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_no_unreachable_nodes_success ... ok
[INFO] [stdout] test pregel::retry::tests::test_run_with_retry_succeeds_after_failures ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_interrupt_all_is_ok ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_no_unreachable_nodes_unreachable ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_output_channel_missing ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_reserved_channel_name ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_add_writes ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_reserved_node_name ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_stream_channel_missing ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_apply_multiple_writes_same_channel ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_node_reads_unknown_channel ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_apply_reserved_channel ... ok
[INFO] [stdout] test pregel::validate::tests::test_validate_trigger_unknown_channel ... ok
[INFO] [stdout] test pregel::write::tests::test_assemble_writes ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_apply_success ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_apply_unknown_channel ... ok
[INFO] [stdout] test pregel::write::tests::test_assemble_writes_with_output ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_new ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_passthrough ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_resolve_passthrough ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_resolve_skip_none ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_resolve_skip_none_with_value ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_into_writes ... ok
[INFO] [stdout] test pregel::write::tests::test_default_writer ... ok
[INFO] [stdout] test runtime::tests::test_runtime_default ... ok
[INFO] [stdout] test pregel::write::tests::test_channel_write_entry_resolve_with_value ... ok
[INFO] [stdout] test runtime::tests::test_runtime_builders ... ok
[INFO] [stdout] test runtime::tests::test_runtime_merge ... ok
[INFO] [stdout] test runtime::tests::test_runtime_merge_preserves_existing ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_add_raw_write ... ok
[INFO] [stdout] test utils::config::tests::test_ensure_config_some ... ok
[INFO] [stdout] test utils::config::tests::test_merge_configs_metadata ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_add_write ... ok
[INFO] [stdout] test utils::config::tests::test_ensure_config_none ... ok
[INFO] [stdout] test utils::config::tests::test_merge_configs_configurable ... ok
[INFO] [stdout] test pregel::write::tests::test_writer_clear ... ok
[INFO] [stdout] test utils::config::tests::test_patch_configurable ... ok
[INFO] [stdout] test utils::config::tests::test_merge_configs_recursion_limit ... ok
[INFO] [stdout] test utils::config::tests::test_runnable_config_serialize_deserialize ... ok
[INFO] [stdout] test utils::profiler::tests::test_edge_traversal ... ok
[INFO] [stdout] test utils::profiler::tests::test_error_recording ... ok
[INFO] [stdout] test utils::config::tests::test_runnable_config_new ... ok
[INFO] [stdout] test utils::profiler::tests::test_disabled_profiler ... ok
[INFO] [stdout] test utils::config::tests::test_merge_configs_tags ... ok
[INFO] [stdout] test utils::profiler::tests::test_reset_clears_data ... ok
[INFO] [stdout] test utils::profiler::tests::test_report_generation ... ok
[INFO] [stdout] test utils::config::tests::test_runnable_config_builder ... ok
[INFO] [stdout] test utils::profiler::tests::test_sample_rate_filtering ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_cancel ... ok
[INFO] [stdout] test utils::profiler::tests::test_display_trait ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_already_cancelled ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_clone ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_default ... ok
[INFO] [stdout] test utils::timeout::tests::test_execution_budget_record_execution ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_reset ... ok
[INFO] [stdout] test utils::timeout::tests::test_execution_budget_allocate ... ok
[INFO] [stdout] test utils::timeout::tests::test_execution_budget_with_node_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_initial_state ... ok
[INFO] [stdout] test utils::timeout::tests::test_execution_budget_remaining ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_propagates_inner_error ... ok
[INFO] [stdout] test utils::profiler::tests::test_summary_formatting ... ok
[INFO] [stdout] test utils::profiler::tests::test_profile_scope_raii ... ok
[INFO] [stdout] test utils::profiler::tests::test_concurrent_profiling ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_action_variants ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_success ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_config_defaults ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_config_effective_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_error_display ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_config_accessor ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_config_node_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_default_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_config_builder ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_execute_success ... ok
[INFO] [stdout] test utils::profiler::tests::test_multiple_calls_same_node ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_per_node_override ... ok
[INFO] [stdout] test utils::profiler::tests::test_start_end_node ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_remove_override ... ok
[INFO] [stdout] test utils::profiler::tests::test_hotpath_detection ... ok
[INFO] [stdout] test utils::profiler::tests::test_bottleneck_detection ... ok
[INFO] [stdout] test utils::profiler::tests::test_node_profile_statistics ... ok
[INFO] [stdout] test utils::profiler::tests::test_percentage_calculation ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_with_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_cancellation_token_cancelled_future ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_error_on_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_return_partial ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_skip ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_execute_timeout ... ok
[INFO] [stdout] test utils::timeout::tests::test_execution_budget_exhausted ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_retry_succeeds_on_second_attempt ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_execute_with_retries ... ok
[INFO] [stdout] test utils::timeout::tests::test_node_timeout_retry_with_retries ... ok
[INFO] [stdout] test utils::timeout::tests::test_timeout_manager_per_node_timeout_execution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2196 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-26374579af254708)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test test_graph_with_cycle ... ok
[INFO] [stdout] test test_conditional_branching ... ok
[INFO] [stdout] test test_add_sequence_helper ... ok
[INFO] [stdout] test test_interrupt_before_and_resume ... ok
[INFO] [stdout] test test_interrupt_after_and_resume ... ok
[INFO] [stdout] test test_linear_graph_execution ... ok
[INFO] [stdout] test test_mermaid_diagram_generation ... ok
[INFO] [stdout] test test_graph_with_many_nodes ... ok
[INFO] [stdout] test test_node_names_and_introspection ... ok
[INFO] [stdout] test test_recursion_limit_triggers ... ok
[INFO] [stdout] test test_streaming_debug_mode ... ok
[INFO] [stdout] test test_streaming_updates_mode ... ok
[INFO] [stdout] test test_parallel_fan_out ... ok
[INFO] [stdout] test test_subgraph_composition ... ok
[INFO] [stdout] test test_streaming_values_mode ... ok
[INFO] [stdout] test test_tool_agent_end_to_end ... ok
[INFO] [stderr]    Doc-tests cognisgraph
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/graph/subgraph.rs - graph::subgraph::SubgraphBuilder (line 492) ... ignored
[INFO] [stdout] test src/graph/validator.rs - graph::validator (line 10) ... ignored
[INFO] [stdout] test src/lib.rs - (line 11) ... ignored
[INFO] [stdout] test src/prebuilt/react_agent.rs - prebuilt::react_agent::create_react_agent (line 50) - compile ... ok
[INFO] [stdout] test src/prebuilt/chat_agent.rs - prebuilt::chat_agent (line 19) - compile ... ok
[INFO] [stdout] test src/graph/human_in_loop.rs - graph::human_in_loop::HumanInTheLoop (line 72) - compile ... ok
[INFO] [stdout] test src/prebuilt/tool_agent.rs - prebuilt::tool_agent::create_tool_agent (line 71) - compile ... ok
[INFO] [stdout] test src/pregel/retry.rs - pregel::retry::run_with_retry (line 49) - compile ... ok
[INFO] [stdout] test src/checkpoint/memory.rs - checkpoint::memory (line 10) ... FAILED
[INFO] [stdout] test src/prebuilt/agents.rs - prebuilt::agents (line 13) ... FAILED
[INFO] [stdout] test src/graph/state.rs - graph::state::StateGraph (line 160) ... FAILED
[INFO] [stdout] test src/graph/state.rs - graph::state::StateGraph::set_conditional_entry_point (line 507) ... ok
[INFO] [stdout] test src/pregel/scheduler.rs - pregel::scheduler (line 9) ... ok
[INFO] [stdout] test src/graph/message.rs - graph::message::add_messages (line 654) ... ok
[INFO] [stdout] test src/checkpoint/store.rs - checkpoint::store::StoreKey::from_parts (line 76) ... ok
[INFO] [stdout] test src/graph/state.rs - graph::state::StateGraph::add_subgraph_with_mapping (line 316) ... ok
[INFO] [stdout] test src/graph/message.rs - graph::message::message_graph (line 738) ... ok
[INFO] [stdout] test src/utils/profiler.rs - utils::profiler::GraphProfiler (line 194) ... ok
[INFO] [stdout] test src/graph/send.rs - graph::send::send_to (line 53) ... ok
[INFO] [stdout] test src/graph/audit.rs - graph::audit::AuditLog (line 186) ... ok
[INFO] [stdout] test src/graph/subgraph.rs - graph::subgraph::SubgraphNode (line 212) ... ok
[INFO] [stdout] test src/graph/state.rs - graph::state::StateGraph::add_subgraph (line 274) ... ok
[INFO] [stdout] test src/pregel/executor.rs - pregel::executor (line 21) ... ok
[INFO] [stdout] test src/graph/annotations.rs - graph::annotations::AnnotatedStateBuilder (line 255) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/checkpoint/memory.rs - checkpoint::memory (line 10) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustdoctestfGfCMm/rustcWCT89o/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libcognisgraph-82624246c8d6d2fa,libflate2-7ed963f28e1781ac,libminiz_oxide-0604c014cfd3f447,libsimd_adler32-b082e9f39b443ffb,libcrc32fast-66fcb8dfd77ba9de,libcognis_core-5c77275f1cf36910,libregex-0d2c9b6e47e1f5e2,libregex_automata-9eb9569f5fe3a8ab,libaho_corasick-911505ac5b3ee82d,libregex_syntax-a59969707b42f994,libtokio_stream-cb84a328c2c66c67,libfutures-aee079be54c605ca,libfutures_executor-ccfdd1460f625cb8,libfutures_util-720db6f037b28b5f,libfutures_io-9bc2d3828d4ba8af,libslab-e253d0c0a7952806,libfutures_channel-269d605913ea0ccb,libfutures_sink-97e10fe82c3fc434,libfutures_task-eafdccc31efa9d5a,libfutures_core-f0387e1e69ce8814,libchrono-8fa44a33e7a17ea7,libiana_time_zone-e4284183d46316cc,libnum_traits-23da3e41cc6a3b1a,libthiserror-8d48f50e62149409,libbase64-2a03de3babadded3,libuuid-31a4b90746d76293,libgetrandom-d6b1c8ab203da4cb,libtokio-cd7f8d03a5d91f1b,libsignal_hook_registry-5720ab1df4abbddd,liberrno-a52f0e2de63da12d,libsocket2-a9e11c9a999805a7,libbytes-ff5aca13e3e348ea,libmio-893c04095b2b1201,libparking_lot-34ed877ef4436992,libparking_lot_core-a6c16c2eeeccaeb8,liblibc-65ee1eb217d721f2,libcfg_if-5af52f617df93f8f,libsmallvec-5854932b8c8b4991,liblock_api-ec1e77aca18a533b,libscopeguard-d52bd00767847e44,libpin_project_lite-8a799ba8b4537fa2,libserde-7c429b015f6c246c,libserde_json-f250c5e6f4d48e97,libmemchr-9b3f20cfb3ebd3b2,libitoa-ae20521aea192d35,libzmij-07c2bc01ed4c756c,libserde_core-8323e53422f20d71}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestfGfCMm/rustcWCT89o/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestfGfCMm/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/prebuilt/agents.rs - prebuilt::agents (line 13) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustdoctestLjs5Zn/rustcatv1MG/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libcognisgraph-82624246c8d6d2fa,libflate2-7ed963f28e1781ac,libminiz_oxide-0604c014cfd3f447,libsimd_adler32-b082e9f39b443ffb,libcrc32fast-66fcb8dfd77ba9de,libcognis_core-5c77275f1cf36910,libregex-0d2c9b6e47e1f5e2,libregex_automata-9eb9569f5fe3a8ab,libaho_corasick-911505ac5b3ee82d,libregex_syntax-a59969707b42f994,libtokio_stream-cb84a328c2c66c67,libfutures-aee079be54c605ca,libfutures_executor-ccfdd1460f625cb8,libfutures_util-720db6f037b28b5f,libfutures_io-9bc2d3828d4ba8af,libslab-e253d0c0a7952806,libfutures_channel-269d605913ea0ccb,libfutures_sink-97e10fe82c3fc434,libfutures_task-eafdccc31efa9d5a,libfutures_core-f0387e1e69ce8814,libchrono-8fa44a33e7a17ea7,libiana_time_zone-e4284183d46316cc,libnum_traits-23da3e41cc6a3b1a,libthiserror-8d48f50e62149409,libbase64-2a03de3babadded3,libuuid-31a4b90746d76293,libgetrandom-d6b1c8ab203da4cb,libtokio-cd7f8d03a5d91f1b,libsignal_hook_registry-5720ab1df4abbddd,liberrno-a52f0e2de63da12d,libsocket2-a9e11c9a999805a7,libbytes-ff5aca13e3e348ea,libmio-893c04095b2b1201,libparking_lot-34ed877ef4436992,libparking_lot_core-a6c16c2eeeccaeb8,liblibc-65ee1eb217d721f2,libcfg_if-5af52f617df93f8f,libsmallvec-5854932b8c8b4991,liblock_api-ec1e77aca18a533b,libscopeguard-d52bd00767847e44,libpin_project_lite-8a799ba8b4537fa2,libserde-7c429b015f6c246c,libserde_json-f250c5e6f4d48e97,libmemchr-9b3f20cfb3ebd3b2,libitoa-ae20521aea192d35,libzmij-07c2bc01ed4c756c,libserde_core-8323e53422f20d71}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestLjs5Zn/rustcatv1MG/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestLjs5Zn/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/state.rs - graph::state::StateGraph (line 160) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustdoctestGpVn3i/rustcSnFcme/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libcognisgraph-82624246c8d6d2fa,libflate2-7ed963f28e1781ac,libminiz_oxide-0604c014cfd3f447,libsimd_adler32-b082e9f39b443ffb,libcrc32fast-66fcb8dfd77ba9de,libcognis_core-5c77275f1cf36910,libregex-0d2c9b6e47e1f5e2,libregex_automata-9eb9569f5fe3a8ab,libaho_corasick-911505ac5b3ee82d,libregex_syntax-a59969707b42f994,libtokio_stream-cb84a328c2c66c67,libfutures-aee079be54c605ca,libfutures_executor-ccfdd1460f625cb8,libfutures_util-720db6f037b28b5f,libfutures_io-9bc2d3828d4ba8af,libslab-e253d0c0a7952806,libfutures_channel-269d605913ea0ccb,libfutures_sink-97e10fe82c3fc434,libfutures_task-eafdccc31efa9d5a,libfutures_core-f0387e1e69ce8814,libchrono-8fa44a33e7a17ea7,libiana_time_zone-e4284183d46316cc,libnum_traits-23da3e41cc6a3b1a,libthiserror-8d48f50e62149409,libbase64-2a03de3babadded3,libuuid-31a4b90746d76293,libgetrandom-d6b1c8ab203da4cb,libtokio-cd7f8d03a5d91f1b,libsignal_hook_registry-5720ab1df4abbddd,liberrno-a52f0e2de63da12d,libsocket2-a9e11c9a999805a7,libbytes-ff5aca13e3e348ea,libmio-893c04095b2b1201,libparking_lot-34ed877ef4436992,libparking_lot_core-a6c16c2eeeccaeb8,liblibc-65ee1eb217d721f2,libcfg_if-5af52f617df93f8f,libsmallvec-5854932b8c8b4991,liblock_api-ec1e77aca18a533b,libscopeguard-d52bd00767847e44,libpin_project_lite-8a799ba8b4537fa2,libserde-7c429b015f6c246c,libserde_json-f250c5e6f4d48e97,libmemchr-9b3f20cfb3ebd3b2,libitoa-ae20521aea192d35,libzmij-07c2bc01ed4c756c,libserde_core-8323e53422f20d71}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestGpVn3i/rustcSnFcme/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestGpVn3i/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/checkpoint/memory.rs - checkpoint::memory (line 10)
[INFO] [stdout]     src/graph/state.rs - graph::state::StateGraph (line 160)
[INFO] [stdout]     src/prebuilt/agents.rs - prebuilt::agents (line 13)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 18 passed; 3 failed; 3 ignored; 0 measured; 0 filtered out; finished in 18.47s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "862bc7854f404d91fdac0fe29329758a955eaefcf6d59f41bee8652a8ba7e779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "862bc7854f404d91fdac0fe29329758a955eaefcf6d59f41bee8652a8ba7e779", kill_on_drop: false }`
[INFO] [stdout] 862bc7854f404d91fdac0fe29329758a955eaefcf6d59f41bee8652a8ba7e779
