[INFO] fetching crate ralph-core 2.9.2...
[INFO] testing ralph-core-2.9.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate ralph-core 2.9.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate ralph-core 2.9.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ralph-core 2.9.2
[INFO] tweaked toml for crates.io crate ralph-core 2.9.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ralph-core 2.9.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ralph-core 2.9.2 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7eb9a580ac2814e9118f453d342ce59b15a64a5b0585cada03144e8e2d4a1ef8
[INFO] running `Command { std: "docker" "start" "-a" "7eb9a580ac2814e9118f453d342ce59b15a64a5b0585cada03144e8e2d4a1ef8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7eb9a580ac2814e9118f453d342ce59b15a64a5b0585cada03144e8e2d4a1ef8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7eb9a580ac2814e9118f453d342ce59b15a64a5b0585cada03144e8e2d4a1ef8", kill_on_drop: false }`
[INFO] [stdout] 7eb9a580ac2814e9118f453d342ce59b15a64a5b0585cada03144e8e2d4a1ef8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d1d383bfaf32ae6429df07ffaf59be02576f7464d88fdd8d7ac0524a3c02a608
[INFO] running `Command { std: "docker" "start" "-a" "d1d383bfaf32ae6429df07ffaf59be02576f7464d88fdd8d7ac0524a3c02a608", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling linux-keyutils v0.2.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling ralph-proto v2.9.2
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ralph-core v2.9.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.18s
[INFO] running `Command { std: "docker" "inspect" "d1d383bfaf32ae6429df07ffaf59be02576f7464d88fdd8d7ac0524a3c02a608", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1d383bfaf32ae6429df07ffaf59be02576f7464d88fdd8d7ac0524a3c02a608", kill_on_drop: false }`
[INFO] [stdout] d1d383bfaf32ae6429df07ffaf59be02576f7464d88fdd8d7ac0524a3c02a608
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41f62afef7ccba847d8b9368bc17a4baa7e7bfc9768bd5a55cbd7bedf255550c
[INFO] running `Command { std: "docker" "start" "-a" "41f62afef7ccba847d8b9368bc17a4baa7e7bfc9768bd5a55cbd7bedf255550c", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling ralph-proto v2.9.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.3
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling fancy-regex v0.13.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jsonschema v0.18.3
[INFO] [stderr]    Compiling ralph-core v2.9.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 54.72s
[INFO] running `Command { std: "docker" "inspect" "41f62afef7ccba847d8b9368bc17a4baa7e7bfc9768bd5a55cbd7bedf255550c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41f62afef7ccba847d8b9368bc17a4baa7e7bfc9768bd5a55cbd7bedf255550c", kill_on_drop: false }`
[INFO] [stdout] 41f62afef7ccba847d8b9368bc17a4baa7e7bfc9768bd5a55cbd7bedf255550c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f09699f974ed118d94859d71991aec8c905520131a2962d3b22e4df1dcf5e234
[INFO] running `Command { std: "docker" "start" "-a" "f09699f974ed118d94859d71991aec8c905520131a2962d3b22e4df1dcf5e234", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ralph_core-2d942dcdf5d57a1b)
[INFO] [stdout] running 815 tests
[INFO] [stdout] test config::tests::test_core_config_customizable ... ok
[INFO] [stdout] test config::tests::test_adapter_settings ... ok
[INFO] [stdout] test config::tests::test_ambiguous_routing_rejected ... ok
[INFO] [stdout] test config::tests::test_core_config_defaults ... ok
[INFO] [stdout] test config::tests::test_custom_backend_args_explicit_key ... ok
[INFO] [stdout] test config::tests::test_custom_backend_with_command_succeeds ... ok
[INFO] [stdout] test config::tests::test_custom_backend_requires_command_message_actionable ... ok
[INFO] [stdout] test config::tests::test_empty_completion_promise_rejected ... ok
[INFO] [stdout] test config::tests::test_default_agent_priority ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_empty_description_rejected ... ok
[INFO] [stdout] test config::tests::test_extra_instructions_empty_by_default ... ok
[INFO] [stdout] test config::tests::test_custom_backend_args_shorthand ... ok
[INFO] [stdout] test config::tests::test_default_prompt_file_value ... ok
[INFO] [stdout] test config::tests::test_custom_backend_requires_command ... ok
[INFO] [stdout] test config::tests::test_agent_priority ... ok
[INFO] [stdout] test config::tests::test_core_config_custom_guardrails ... ok
[INFO] [stdout] test config::tests::test_features_config_auto_merge_defaults_to_false ... ok
[INFO] [stdout] test config::tests::test_hat_backend_kiro_agent ... ok
[INFO] [stdout] test config::tests::test_features_config_auto_merge_from_yaml ... ok
[INFO] [stdout] test config::tests::test_extra_instructions_merged_during_normalize ... ok
[INFO] [stdout] test config::tests::test_hat_backend_named_with_args_empty ... ok
[INFO] [stdout] test config::tests::test_features_config_auto_merge_false_from_yaml ... ok
[INFO] [stdout] test config::tests::test_hat_config_with_backend ... ok
[INFO] [stdout] test config::tests::test_hat_config_without_backend ... ok
[INFO] [stdout] test config::tests::test_hooks_config_valid_yaml_parses_and_validates ... ok
[INFO] [stdout] test config::tests::test_hat_backend_custom ... ok
[INFO] [stdout] test config::tests::test_hooks_parse_rejects_invalid_on_error_enum_value ... ok
[INFO] [stdout] test config::tests::test_features_config_preserves_parallel_when_adding_auto_merge ... ok
[INFO] [stdout] test config::tests::test_hooks_parse_rejects_backpressure_phase_event_keys_in_v1 ... ok
[INFO] [stdout] test config::tests::test_custom_backend_with_empty_command_errors ... ok
[INFO] [stdout] test config::tests::test_hat_backend_named ... ok
[INFO] [stdout] test config::tests::test_hat_backend_named_with_args ... ok
[INFO] [stdout] test config::tests::test_parse_yaml_v1_format ... ok
[INFO] [stdout] test config::tests::test_hooks_parse_rejects_invalid_phase_event_key ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_missing_on_error ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_global_scope_non_v1_field ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_missing_name ... ok
[INFO] [stdout] test config::tests::test_prompt_file_with_no_inline_allowed ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_zero_max_output_bytes ... ok
[INFO] [stdout] test config::tests::test_parse_yaml_with_custom_hats ... ok
[INFO] [stdout] test config::tests::test_prompt_with_default_prompt_file_allowed ... ok
[INFO] [stdout] test config::tests::test_project_key_rejected ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_missing_command ... ok
[INFO] [stdout] test config::tests::test_reserved_trigger_message_actionable ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_parallel_non_v1_field ... ok
[INFO] [stdout] test config::tests::test_prompt_and_prompt_file_mutually_exclusive ... ok
[INFO] [stdout] test config::tests::test_missing_description_rejected ... ok
[INFO] [stdout] test config::tests::test_mixed_backends_config ... ok
[INFO] [stdout] test config::tests::test_hat_backend_kiro_agent_with_args ... ok
[INFO] [stdout] test config::tests::test_preflight_config_deserialize ... ok
[INFO] [stdout] test config::tests::test_hooks_validate_rejects_zero_timeout_seconds ... ok
[INFO] [stdout] test config::tests::test_robot_config_absent_parses_as_default ... ok
[INFO] [stdout] test config::tests::test_robot_config_resolve_bot_token_none_without_config ... ok
[INFO] [stdout] test config::tests::test_robot_config_defaults_disabled ... ok
[INFO] [stdout] test config::tests::test_robot_config_validate_missing_telegram_section ... ok
[INFO] [stdout] test config::tests::test_robot_config_validate_empty_bot_token ... ok
[INFO] [stdout] test config::tests::test_robot_config_validate_with_config_token ... ok
[INFO] [stdout] test config::tests::test_robot_config_valid_full ... ok
[INFO] [stdout] test config::tests::test_robot_config_disabled_skips_validation ... ok
[INFO] [stdout] test config::tests::test_skill_override_partial_fields ... ok
[INFO] [stdout] test config::tests::test_robot_config_enabled_missing_timeout_and_token_fails_on_timeout_first ... ok
[INFO] [stdout] test config::tests::test_skills_config_defaults_when_absent ... ok
[INFO] [stdout] test config::tests::test_robot_config_enabled_missing_timeout_fails ... ok
[INFO] [stdout] test config::tests::test_reserved_trigger_task_resume_rejected ... ok
[INFO] [stdout] test config::tests::test_skills_config_disabled ... ok
[INFO] [stdout] test config::tests::test_skills_config_deserializes_all_fields ... ok
[INFO] [stdout] test config::tests::test_tui_config_default ... ok
[INFO] [stdout] test config::tests::test_tui_config_parse_ctrl_b ... ok
[INFO] [stdout] test config::tests::test_tui_config_parse_invalid_format ... ok
[INFO] [stdout] test config::tests::test_suppress_warnings ... ok
[INFO] [stdout] test config::tests::test_validate_deferred_features ... ok
[INFO] [stdout] test config::tests::test_unique_triggers_accepted ... ok
[INFO] [stdout] test config::tests::test_wave_config_concurrency_and_aggregate_parse ... ok
[INFO] [stdout] test config::tests::test_validate_dropped_fields ... ok
[INFO] [stdout] test config::tests::test_wave_config_aggregate_on_concurrent_hat_rejected ... ok
[INFO] [stdout] test config::tests::test_wave_config_concurrency_zero_rejected ... ok
[INFO] [stdout] test config::tests::test_wave_config_aggregate_on_non_concurrent_hat_valid ... ok
[INFO] [stdout] test config::tests::test_tui_config_parse_invalid_modifier ... ok
[INFO] [stdout] test config::tests::test_robot_config_resolve_bot_token_from_config ... ok
[INFO] [stdout] test config::tests::test_reserved_trigger_task_start_rejected ... ok
[INFO] [stdout] test config::tests::test_tui_config_parse_invalid_key ... ok
[INFO] [stdout] test config::tests::test_wave_config_defaults_without_new_fields ... ok
[INFO] [stdout] test diagnostics::hook_runs::tests::from_run_result_maps_hook_runtime_fields ... ok
[INFO] [stdout] test diagnostics::hook_runs::tests::hook_disposition_serializes_to_snake_case ... ok
[INFO] [stdout] test config::tests::test_unknown_fields_ignored ... ok
[INFO] [stdout] test diagnostics::hook_runs::tests::telemetry_entry_serializes_required_fields ... ok
[INFO] [stdout] test diagnostics::agent_output::tests::test_logger_creates_file ... ok
[INFO] [stdout] test diagnostics::errors::tests::test_error_logger_creates_file ... ok
[INFO] [stdout] test diagnostics::agent_output::tests::test_all_content_types_serialize ... ok
[INFO] [stdout] test diagnostics::agent_output::tests::test_immediate_flush ... ok
[INFO] [stdout] test diagnostics::errors::tests::test_error_logger_integration ... ok
[INFO] [stdout] test diagnostics::hook_runs::tests::hook_run_logger_flushes_on_each_write ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_create_log_file_creates_directory ... ok
[INFO] [stdout] test diagnostics::agent_output::tests::test_log_writes_valid_jsonl ... ok
[INFO] [stdout] test diagnostics::errors::tests::test_all_error_types_serialize ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_nonexistent_dir ... ok
[INFO] [stdout] test diagnostics::hook_runs::tests::hook_run_logger_persists_jsonl_entries ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_ignores_non_matching_files ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_diagnostics_collector_hook_run_logging_is_noop_when_disabled ... ok
[INFO] [stdout] test diagnostics::orchestration::tests::test_all_event_types_serialize ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_over_limit ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_diagnostics_collector_logs_hook_run_telemetry ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_event_loop_logs_backpressure_triggered ... ok
[INFO] [stdout] test diagnostics::stream_handler::tests::test_wrapper_logs_all_events ... ok
[INFO] [stdout] test diagnostics::stream_handler::tests::test_wrapper_calls_inner_handler ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_event_loop_logs_event_published ... ok
[INFO] [stdout] test diagnostics::tests::test_diagnostics_disabled_by_default ... ok
[INFO] [stdout] test diagnostics::tests::test_error_logger_integration ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_event_loop_logs_iteration_started ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_at_limit ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_empty_dir ... ok
[INFO] [stdout] test diagnostics::orchestration::tests::test_iteration_and_hat_captured ... ok
[INFO] [stdout] test diagnostics::tests::test_session_directory_format ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_create_log_file_rotates ... ok
[INFO] [stdout] test diagnostics::performance::tests::test_all_metric_types_serialize ... ok
[INFO] [stdout] test diagnostics::log_rotation::tests::test_rotate_under_limit ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_event_loop_logs_hat_selected ... ok
[INFO] [stdout] test diagnostics::orchestration::tests::test_immediate_flush ... ok
[INFO] [stdout] test event_logger::tests::test_agent_written_events_without_iteration ... ok
[INFO] [stdout] test diagnostics::trace_layer::tests::test_context_included ... ok
[INFO] [stdout] test event_logger::tests::test_event_record_no_wave_metadata ... ok
[INFO] [stdout] test event_logger::tests::test_event_record_wave_fields_not_serialized_when_none ... ok
[INFO] [stdout] test event_logger::tests::test_creates_parent_directory ... ok
[INFO] [stdout] test event_logger::tests::test_empty_history ... ok
[INFO] [stdout] test event_logger::tests::test_mixed_event_formats ... ok
[INFO] [stdout] test event_logger::tests::test_log_and_read ... ok
[INFO] [stdout] test event_logger::tests::test_payload_truncation_with_multibyte_chars ... ok
[INFO] [stdout] test event_logger::tests::test_object_payload_from_ralph_emit_json ... ok
[INFO] [stdout] test event_logger::tests::test_payload_truncation ... ok
[INFO] [stdout] test event_logger::tests::test_read_last ... ok
[INFO] [stdout] test event_loop::loop_state::tests::repeated_non_progress_topics_still_accumulate_stale_loop_count ... ok
[INFO] [stdout] test event_loop::loop_state::tests::repeated_task_complete_does_not_accumulate_stale_loop_count ... ok
[INFO] [stdout] test diagnostics::trace_layer::tests::test_layer_captures_all_levels ... ok
[INFO] [stdout] test event_logger::tests::test_event_record_backwards_compat_no_wave_fields ... ok
[INFO] [stdout] test event_logger::tests::test_event_record_wave_roundtrip_through_jsonl ... ok
[INFO] [stdout] test event_loop::tests::test_active_hat_with_instructions_and_publishing_guide ... ok
[INFO] [stdout] test event_loop::tests::test_active_hat_gets_publishing_guide_not_topology ... ok
[INFO] [stdout] test event_loop::tests::test_always_hatless_no_backend_delegation ... ok
[INFO] [stdout] test event_loop::tests::test_always_hatless_ralph_executes_all_iterations ... ok
[INFO] [stdout] test event_loop::tests::test_always_hatless_collects_all_pending_events ... ok
[INFO] [stdout] test event_loop::tests::test_always_hatless_solo_mode_unchanged ... ok
[INFO] [stdout] test event_loop::tests::test_build_done_backpressure_rejects_duplication ... ok
[INFO] [stdout] test event_loop::tests::test_builder_cannot_terminate_loop ... ok
[INFO] [stdout] test event_logger::tests::test_event_record_propagates_wave_metadata ... ok
[INFO] [stdout] test event_loop::tests::test_build_done_backpressure_accepts_mutants_warning ... ok
[INFO] [stdout] test event_loop::tests::test_build_done_backpressure_rejects_high_complexity ... ok
[INFO] [stdout] test event_loop::tests::test_build_prompt_uses_custom_hat_for_non_defaults ... ok
[INFO] [stdout] test event_loop::tests::test_build_prompt_uses_ghuntley_style_for_all_hats ... ok
[INFO] [stdout] test event_loop::tests::test_chain_validation_accepts_completion_with_all_required_events ... ok
[INFO] [stdout] test diagnostics::integration_tests::tests::test_event_loop_logs_loop_terminated ... ok
[INFO] [stdout] test event_loop::tests::test_chain_validation_empty_required_events_allows_completion ... ok
[INFO] [stdout] test event_loop::tests::test_chain_validation_injects_task_resume_on_rejection ... ok
[INFO] [stdout] test event_loop::tests::test_chain_validation_tracks_topics_across_iterations ... ok
[INFO] [stdout] test event_loop::tests::test_check_for_user_prompt_extracts_id_and_text ... ok
[INFO] [stdout] test event_loop::tests::test_check_for_user_prompt_returns_none_when_no_user_prompt ... ok
[INFO] [stdout] test diagnostics::performance::tests::test_performance_logger_creates_file ... ok
[INFO] [stdout] test event_loop::tests::test_check_ralph_completion_detection ... ok
[INFO] [stdout] test event_loop::tests::test_completion_promise_detection ... ok
[INFO] [stdout] test event_loop::tests::test_build_done_backpressure_rejects_performance_regression ... ok
[INFO] [stdout] test event_loop::tests::test_completion_promise_requires_last_event ... ok
[INFO] [stdout] test event_loop::tests::test_completion_promise_with_open_tasks_in_scratchpad_still_terminates ... ok
[INFO] [stdout] test event_loop::tests::test_completion_promise_with_pending_tasks_in_task_store_is_rejected ... ok
[INFO] [stdout] test event_loop::tests::test_consecutive_failures_increments_on_failed_output ... ok
[INFO] [stdout] test diagnostics::trace_layer::tests::test_fields_serialized_correctly ... ok
[INFO] [stdout] test event_loop::tests::test_chain_validation_rejects_completion_without_required_events ... ok
[INFO] [stdout] test event_loop::tests::test_check_for_user_prompt_detects_user_prompt_event ... ok
[INFO] [stdout] test event_loop::tests::test_check_hat_exhaustion_emits_once_at_limit ... ok
[INFO] [stdout] test diagnostics::tests::test_diagnostics_enabled_creates_directory ... ok
[INFO] [stdout] test event_loop::tests::test_consecutive_failures_resets_on_success ... ok
[INFO] [stdout] test event_loop::tests::test_cost_based_termination ... ok
[INFO] [stdout] test event_loop::tests::test_custom_hat_instructions_included_in_prompt ... ok
[INFO] [stdout] test event_loop::tests::test_custom_hat_with_instructions_uses_build_custom_hat ... ok
[INFO] [stdout] test event_loop::tests::test_custom_scratchpad_overrides_loop_context ... ok
[INFO] [stdout] test event_loop::tests::test_default_hat_with_custom_instructions_uses_build_custom_hat ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_injects_when_no_events ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_skipped_when_non_orphan_event_written ... ok
[INFO] [stdout] test event_loop::tests::test_determine_active_hats ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_not_injected_when_not_configured ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_completion_promise_triggers_termination ... ok
[INFO] [stdout] test event_loop::tests::test_determine_active_hat_ids_falls_back_to_entrypoint_when_no_progressed_events ... ok
[INFO] [stdout] test event_loop::tests::test_determine_active_hat_ids_excludes_entrypoint_hats_when_progressed_events_exist ... ok
[INFO] [stdout] test event_loop::tests::test_custom_hat_without_instructions_gets_default_behavior ... ok
[INFO] [stdout] test event_loop::tests::test_exit_codes_per_spec ... ok
[INFO] [stdout] test event_loop::tests::test_done_section_suppressed_for_active_hat_via_event_loop ... ok
[INFO] [stdout] test event_loop::tests::test_extract_prompt_id_fallback_prefix ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_not_injected_when_events_written ... ok
[INFO] [stdout] test event_loop::tests::test_extract_prompt_id_from_xml_format ... ok
[INFO] [stdout] test event_loop::tests::test_extract_prompt_id_prefers_xml_id ... ok
[INFO] [stdout] test event_loop::tests::test_extract_task_id_first_line_and_default ... ok
[INFO] [stdout] test event_loop::tests::test_format_duration_variants ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_matches_prompt_active_hat_selection ... ok
[INFO] [stdout] test event_loop::tests::test_format_event_wraps_top_level_prompts ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_no_pending_returns_ralph ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_deterministic_with_multiple_pending ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_with_pending_event ... ok
[INFO] [stdout] test event_loop::tests::test_guidance_appends_to_existing_scratchpad ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_honors_direct_target_before_topic_lookup ... ok
[INFO] [stdout] test event_loop::tests::test_get_hat_backend_with_named_backend ... ok
[INFO] [stdout] test event_loop::tests::test_get_hat_backend_inherits_global ... ok
[INFO] [stdout] test event_loop::tests::test_guidance_persisted_to_scratchpad ... ok
[INFO] [stdout] test event_loop::tests::test_get_hat_backend_with_kiro_agent ... ok
[INFO] [stdout] test event_loop::tests::test_get_hat_publishes_returns_configured_topics ... ok
[INFO] [stdout] test event_loop::tests::test_has_pending_human_events_detects_guidance ... ok
[INFO] [stdout] test event_loop::tests::test_guidance_persists_across_iterations_multi_hat_mode ... ok
[INFO] [stdout] test event_loop::tests::test_default_publishes_satisfies_required_events_for_completion ... ok
[INFO] [stdout] test event_loop::tests::test_has_pending_plan_events_in_jsonl_peeks_without_consuming ... ok
[INFO] [stdout] test event_loop::tests::test_guidance_persists_across_iterations_solo_mode ... ok
[INFO] [stdout] test event_logger::tests::test_filter_by_topic ... ok
[INFO] [stdout] test diagnostics::tests::test_performance_logger_integration ... ok
[INFO] [stdout] test diagnostics::stream_handler::tests::test_thread_safety ... ok
[INFO] [stdout] test event_loop::tests::test_human_response_restart_request_creates_restart_signal_file ... ok
[INFO] [stdout] test event_loop::tests::test_hatless_mode_builds_ralph_prompt ... ok
[INFO] [stdout] test event_loop::tests::test_has_pending_human_events_ignores_non_human ... ok
[INFO] [stdout] test event_loop::tests::test_hatless_mode_registers_ralph_catch_all ... ok
[INFO] [stdout] test event_loop::tests::test_hat_max_activations_emits_exhausted_event ... ok
[INFO] [stdout] test event_loop::tests::test_get_active_hat_id_prefers_semantic_event_over_targeted_task_resume ... ok
[INFO] [stdout] test event_loop::tests::test_initialization_routes_to_ralph_in_multihat_mode ... ok
[INFO] [stdout] test event_loop::tests::test_human_timeout_injects_timeout_event ... ok
[INFO] [stdout] test event_loop::tests::test_loop_cancel_disabled_when_empty_string ... ok
[INFO] [stdout] test event_loop::tests::test_loop_cancel_takes_priority_over_completion ... ok
[INFO] [stdout] test event_loop::tests::test_inject_robot_skill_when_enabled ... ok
[INFO] [stdout] test event_loop::tests::test_malformed_events_increment_counter ... ok
[INFO] [stdout] test event_loop::tests::test_loop_thrashing_detection ... ok
[INFO] [stdout] test event_loop::tests::test_inject_fallback_event_defaults_to_ralph ... ok
[INFO] [stdout] test event_loop::tests::test_loop_cancel_is_not_success ... ok
[INFO] [stdout] test event_loop::tests::test_inject_fallback_event_targets_last_hat ... ok
[INFO] [stdout] test event_loop::tests::test_initialize_stores_objective_in_ralph ... ok
[INFO] [stdout] test event_loop::tests::test_loop_cancel_terminates_without_chain_validation ... ok
[INFO] [stdout] test event_loop::tests::test_non_persistent_mode_terminates_on_loop_complete ... ok
[INFO] [stdout] test event_loop::tests::test_paths_use_loop_context_when_present ... ok
[INFO] [stdout] test event_loop::tests::test_mutation_warning_reason_variants ... ok
[INFO] [stdout] test event_loop::tests::test_paths_fallback_to_config_when_no_context ... ok
[INFO] [stdout] test event_loop::tests::test_malformed_counter_resets_on_valid_event ... ok
[INFO] [stdout] test event_loop::tests::test_partial_completion_with_cancelled_tasks ... ok
[INFO] [stdout] test event_loop::tests::test_inject_robot_skill_skipped_when_disabled ... ok
[INFO] [stdout] test event_loop::tests::test_human_response_still_works ... ok
[INFO] [stdout] test event_loop::tests::test_persistent_mode_suppresses_loop_complete ... ok
[INFO] [stdout] test event_loop::tests::test_record_hat_activations_increments_counts ... ok
[INFO] [stdout] test event_loop::tests::test_planner_auto_cancellation_after_three_blocks ... ok
[INFO] [stdout] test event_loop::tests::test_persistent_mode_still_respects_hard_limits ... ok
[INFO] [stdout] test event_loop::tests::test_review_done_backpressure_accepts_verified ... ok
[INFO] [stdout] test event_loop::tests::test_review_done_backpressure_rejects_failed_checks ... ok
[INFO] [stdout] test event_loop::tests::test_review_done_backpressure_rejects_unverified ... ok
[INFO] [stdout] test event_loop::tests::test_process_events_from_jsonl_reports_when_plan_topics_absent ... ok
[INFO] [stdout] test event_loop::tests::test_scope_enforcement_drops_unauthorized_event ... ok
[INFO] [stdout] test event_loop::tests::test_scratchpad_injection_ordering ... ok
[INFO] [stdout] test event_loop::tests::test_scope_enforcement_skipped_when_no_active_hats ... ok
[INFO] [stdout] test event_loop::tests::test_task_cancellation_with_tilde_marker ... ok
[INFO] [stdout] test event_loop::tests::test_sync_event_reader_prevents_start_event_double_delivery ... ok
[INFO] [stdout] test event_loop::tests::test_stop_requested_termination_clears_signal ... ok
[INFO] [stdout] test event_loop::tests::test_scratchpad_injection_empty_file ... ok
[INFO] [stdout] test event_loop::tests::test_scratchpad_injection_no_file ... ok
[INFO] [stdout] test event_loop::tests::test_scope_violation_event_published ... ok
[INFO] [stdout] test event_loop::tests::test_scope_enforcement_allows_authorized_event ... ok
[INFO] [stdout] test event_loop::tests::test_pending_human_interact_context_in_jsonl_peeks_without_consuming ... ok
[INFO] [stdout] test event_loop::tests::test_loop_cancel_exit_code_is_zero ... ok
[INFO] [stdout] test event_loop::tests::test_scratchpad_injection_with_content ... ok
[INFO] [stdout] test event_loop::tests::test_task_counts_and_open_task_list ... ok
[INFO] [stdout] test event_loop::tests::test_scratchpad_injection_tail_truncation ... ok
[INFO] [stdout] test event_loop::tests::test_termination_reason_exit_codes ... ok
[INFO] [stdout] test event_loop::tests::test_termination_reason_strings_and_flags ... ok
[INFO] [stdout] test event_loop::tests::test_termination_status_texts ... ok
[INFO] [stdout] test event_loop::tests::test_termination_max_iterations ... ok
[INFO] [stdout] test event_loop::tests::test_termination_reason_mappings ... ok
[INFO] [stdout] test event_loop::tests::test_thrashing_counter_increments_on_blocked_events ... ok
[INFO] [stdout] test event_loop::tests::test_thrashing_counter_resets_on_non_blocked_event ... ok
[INFO] [stdout] test event_loop::tests::test_validation_failure_termination_at_threshold ... ok
[INFO] [stdout] test event_loop::tests::test_user_prompt_restart_request_creates_restart_signal_file ... ok
[INFO] [stdout] test event_loop::tests::test_verify_passed_backpressure_accepts_quality_report ... ok
[INFO] [stdout] test event_parser::tests::test_contains_promise_ignores_event_payloads ... ok
[INFO] [stdout] test event_parser::tests::test_contains_promise_mixed_content ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_all_pass ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_specs_omitted_does_not_block ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_ansi_codes ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_missing ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_mutants_pass ... ok
[INFO] [stdout] test event_parser::tests::test_contains_promise_requires_last_line ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_specs_comma_separated ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_partial ... ok
[INFO] [stdout] test event_loop::tests::test_verify_tasks_complete_missing_and_pending ... ok
[INFO] [stdout] test event_loop::tests::test_verify_passed_backpressure_rejects_failed_thresholds ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_mutants_warn ... ok
[INFO] [stdout] test event_parser::tests::test_contains_promise_detects_outside_events ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_performance_regression ... ok
[INFO] [stdout] test event_loop::tests::test_verify_scratchpad_complete_variants ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_specs_fail ... ok
[INFO] [stdout] test event_loop::tests::test_verify_passed_backpressure_rejects_missing_quality_report ... ok
[INFO] [stdout] test event_loop::tests::test_wave_results_activate_synthesizer ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_with_specs_pass ... ok
[INFO] [stdout] test event_parser::tests::test_no_events ... ok
[INFO] [stdout] test event_parser::tests::test_parse_event_with_target ... ok
[INFO] [stdout] test event_parser::tests::test_parse_multiple_events ... ok
[INFO] [stdout] test event_parser::tests::test_parse_quality_report_fails_thresholds ... ok
[INFO] [stdout] test event_parser::tests::test_parse_quality_report_missing ... ok
[INFO] [stdout] test event_parser::tests::test_parse_quality_report_passes_thresholds ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_build_fail ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_tests_fail ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_missing ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_with_ansi_codes ... ok
[INFO] [stdout] test event_parser::tests::test_parse_specs_evidence_only ... ok
[INFO] [stdout] test event_parser::tests::test_promise_in_event_tags ... ok
[INFO] [stdout] test event_parser::tests::test_parse_with_source ... ok
[INFO] [stdout] test event_parser::tests::test_strip_ansi_function ... ok
[INFO] [stdout] test event_parser::tests::test_strip_event_tags ... ok
[INFO] [stdout] test event_parser::tests::test_parse_single_event ... ok
[INFO] [stdout] test event_reader::tests::test_empty_file ... ok
[INFO] [stdout] test event_parser::tests::test_parse_backpressure_evidence_some_fail ... ok
[INFO] [stdout] test event_reader::tests::test_event_reader_backwards_compat_no_wave_fields ... ok
[INFO] [stdout] test event_reader::tests::test_event_reader_parses_wave_metadata ... ok
[INFO] [stdout] test event_parser::tests::test_quality_report_specs_omitted_passes ... ok
[INFO] [stdout] test event_parser::tests::test_quality_report_with_specs_fail ... ok
[INFO] [stdout] test event_reader::tests::test_event_reader_mixed_wave_and_non_wave ... ok
[INFO] [stdout] test event_parser::tests::test_quality_report_with_specs_pass ... ok
[INFO] [stdout] test event_reader::tests::test_captures_malformed_lines ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_all_pass ... ok
[INFO] [stdout] test event_parser::tests::test_parse_review_evidence_partial ... ok
[INFO] [stdout] test event_reader::tests::test_from_event_reader_to_proto_none_payload ... ok
[INFO] [stdout] test event_reader::tests::test_from_event_reader_to_proto_with_wave ... ok
[INFO] [stdout] test event_reader::tests::test_from_event_reader_to_proto_without_wave ... ok
[INFO] [stdout] test event_reader::tests::test_missing_file ... ok
[INFO] [stdout] test event_reader::tests::test_mixed_valid_invalid_handling ... ok
[INFO] [stdout] test event_reader::tests::test_mixed_payload_formats ... ok
[INFO] [stdout] test event_reader::tests::test_nested_object_payload ... ok
[INFO] [stdout] test event_reader::tests::test_peek_new_events_does_not_advance_position ... ok
[INFO] [stdout] test event_reader::tests::test_reset_position ... ok
[INFO] [stdout] test event_reader::tests::test_structured_payload_as_object ... ok
[INFO] [stdout] test file_lock::tests::test_shared_blocks_exclusive ... ok
[INFO] [stdout] test file_lock::tests::test_shared_lock_acquired ... ok
[INFO] [stdout] test file_lock::tests::test_locked_file_read_nonexistent ... ok
[INFO] [stdout] test file_lock::tests::test_locked_file_read_write ... ok
[INFO] [stdout] test event_reader::tests::test_tracks_position ... ok
[INFO] [stdout] test file_lock::tests::test_exclusive_blocks_shared ... ok
[INFO] [stdout] test file_lock::tests::test_exclusive_lock_acquired ... ok
[INFO] [stdout] test file_lock::tests::test_lock_file_path ... ok
[INFO] [stdout] test file_lock::tests::test_lock_file_path_no_extension ... ok
[INFO] [stdout] test file_lock::tests::test_lock_released_on_drop ... ok
[INFO] [stdout] test file_lock::tests::test_multiple_shared_locks ... ok
[INFO] [stdout] test event_reader::tests::test_read_new_events ... ok
[INFO] [stdout] test file_lock::tests::test_concurrent_writes_serialized ... ok
[INFO] [stdout] test event_parser::tests::test_extract_first_number_quality_line ... ok
[INFO] [stdout] test file_lock::tests::test_blocking_lock_waits ... ok
[INFO] [stdout] test git_ops::tests::test_get_current_branch_custom ... ok
[INFO] [stdout] test git_ops::tests::test_clean_stashes_empty ... ok
[INFO] [stdout] test git_ops::tests::test_get_commit_summary ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_unstaged_modifications ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_working_tree_clean_after ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_no_changes ... ok
[INFO] [stdout] test git_ops::tests::test_get_current_branch ... ok
[INFO] [stdout] test git_ops::tests::test_get_recent_files ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_untracked_files ... ok
[INFO] [stdout] test handoff::tests::test_truncate_prompt_long ... ok
[INFO] [stdout] test git_ops::tests::test_prune_remote_refs_no_origin ... ok
[INFO] [stdout] test handoff::tests::test_truncate_prompt_with_emoji ... ok
[INFO] [stdout] test handoff::tests::test_truncate_prompt_with_emoji_near_boundary ... ok
[INFO] [stdout] test handoff::tests::test_truncate_prompt_short ... ok
[INFO] [stdout] test hat_registry::tests::test_can_publish_allows_declared_topic ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_only_gitignored_files ... ok
[INFO] [stdout] test hat_registry::tests::test_can_publish_allows_wildcard ... ok
[INFO] [stdout] test hat_registry::tests::test_can_publish_rejects_undeclared_topic ... ok
[INFO] [stdout] test hat_registry::tests::test_can_publish_unknown_hat_allows_all ... ok
[INFO] [stdout] test hat_registry::tests::test_empty_config_creates_empty_registry ... ok
[INFO] [stdout] test hat_registry::tests::test_custom_hats_from_config ... ok
[INFO] [stdout] test hat_registry::tests::test_empty_registry_has_no_subscribers ... ok
[INFO] [stdout] test hat_registry::tests::test_find_subscribers ... ok
[INFO] [stdout] test hat_registry::tests::test_get_for_topic ... ok
[INFO] [stdout] test hat_registry::tests::test_get_for_topic_returns_alphabetically_first_hat ... ok
[INFO] [stdout] test hat_registry::tests::test_has_subscriber ... ok
[INFO] [stdout] test hat_registry::tests::test_find_by_trigger_returns_alphabetically_first_hat ... ok
[INFO] [stdout] test hat_registry::tests::test_subscribers_returns_deterministic_order ... ok
[INFO] [stdout] test git_ops::tests::test_has_uncommitted_changes_staged ... ok
[INFO] [stdout] test hatless_ralph::tests::test_done_section_suppressed_when_hat_active ... ok
[INFO] [stdout] test hatless_ralph::tests::test_constraint_lists_valid_events_when_coordinating ... ok
[INFO] [stdout] test hatless_ralph::tests::test_done_section_present_when_coordinating ... ok
[INFO] [stdout] test hatless_ralph::tests::test_done_section_without_objective ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_all_orphan_events ... ok
[INFO] [stdout] test hatless_ralph::tests::test_empty_instructions_not_rendered ... ok
[INFO] [stdout] test git_ops::tests::test_clean_stashes_with_stash ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_no_publishes ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_receiver_without_description ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_self_loop_shows_self_as_receiver ... ok
[INFO] [stdout] test handoff::tests::test_handoff_content_has_sections ... ok
[INFO] [stdout] test hatless_ralph::tests::test_empty_context_no_pending_events_section ... ok
[INFO] [stdout] test hatless_ralph::tests::test_events_section_before_workflow ... ok
[INFO] [stdout] test hatless_ralph::tests::test_fast_path_with_starting_event ... ok
[INFO] [stdout] test git_ops::tests::test_has_uncommitted_changes_clean ... ok
[INFO] [stdout] test handoff::tests::test_handoff_with_no_tasks ... ok
[INFO] [stdout] test hatless_ralph::tests::test_guardrails_present_without_memories ... ok
[INFO] [stdout] test hatless_ralph::tests::test_guidance_appears_in_prompt_before_events ... ok
[INFO] [stdout] test hatless_ralph::tests::test_guidance_cleared_after_injection ... ok
[INFO] [stdout] test hatless_ralph::tests::test_guardrails_adapt_to_memories_mode ... ok
[INFO] [stdout] test hatless_ralph::tests::test_hat_instructions_propagated_to_prompt ... ok
[INFO] [stdout] test hatless_ralph::tests::test_multi_hat_mode_workflow_with_memories_enabled ... ok
[INFO] [stdout] test hatless_ralph::tests::test_multiple_hats_with_instructions ... ok
[INFO] [stdout] test hatless_ralph::tests::test_multiple_active_hats_all_included ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_active_hats_no_instructions ... ok
[INFO] [stdout] test hatless_ralph::tests::test_multiple_guidance_squashing ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_multiple_receivers ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_includes_self ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_mixed_changes ... ok
[INFO] [stdout] test hatless_ralph::tests::test_events_context_included_in_prompt ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_constraint_when_hat_is_active ... ok
[INFO] [stdout] test hatless_ralph::tests::test_event_publishing_guide_with_receivers ... ok
[INFO] [stdout] test handoff::tests::test_handoff_with_tasks ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_objective_when_not_set ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_constraint_when_no_hats ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_tasks_section_in_core_prompt ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_in_done_section_when_coordinating ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_persists_across_iterations ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_reinforced_in_done_section ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_with_events_context ... ok
[INFO] [stdout] test handoff::tests::test_handoff_writer_creates_file ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_appears_before_pending_events ... ok
[INFO] [stdout] test hatless_ralph::tests::test_only_active_hat_instructions_included ... ok
[INFO] [stdout] test hatless_ralph::tests::test_scratchpad_format_documented ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_returns_correct_sha ... ok
[INFO] [stdout] test hatless_ralph::tests::test_prompt_without_hats ... ok
[INFO] [stdout] test hatless_ralph::tests::test_scratchpad_included_with_memories_enabled ... ok
[INFO] [stdout] test hatless_ralph::tests::test_rfc2119_patterns_present ... ok
[INFO] [stdout] test hatless_ralph::tests::test_scratchpad_always_included ... ok
[INFO] [stdout] test hatless_ralph::tests::test_scratchpad_mode_still_has_commit_step ... ok
[INFO] [stdout] test hatless_ralph::tests::test_task_closure_verification_in_done_section ... ok
[INFO] [stdout] test hatless_ralph::tests::test_whitespace_only_context_no_pending_events_section ... ok
[INFO] [stdout] test hatless_ralph::tests::test_workflow_references_both_scratchpad_and_tasks_with_memories ... ok
[INFO] [stdout] test hatless_ralph::tests::test_topology_table_only_when_ralph_coordinating ... ok
[INFO] [stdout] test hatless_ralph::tests::test_single_guidance_injection ... ok
[INFO] [stdout] test hatless_ralph::tests::test_starting_event_in_prompt ... ok
[INFO] [stdout] test hatless_ralph::tests::test_workflow_verify_and_commit_step ... ok
[INFO] [stdout] test hooks::engine::tests::build_payload_defaults_optional_context_fields ... ok
[INFO] [stdout] test hooks::engine::tests::resolve_phase_event_preserves_declaration_order ... ok
[INFO] [stdout] test hooks::engine::tests::resolve_phase_event_returns_empty_for_unconfigured_or_unknown_phase ... ok
[INFO] [stdout] test hooks::engine::tests::resolve_phase_event_applies_defaults_and_per_hook_overrides ... ok
[INFO] [stdout] test hooks::engine::tests::build_payload_maps_loop_iteration_and_context_fields ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_injection_when_no_guidance ... ok
[INFO] [stdout] test hatless_ralph::tests::test_no_starting_event_instruction_when_none ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_section_present_with_set_objective ... ok
[INFO] [stdout] test hatless_ralph::tests::test_objective_set_correctly ... ok
[INFO] [stdout] test hatless_ralph::tests::test_should_handle_always_true ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_suspend_state_record_serializes_v1_schema_shape ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_paths_resolve_under_workspace_ralph_dir ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_clear_suspend_state_is_idempotent ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_read_suspend_state_invalid_json_returns_deserialize_error ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_resume_signal_is_single_use ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_write_and_read_suspend_state_round_trip ... ok
[INFO] [stdout] test hooks::suspend_state::tests::test_write_suspend_state_replaces_file_without_leaking_temp_files ... ok
[INFO] [stdout] test instructions::tests::test_custom_guardrails_injected ... ok
[INFO] [stdout] test instructions::tests::test_must_publish_not_injected_when_no_publishes ... ok
[INFO] [stdout] test git_ops::tests::test_has_uncommitted_changes_untracked ... ok
[INFO] [stdout] test hatless_ralph::tests::test_prompt_with_hats ... ok
[INFO] [stdout] test instructions::tests::test_derived_behaviors_when_no_explicit_instructions ... ok
[INFO] [stdout] test instructions::tests::test_custom_hat_with_rfc2119_patterns ... ok
[INFO] [stdout] test instructions::tests::test_must_publish_injected_for_explicit_instructions ... ok
[INFO] [stdout] test git_ops::tests::test_has_uncommitted_changes_modified ... ok
[INFO] [stdout] test git_ops::tests::test_auto_commit_staged_changes ... ok
[INFO] [stdout] test loop_completion::tests::test_default_handler_has_auto_merge_enabled ... ok
[INFO] [stdout] test git_ops::tests::test_is_working_tree_clean ... ok
[INFO] [stdout] test hooks::executor::tests::run_truncates_stdout_and_stderr_at_max_output_bytes ... ok
[INFO] [stdout] test hooks::executor::tests::run_writes_json_payload_to_hook_stdin ... ok
[INFO] [stdout] test hooks::executor::tests::run_reports_successful_exit_and_stream_content ... ok
[INFO] [stdout] test loop_completion::tests::test_primary_loop_with_landing ... ok
[INFO] [stdout] test loop_context::tests::test_context_path ... ok
[INFO] [stdout] test loop_context::tests::test_current_events_marker ... ok
[INFO] [stdout] test loop_context::tests::test_ensure_directories ... ok
[INFO] [stdout] test loop_context::tests::test_generate_context_file_primary_noop ... ok
[INFO] [stdout] test loop_context::tests::test_generate_context_file_worktree ... ok
[INFO] [stdout] test loop_context::tests::test_memory_symlink_primary_noop ... ok
[INFO] [stdout] test loop_context::tests::test_memory_symlink_worktree ... ok
[INFO] [stdout] test loop_context::tests::test_planning_session_directory_creation ... ok
[INFO] [stdout] test loop_context::tests::test_planning_session_paths ... ok
[INFO] [stdout] test loop_context::tests::test_planning_sessions_paths ... ok
[INFO] [stdout] test loop_context::tests::test_primary_context ... ok
[INFO] [stdout] test loop_context::tests::test_primary_path_resolution ... ok
[INFO] [stdout] test loop_context::tests::test_code_tasks_symlink_worktree ... ok
[INFO] [stdout] test hooks::executor::tests::run_preserves_non_zero_exit_code_without_timeout ... ok
[INFO] [stdout] test loop_context::tests::test_specs_symlink_worktree ... ok
[INFO] [stdout] test loop_context::tests::test_setup_worktree_symlinks ... ok
[INFO] [stdout] test loop_context::tests::test_worktree_path_resolution ... ok
[INFO] [stdout] test loop_history::tests::test_append_and_read ... ok
[INFO] [stdout] test loop_history::tests::test_empty_file ... ok
[INFO] [stdout] test loop_context::tests::test_worktree_context ... ok
[INFO] [stdout] test loop_history::tests::test_get_prompt ... ok
[INFO] [stdout] test loop_history::tests::test_is_completed ... ok
[INFO] [stdout] test loop_history::tests::test_is_completed_terminated ... ok
[INFO] [stdout] test loop_history::tests::test_merge_events ... ok
[INFO] [stdout] test loop_history::tests::test_last_iteration ... ok
[INFO] [stdout] test loop_history::tests::test_serialization_format ... ok
[INFO] [stdout] test loop_history::tests::test_summary ... ok
[INFO] [stdout] test loop_lock::tests::test_acquire_lock_success ... ok
[INFO] [stdout] test loop_lock::tests::test_is_locked ... ok
[INFO] [stdout] test landing::tests::test_landing_clean_repo ... ok
[INFO] [stdout] test landing::tests::test_landing_config_disables_features ... ok
[INFO] [stdout] test loop_lock::tests::test_creates_ralph_directory ... ok
[INFO] [stdout] test landing::tests::test_landing_with_uncommitted_changes ... ok
[INFO] [stdout] test loop_lock::tests::test_lock_metadata_serialization ... ok
[INFO] [stdout] test loop_lock::tests::test_read_existing_no_file ... ok
[INFO] [stdout] test loop_name::tests::test_default_config ... ok
[INFO] [stdout] test loop_name::tests::test_extract_keywords_filters_stop_words ... ok
[INFO] [stdout] test loop_name::tests::test_extract_keywords_limits_to_three ... ok
[INFO] [stdout] test loop_name::tests::test_extract_keywords_prioritizes_verbs ... ok
[INFO] [stdout] test loop_name::tests::test_generate_empty_prompt ... ok
[INFO] [stdout] test loop_name::tests::test_generate_memorable ... ok
[INFO] [stdout] test loop_name::tests::test_generate_memorable_unique ... ok
[INFO] [stdout] test loop_name::tests::test_generate_only_stop_words ... ok
[INFO] [stdout] test loop_name::tests::test_generate_produces_valid_name ... ok
[INFO] [stdout] test loop_name::tests::test_generate_respects_max_length ... ok
[INFO] [stdout] test loop_name::tests::test_generate_memorable_unique_falls_back_to_timestamp ... ok
[INFO] [stdout] test loop_name::tests::test_generate_unique_avoids_collisions ... ok
[INFO] [stdout] test loop_name::tests::test_generate_unique_falls_back_to_timestamp ... ok
[INFO] [stdout] test loop_name::tests::test_timestamp_format ... ok
[INFO] [stdout] test loop_name::tests::test_sanitize_for_git ... ok
[INFO] [stdout] test loop_registry::tests::test_entry_serialization ... ok
[INFO] [stdout] test loop_registry::tests::test_loop_entry_creation ... ok
[INFO] [stdout] test loop_registry::tests::test_entry_serialization_no_worktree ... ok
[INFO] [stdout] test loop_registry::tests::test_loop_entry_is_alive ... ok
[INFO] [stdout] test loop_registry::tests::test_loop_entry_with_id ... ok
[INFO] [stdout] test loop_registry::tests::test_loop_entry_with_worktree ... ok
[INFO] [stdout] test loop_registry::tests::test_no_worktree_entry_unaffected ... ok
[INFO] [stdout] test loop_registry::tests::test_loop_entry_id_format ... ok
[INFO] [stdout] test landing::tests::test_landing_generates_handoff_content ... ok
[INFO] [stdout] test landing::tests::test_landing_with_stashes ... ok
[INFO] [stdout] test landing::tests::test_landing_with_open_tasks ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_creates_file ... ok
[INFO] [stdout] test loop_lock::tests::test_read_existing_with_lock ... ok
[INFO] [stdout] test loop_lock::tests::test_lock_released_on_drop ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_get ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_get_nonexistent ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_register_and_list ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_deregister_nonexistent ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_persistence ... ok
[INFO] [stdout] test loop_registry::tests::test_zombie_worktree_detected_as_dead ... ok
[INFO] [stdout] test memory::tests::test_memory_has_any_tag ... ok
[INFO] [stdout] test memory::tests::test_memory_id_format ... ok
[INFO] [stdout] test memory::tests::test_memory_matches_query ... ok
[INFO] [stdout] test memory::tests::test_memory_type_all ... ok
[INFO] [stdout] test memory::tests::test_memory_serde_roundtrip ... ok
[INFO] [stdout] test memory::tests::test_memory_new ... ok
[INFO] [stdout] test memory::tests::test_memory_type_default ... ok
[INFO] [stdout] test memory::tests::test_memory_type_emojis ... ok
[INFO] [stdout] test memory::tests::test_memory_type_display ... ok
[INFO] [stdout] test memory::tests::test_memory_type_from_str ... ok
[INFO] [stdout] test memory::tests::test_memory_type_from_section ... ok
[INFO] [stdout] test memory::tests::test_memory_type_section_names ... ok
[INFO] [stdout] test memory::tests::test_memory_type_serde ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_different_pids_coexist ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_empty_file ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_replaces_same_pid ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_deregister ... ok
[INFO] [stdout] test loop_registry::tests::test_registry_same_pid_replaces ... ok
[INFO] [stdout] test landing::tests::test_worktree_landing ... ok
[INFO] [stdout] test loop_registry::tests::test_deregister_current_process ... ok
[INFO] [stdout] test loop_completion::tests::test_worktree_loop_auto_merge_enqueues ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_empty_tags ... ok
[INFO] [stdout] test loop_registry::tests::test_with_lock_keeps_zombie_until_explicit_cleanup ... ok
[INFO] [stdout] test loop_completion::tests::test_worktree_loop_auto_commits_uncommitted_changes ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_single_memory ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_missing_metadata_uses_defaults ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_multiple_sections ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_memory_without_content_is_skipped ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_multiline_content ... ok
[INFO] [stdout] test memory_store::tests::test_append_to_different_sections ... ok
[INFO] [stdout] test memory_parser::tests::test_parse_ignores_malformed_blocks ... ok
[INFO] [stdout] test memory_store::tests::test_format_memories_as_markdown_grouped_by_type ... ok
[INFO] [stdout] test memory_store::tests::test_format_memories_as_markdown_empty ... ok
[INFO] [stdout] test memory_store::tests::test_format_memories_as_markdown_single ... ok
[INFO] [stdout] test memory_store::tests::test_append_creates_file_if_missing ... ok
[INFO] [stdout] test memory_store::tests::test_delete_returns_false_for_nonexistent ... ok
[INFO] [stdout] test memory_store::tests::test_append_to_existing_section ... ok
[INFO] [stdout] test memory_store::tests::test_init_creates_file ... ok
[INFO] [stdout] test memory_store::tests::test_init_fails_if_exists_without_force ... ok
[INFO] [stdout] test loop_completion::tests::test_worktree_loop_no_auto_merge_manual ... ok
[INFO] [stdout] test memory_store::tests::test_get_returns_none_for_nonexistent ... ok
[INFO] [stdout] test loop_completion::tests::test_worktree_loop_no_auto_commit_when_clean ... ok
[INFO] [stdout] test memory_store::tests::test_get_finds_memory ... ok
[INFO] [stdout] test memory_store::tests::test_load_empty_file ... ok
[INFO] [stdout] test memory_store::tests::test_multiline_content_roundtrip ... ok
[INFO] [stdout] test memory_store::tests::test_filter_by_type ... ok
[INFO] [stdout] test memory_store::tests::test_search_matches_content ... ok
[INFO] [stdout] test memory_store::tests::test_init_with_force_overwrites ... ok
[INFO] [stdout] test memory_store::tests::test_filter_by_tags ... ok
[INFO] [stdout] test memory_store::tests::test_delete_removes_memory ... ok
[INFO] [stdout] test memory_store::tests::test_truncate_to_budget_adds_notice ... ok
[INFO] [stdout] test memory_store::tests::test_truncate_to_budget_zero_means_unlimited ... ok
[INFO] [stdout] test memory_store::tests::test_truncate_to_budget_no_truncation_needed ... ok
[INFO] [stdout] test merge_queue::tests::test_event_serialization ... ok
[INFO] [stdout] test memory_store::tests::test_search_matches_tags ... ok
[INFO] [stdout] test merge_queue::tests::test_empty_queue ... ok
[INFO] [stdout] test merge_queue::tests::test_not_found ... ok
[INFO] [stdout] test merge_queue::tests::test_invalid_transition_queued_to_merged ... ok
[INFO] [stdout] test merge_queue::tests::test_creates_ralph_directory ... ok
[INFO] [stdout] test merge_queue::tests::test_discard_from_queued ... ok
[INFO] [stdout] test merge_queue::tests::test_invalid_transition_merged_to_needs_review ... ok
[INFO] [stdout] test planning_session::tests::test_generate_session_id ... ok
[INFO] [stdout] test merge_queue::tests::test_full_merge_lifecycle ... ok
[INFO] [stdout] test planning_session::tests::test_find_response ... ok
[INFO] [stdout] test merge_queue::tests::test_merge_needs_review ... ok
[INFO] [stdout] test planning_session::tests::test_append_prompt_and_response ... ok
[INFO] [stdout] test planning_session::tests::test_create_new_session ... ok
[INFO] [stdout] test merge_queue::tests::test_discard_from_needs_review ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_bold_format ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_empty_content ... ok
[INFO] [stdout] test planning_session::tests::test_increment_iterations ... ok
[INFO] [stdout] test preflight::tests::default_checks_include_hooks_check_name ... ok
[INFO] [stdout] test planning_session::tests::test_artifacts_directory_created ... ok
[INFO] [stdout] test preflight::tests::config_check_emits_warning_details ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_given_then_without_when ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_incomplete_given_without_then_is_dropped ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_list_format ... ok
[INFO] [stdout] test merge_queue::tests::test_enqueue ... ok
[INFO] [stdout] test preflight::tests::extract_all_criteria_collects_from_directory ... ok
[INFO] [stdout] test planning_session::tests::test_load_nonexistent_session ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_multiple_triples ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_no_criteria ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_plain_text_format ... ok
[INFO] [stdout] test preflight::tests::has_acceptance_criteria_detects_bold_list_format ... ok
[INFO] [stdout] test preflight::tests::has_acceptance_criteria_detects_list_format ... ok
[INFO] [stdout] test preflight::tests::has_acceptance_criteria_detects_bold_format ... ok
[INFO] [stdout] test merge_queue::tests::test_retry_from_needs_review ... ok
[INFO] [stdout] test preflight::tests::has_acceptance_criteria_rejects_content_without_criteria ... ok
[INFO] [stdout] test merge_queue::tests::test_persistence ... ok
[INFO] [stdout] test planning_session::tests::test_load_existing_session ... ok
[INFO] [stdout] test preflight::tests::has_acceptance_criteria_requires_given_and_then ... ok
[INFO] [stdout] test preflight::tests::match_clause_extracts_text ... ok
[INFO] [stdout] test preflight::tests::report_counts_statuses ... ok
[INFO] [stdout] test preflight::tests::hooks_check_skips_when_hooks_are_disabled ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_from_file_returns_criteria ... ok
[INFO] [stdout] test preflight::tests::git_check_skips_outside_repo ... ok
[INFO] [stdout] test preflight::tests::hooks_check_passes_with_resolvable_executable_command ... ok
[INFO] [stdout] test preflight::tests::specs_check_skips_implemented_specs ... ok
[INFO] [stdout] test preflight::tests::extract_criteria_from_file_skips_implemented ... ok
[INFO] [stdout] test preflight::tests::telegram_check_skips_when_disabled ... ok
[INFO] [stdout] test preflight::tests::hooks_check_fails_with_actionable_duplicate_and_command_diagnostics ... ok
[INFO] [stdout] test merge_queue::tests::test_list_by_state ... ok
[INFO] [stdout] test preflight::tests::paths_check_creates_missing_dirs ... ok
[INFO] [stdout] test preflight::tests::specs_check_passes_with_complete_spec ... ok
[INFO] [stdout] test preflight::tests::specs_check_skips_when_empty_directory ... ok
[INFO] [stdout] test skill::tests::test_empty_frontmatter ... ok
[INFO] [stdout] test preflight::tests::tools_check_reports_missing_tools ... ok
[INFO] [stdout] test preflight::tests::tools_check_warns_on_missing_optional_tools ... ok
[INFO] [stdout] test preflight::tests::run_selected_can_skip_hooks_check_failures ... ok
[INFO] [stdout] test skill::tests::test_content_body_strips_frontmatter_delimiters ... ok
[INFO] [stdout] test preflight::tests::specs_check_skips_when_no_directory ... ok
[INFO] [stdout] test skill::tests::test_parse_invalid_yaml_frontmatter ... ok
[INFO] [stdout] test skill::tests::test_parse_frontmatter_name_and_description_only ... ok
[INFO] [stdout] test skill::tests::test_parse_no_closing_delimiter ... ok
[INFO] [stdout] test skill::tests::test_parse_no_frontmatter ... ok
[INFO] [stdout] test planning_session::tests::test_set_status ... ok
[INFO] [stdout] test skill::tests::test_parse_valid_frontmatter_all_fields ... ok
[INFO] [stdout] test skill_registry::tests::test_build_index_empty_registry ... ok
[INFO] [stdout] test skill_registry::tests::test_backend_filtering ... ok
[INFO] [stdout] test preflight::tests::tools_check_skips_outside_repo ... ok
[INFO] [stdout] test skill_registry::tests::test_build_index_hat_filtering ... ok
[INFO] [stdout] test preflight::tests::specs_check_finds_specs_in_subdirectories ... ok
[INFO] [stdout] test preflight::tests::specs_check_warns_on_missing_acceptance_criteria ... ok
[INFO] [stdout] test skill_registry::tests::test_get_returns_none_for_unknown ... ok
[INFO] [stdout] test merge_queue::tests::test_next_pending_fifo ... ok
[INFO] [stdout] test skill_registry::tests::test_build_index_generates_table ... ok
[INFO] [stdout] test skill_registry::tests::test_load_skill_unknown ... ok
[INFO] [stdout] test skill_registry::tests::test_hat_filtering ... ok
[INFO] [stdout] test skill_registry::tests::test_load_skill_xml_wrapping ... ok
[INFO] [stdout] test skill_registry::tests::test_missing_directory_warns_but_no_error ... ok
[INFO] [stdout] test skill_registry::tests::test_override_adds_hat_restriction ... ok
[INFO] [stdout] test skill_registry::tests::test_override_disables_skill ... ok
[INFO] [stdout] test skill_registry::tests::test_register_builtin_skill ... ok
[INFO] [stdout] test skill_registry::tests::test_override_sets_auto_inject ... ok
[INFO] [stdout] test skill_registry::tests::test_scan_directory_discovers_md_files ... ok
[INFO] [stdout] test skill_registry::tests::test_register_builtins ... ok
[INFO] [stdout] test skill_registry::tests::test_scan_directory_discovers_skill_md_subdirs ... ok
[INFO] [stdout] test summary_writer::tests::test_format_duration ... ok
[INFO] [stdout] test summary_writer::tests::test_generate_content_basic ... ok
[INFO] [stdout] test skill_registry::tests::test_skill_name_from_frontmatter_takes_precedence ... ok
[INFO] [stdout] test skill_registry::tests::test_user_skill_overrides_builtin ... ok
[INFO] [stdout] test summary_writer::tests::test_status_text ... ok
[INFO] [stdout] test summary_writer::tests::test_write_creates_directory ... ok
[INFO] [stdout] test summary_writer::tests::test_write_with_landing ... ok
[INFO] [stdout] test task::tests::test_is_not_ready_when_not_open ... ok
[INFO] [stdout] test task::tests::test_is_ready_open_no_blockers ... ok
[INFO] [stdout] test task::tests::test_is_ready_with_closed_blocker ... ok
[INFO] [stdout] test task::tests::test_is_ready_with_open_blocker ... ok
[INFO] [stdout] test task::tests::test_is_terminal ... ok
[INFO] [stdout] test task::tests::test_priority_clamping ... ok
[INFO] [stdout] test task::tests::test_reopen_resets_terminal_state ... ok
[INFO] [stdout] test skill_registry::tests::test_from_config_full_pipeline ... ok
[INFO] [stdout] test summary_writer::tests::test_extract_tasks ... ok
[INFO] [stdout] test task::tests::test_start_marks_task_in_progress ... ok
[INFO] [stdout] test task::tests::test_task_creation ... ok
[INFO] [stdout] test task::tests::test_task_id_format ... ok
[INFO] [stdout] test task::tests::test_with_key_sets_stable_key ... ok
[INFO] [stdout] test skill_registry::tests::test_from_config_resolves_parent_skills_dir_for_relative_path ... ok
[INFO] [stdout] test task_definition::tests::test_filter_by_complexity ... ok
[INFO] [stdout] test skill_registry::tests::test_auto_inject_skills_only_returns_auto_inject ... ok
[INFO] [stdout] test task_definition::tests::test_filter_by_tag ... ok
[INFO] [stdout] test task_definition::tests::test_iteration_delta ... ok
[INFO] [stdout] test task_definition::tests::test_iteration_delta_no_expected ... ok
[INFO] [stdout] test task_definition::tests::test_setup_has_setup ... ok
[INFO] [stdout] test task_definition::tests::test_task_definition_builder ... ok
[INFO] [stdout] test task_definition::tests::test_task_definition_defaults ... ok
[INFO] [stdout] test task_definition::tests::test_task_suite_parse ... ok
[INFO] [stdout] test task_definition::tests::test_task_suite_validation_duplicates ... ok
[INFO] [stdout] test task_definition::tests::test_task_suite_validation_empty ... ok
[INFO] [stdout] test task_definition::tests::test_task_validation_empty_prompt ... ok
[INFO] [stdout] test task_definition::tests::test_task_validation_empty_verification ... ok
[INFO] [stdout] test task_definition::tests::test_task_validation_invalid_complexity ... ok
[INFO] [stdout] test task_definition::tests::test_task_validation_invalid_name ... ok
[INFO] [stdout] test task_definition::tests::test_task_validation_valid ... ok
[INFO] [stdout] test task_definition::tests::test_verification_expect_failure ... ok
[INFO] [stdout] test task_definition::tests::test_verification_new ... ok
[INFO] [stdout] test task_store::tests::test_add_and_save ... ok
[INFO] [stdout] test task_store::tests::test_close_task ... ok
[INFO] [stdout] test task_store::tests::test_ensure_deduplicates_by_key ... ok
[INFO] [stdout] test task_store::tests::test_get_task ... ok
[INFO] [stdout] test task_store::tests::test_concurrent_writes_with_lock ... ok
[INFO] [stdout] test task_store::tests::test_get_task_by_key ... ok
[INFO] [stdout] test task_store::tests::test_has_open_tasks ... ok
[INFO] [stdout] test task_store::tests::test_has_pending_tasks_excludes_failed ... ok
[INFO] [stdout] test task_store::tests::test_has_pending_tasks_failed_is_terminal ... ok
[INFO] [stdout] test task_store::tests::test_load_nonexistent_file ... ok
[INFO] [stdout] test task_store::tests::test_open_tasks ... ok
[INFO] [stdout] test task_store::tests::test_load_skips_malformed_lines ... ok
[INFO] [stdout] test task_store::tests::test_ready_tasks ... ok
[INFO] [stdout] test task_store::tests::test_reload ... ok
[INFO] [stdout] test task_store::tests::test_reopen_task ... ok
[INFO] [stdout] test task_store::tests::test_start_task ... ok
[INFO] [stdout] test task_store::tests::test_with_exclusive_lock ... ok
[INFO] [stdout] test testing::mock_backend::tests::test_mock_backend_returns_scripted_responses ... ok
[INFO] [stdout] test testing::mock_backend::tests::test_mock_backend_tracks_executions ... ok
[INFO] [stdout] test testing::scenario::tests::test_mock_backend_simulates_hat_execution ... ok
[INFO] [stdout] test testing::scenario::tests::test_scenario_creation ... ok
[INFO] [stdout] test testing::scenario::tests::test_scenario_runner_executes ... ok
[INFO] [stdout] test text::tests::test_floor_char_boundary_ascii ... ok
[INFO] [stdout] test text::tests::test_floor_char_boundary_checkmark ... ok
[INFO] [stdout] test text::tests::test_floor_char_boundary_emoji ... ok
[INFO] [stdout] test text::tests::test_floor_char_boundary_empty ... ok
[INFO] [stdout] test text::tests::test_long_string_truncated ... ok
[INFO] [stdout] test text::tests::test_single_char_truncation ... ok
[INFO] [stdout] test text::tests::test_utf8_boundaries_arrows ... ok
[INFO] [stdout] test text::tests::test_utf8_boundaries_emoji ... ok
[INFO] [stdout] test text::tests::test_utf8_boundaries_mixed ... ok
[INFO] [stdout] test text::tests::test_short_string_unchanged ... ok
[INFO] [stdout] test text::tests::test_utf8_complex_emoji ... ok
[INFO] [stdout] test text::tests::test_zero_max_chars ... ok
[INFO] [stdout] test urgent_steer::tests::append_message_creates_and_reloads_record ... ok
[INFO] [stdout] test utils::tests::format_elapsed_ignores_subsecond ... ok
[INFO] [stdout] test urgent_steer::tests::take_returns_record_and_clears_file ... ok
[INFO] [stdout] test utils::tests::format_elapsed_large_value ... ok
[INFO] [stdout] test utils::tests::format_elapsed_one_minute ... ok
[INFO] [stdout] test utils::tests::format_elapsed_pads_single_digits ... ok
[INFO] [stdout] test utils::tests::format_elapsed_seconds_only ... ok
[INFO] [stdout] test utils::tests::format_elapsed_zero ... ok
[INFO] [stdout] test utils::tests::format_elapsed_mixed ... ok
[INFO] [stdout] test wave_detection::tests::test_detect_ignores_non_wave_events ... ok
[INFO] [stdout] test wave_detection::tests::test_detect_rejects_inconsistent_topics ... ok
[INFO] [stdout] test wave_detection::tests::test_detect_ignores_sequential_hat ... ok
[INFO] [stdout] test wave_detection::tests::test_detect_sorts_by_index ... ok
[INFO] [stdout] test wave_prompt::tests::test_empty_instructions_omitted ... ok
[INFO] [stdout] test wave_prompt::tests::test_no_result_topics_skips_publishing_section ... ok
[INFO] [stdout] test wave_detection::tests::test_detect_wave_events_basic ... ok
[INFO] [stdout] test wave_detection::tests::test_unknown_topic_returns_none ... ok
[INFO] [stdout] test wave_detection::tests::test_empty_events_returns_none ... ok
[INFO] [stdout] test wave_prompt::tests::test_build_wave_worker_prompt_contains_all_sections ... ok
[INFO] [stdout] test wave_prompt::tests::test_worker_index_is_1_based_in_display ... ok
[INFO] [stdout] test wave_tracker::tests::test_default_impl ... ok
[INFO] [stdout] test wave_tracker::tests::test_multiple_concurrent_waves_tracked_independently ... ok
[INFO] [stdout] test wave_tracker::tests::test_record_result_for_unknown_wave ... ok
[INFO] [stdout] test wave_tracker::tests::test_record_results_and_failure_completes_wave ... ok
[INFO] [stdout] test wave_tracker::tests::test_register_and_record_results_until_complete ... ok
[INFO] [stdout] test wave_tracker::tests::test_result_with_multiple_events ... ok
[INFO] [stdout] test wave_tracker::tests::test_take_wave_results_returns_all_and_removes ... ok
[INFO] [stdout] test wave_tracker::tests::test_timed_out_waves_excludes_completed ... ok
[INFO] [stdout] test wave_tracker::tests::test_timed_out_waves_none_when_fresh ... ok
[INFO] [stdout] test wave_tracker::tests::test_timed_out_waves_returns_expired ... ok
[INFO] [stdout] test workspace::tests::test_cleanup_policy_from_str ... ok
[INFO] [stdout] test workspace::tests::test_extract_task_name ... ok
[INFO] [stdout] test workspace::tests::test_extract_timestamp ... ok
[INFO] [stdout] test workspace::tests::test_verification_result_summary ... ok
[INFO] [stdout] test workspace::tests::test_copy_dir_recursive ... ok
[INFO] [stdout] test workspace::tests::test_workspace_create ... ok
[INFO] [stdout] test workspace::tests::test_run_verification_captures_output ... ok
[INFO] [stdout] test workspace::tests::test_workspace_cleanup ... ok
[INFO] [stdout] test worktree::tests::test_ensure_gitignore_already_present ... ok
[INFO] [stdout] test worktree::tests::test_ensure_gitignore_existing_file ... ok
[INFO] [stdout] test workspace::tests::test_workspace_setup_missing_prompt ... ok
[INFO] [stdout] test worktree::tests::test_ensure_gitignore_new_file ... ok
[INFO] [stdout] test worktree::tests::test_ensure_gitignore_without_trailing_slash ... ok
[INFO] [stdout] test workspace::tests::test_run_verification_success ... ok
[INFO] [stdout] test workspace::tests::test_workspace_manager_apply_cleanup_on_success ... ok
[INFO] [stdout] test workspace::tests::test_run_verification_empty_command ... ok
[INFO] [stdout] test workspace::tests::test_workspace_manager_apply_cleanup_always ... ok
[INFO] [stdout] test worktree::tests::test_parse_worktree_list ... ok
[INFO] [stdout] test worktree::tests::test_not_a_repo ... ok
[INFO] [stdout] test workspace::tests::test_run_verification_custom_exit_code ... ok
[INFO] [stdout] test workspace::tests::test_workspace_setup_with_files ... ok
[INFO] [stdout] test workspace::tests::test_run_verification_failure ... ok
[INFO] [stdout] test workspace::tests::test_workspace_manager_rotate ... ok
[INFO] [stdout] test workspace::tests::test_workspace_setup_with_prompt ... ok
[INFO] [stdout] test workspace::tests::test_workspace_manager_list_workspaces ... ok
[INFO] [stdout] test worktree::tests::test_get_unstaged_modified_files ... ok
[INFO] [stdout] test worktree::tests::test_remove_nonexistent_worktree ... ok
[INFO] [stdout] test worktree::tests::test_worktree_config_default ... ok
[INFO] [stdout] test worktree::tests::test_worktree_config_path ... ok
[INFO] [stdout] test worktree::tests::test_create_worktree_already_exists ... ok
[INFO] [stdout] test worktree::tests::test_get_untracked_files ... ok
[INFO] [stdout] test worktree::tests::test_create_and_remove_worktree ... ok
[INFO] [stdout] test worktree::tests::test_list_worktrees ... ok
[INFO] [stdout] test worktree::tests::test_sync_excludes_worktrees_directory ... ok
[INFO] [stdout] test worktree::tests::test_sync_stats_returned ... ok
[INFO] [stdout] test worktree::tests::test_sync_handles_binary_files ... ok
[INFO] [stdout] test worktree::tests::test_sync_handles_nested_directories ... ok
[INFO] [stdout] test worktree::tests::test_list_ralph_worktrees ... ok
[INFO] [stdout] test hooks::executor::tests::run_marks_timed_out_when_command_exceeds_timeout ... ok
[INFO] [stdout] test worktree::tests::test_sync_untracked_files_to_worktree ... ok
[INFO] [stdout] test worktree::tests::test_worktree_exists ... ok
[INFO] [stdout] test worktree::tests::test_sync_respects_gitignore ... ok
[INFO] [stdout] test worktree::tests::test_sync_unstaged_changes_to_worktree ... ok
[INFO] [stdout] test worktree::tests::test_sync_preserves_symlinks ... ok
[INFO] [stderr]      Running tests/diagnostics_e2e.rs (/opt/rustwide/target/debug/deps/diagnostics_e2e-afcaa3ad9d9aa659)
[INFO] [stdout] test hat_registry::tests::bench_get_for_topic_baseline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 815 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_diagnostics_disabled_when_env_not_set ... ok
[INFO] [stdout] test test_diagnostics_creates_log_files ... ok
[INFO] [stdout] test test_diagnostics_files_contain_valid_jsonl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/event_loop_ralph.rs (/opt/rustwide/target/debug/deps/event_loop_ralph-120ef2bbca17b22a)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_reads_actual_events_jsonl_with_object_payloads ... ok
[INFO] [stdout] test test_ralph_prompt_includes_ghuntley_style ... ok
[INFO] [stdout] test test_ralph_prompt_multi_hat_mode_structure ... ok
[INFO] [stdout] test test_ralph_completion_only_from_ralph ... ok
[INFO] [stdout] test test_orphaned_event_falls_to_ralph ... ok
[INFO] [stdout] test test_solo_mode_memories_task_verification_requirements ... ok
[INFO] [stdout] test test_ralph_prompt_solo_mode_structure ... ok
[INFO] [stdout] test test_multihat_mode_has_workflow_section ... ok
[INFO] [stdout] test test_scratchpad_mode_no_task_verification ... ok
[INFO] [stdout] test test_repeated_task_complete_does_not_trigger_loop_stale ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hooks_config_boundary.rs (/opt/rustwide/target/debug/deps/hooks_config_boundary-dbbf29f87cdeb483)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_hooks_config_boundary_rejects_non_v1_scope_field ... ok
[INFO] [stdout] test test_hooks_config_boundary_rejects_mutation_non_json_format ... ok
[INFO] [stdout] test test_hooks_config_boundary_accepts_valid_file ... ok
[INFO] [stdout] test test_hooks_config_boundary_preserves_backwards_compat_without_hooks ... ok
[INFO] [stdout] test test_hooks_config_boundary_rejects_invalid_phase_event_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rpc_v1_contract_conformance.rs (/opt/rustwide/target/debug/deps/rpc_v1_contract_conformance-9618707aff9146d4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test rpc_v1_fixture_conformance ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rpc_v1_fixture_conformance stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rpc_v1_fixture_conformance' (1611) panicked at tests/rpc_v1_contract_conformance.rs:16:31:
[INFO] [stdout] failed reading /opt/crates/ralph-api/data/rpc-v1-schema.json: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59aa281a388a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59aa281a388a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59aa281a388a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x59aa281a388a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x59aa281ba55a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x59aa281ba55a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x59aa281a8ea2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x59aa281a8ea2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x59aa281809ff - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x59aa281809ff - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x59aa2819b039 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x59aa2776c19c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x59aa2776c19c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59aa2819b2b2 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x59aa2819b2b2 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x59aa28180ab8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x59aa281754a9 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x59aa28181a7d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x59aa281badcc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x59aa27755a34 - rpc_v1_contract_conformance::load_json::{{closure}}::h602e9391fcd25483
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/rpc_v1_contract_conformance.rs:16:31
[INFO] [stdout]   20:     0x59aa27759949 - core::result::Result<T,E>::unwrap_or_else::hb74e981e00110eef
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:1622:23
[INFO] [stdout]   21:     0x59aa2775586f - rpc_v1_contract_conformance::load_json::h8c0ec1b4179c2523
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/rpc_v1_contract_conformance.rs:16:10
[INFO] [stdout]   22:     0x59aa27754e4b - rpc_v1_contract_conformance::rpc_v1_fixture_conformance::h93dc77c08f80cbfb
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/rpc_v1_contract_conformance.rs:83:22
[INFO] [stdout]   23:     0x59aa277557d7 - rpc_v1_contract_conformance::rpc_v1_fixture_conformance::{{closure}}::hdcbda0ed48b9845a
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/rpc_v1_contract_conformance.rs:80:32
[INFO] [stdout]   24:     0x59aa277563e6 - core::ops::function::FnOnce::call_once::hf6f4d73ce1ca659b
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x59aa2776029b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x59aa2776029b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x59aa2776cc6b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x59aa2776cc6b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x59aa2776cc6b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x59aa2776cc6b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x59aa2776cc6b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x59aa2776cc6b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x59aa2776cc6b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x59aa277670c4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x59aa277670c4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x59aa2776f872 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x59aa2776f872 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x59aa2776f872 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x59aa2776f872 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x59aa2776f872 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x59aa2776f872 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x59aa2776f872 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x59aa281a2c3f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   44:     0x59aa281a2c3f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x7c863ff6daa4 - <unknown>
[INFO] [stdout]   46:     0x7c863fffaa64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rpc_v1_fixture_conformance
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test rpc_v1_contract_conformance`
[INFO] running `Command { std: "docker" "inspect" "f09699f974ed118d94859d71991aec8c905520131a2962d3b22e4df1dcf5e234", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f09699f974ed118d94859d71991aec8c905520131a2962d3b22e4df1dcf5e234", kill_on_drop: false }`
[INFO] [stdout] f09699f974ed118d94859d71991aec8c905520131a2962d3b22e4df1dcf5e234
