[INFO] fetching crate ricecoder-hooks 0.1.71...
[INFO] testing ricecoder-hooks-0.1.71 against 1.95.0 for beta-1.96-2
[INFO] extracting crate ricecoder-hooks 0.1.71 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ricecoder-hooks 0.1.71
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ricecoder-hooks 0.1.71
[INFO] tweaked toml for crates.io crate ricecoder-hooks 0.1.71 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ricecoder-hooks 0.1.71 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ricecoder-hooks 0.1.71 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_xorshift v0.4.0
[INFO] [stderr]   Downloaded wait-timeout v0.2.1
[INFO] [stderr]   Downloaded dirs v5.0.1
[INFO] [stderr]   Downloaded dirs-sys v0.4.1
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded redox_users v0.4.6
[INFO] [stderr]   Downloaded serde_spanned v0.6.9
[INFO] [stderr]   Downloaded option-ext v0.2.0
[INFO] [stderr]   Downloaded inotify-sys v0.1.5
[INFO] [stderr]   Downloaded unarray v0.1.4
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded bit-set v0.8.0
[INFO] [stderr]   Downloaded kqueue-sys v1.0.4
[INFO] [stderr]   Downloaded fsevent-sys v4.1.0
[INFO] [stderr]   Downloaded filetime v0.2.26
[INFO] [stderr]   Downloaded kqueue v1.1.1
[INFO] [stderr]   Downloaded inotify v0.9.6
[INFO] [stderr]   Downloaded getopts v0.2.24
[INFO] [stderr]   Downloaded tempfile v3.23.0
[INFO] [stderr]   Downloaded rusty-fork v0.3.1
[INFO] [stderr]   Downloaded notify v6.1.1
[INFO] [stderr]   Downloaded tracing-core v0.1.35
[INFO] [stderr]   Downloaded toml v0.8.23
[INFO] [stderr]   Downloaded uuid v1.18.1
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.7
[INFO] [stderr]   Downloaded log v0.4.28
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded cc v1.0.106
[INFO] [stderr]   Downloaded mio v0.8.11
[INFO] [stderr]   Downloaded tracing v0.1.43
[INFO] [stderr]   Downloaded pulldown-cmark v0.9.6
[INFO] [stderr]   Downloaded ricecoder-storage v0.1.71
[INFO] [stderr]   Downloaded bumpalo v3.19.0
[INFO] [stderr]   Downloaded unsafe-libyaml v0.2.11
[INFO] [stderr]   Downloaded serde_yaml v0.9.34+deprecated
[INFO] [stderr]   Downloaded bit-vec v0.8.0
[INFO] [stderr]   Downloaded proptest v1.9.0
[INFO] [stderr]   Downloaded winnow v0.7.14
[INFO] [stderr]   Downloaded unicode-width v0.2.2
[INFO] [stderr]   Downloaded libredox v0.1.10
[INFO] [stderr]   Downloaded rustix v1.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4003f3c9a4c51c1ac6a00125d4d4a78cdf81d2f598586d0d29bfe96a780b1fe7
[INFO] running `Command { std: "docker" "start" "-a" "4003f3c9a4c51c1ac6a00125d4d4a78cdf81d2f598586d0d29bfe96a780b1fe7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4003f3c9a4c51c1ac6a00125d4d4a78cdf81d2f598586d0d29bfe96a780b1fe7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4003f3c9a4c51c1ac6a00125d4d4a78cdf81d2f598586d0d29bfe96a780b1fe7", kill_on_drop: false }`
[INFO] [stdout] 4003f3c9a4c51c1ac6a00125d4d4a78cdf81d2f598586d0d29bfe96a780b1fe7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a3b6881cf9fd1392bb03614d2d4c0341600d12b8cef483f49cdf07a7027d374
[INFO] running `Command { std: "docker" "start" "-a" "0a3b6881cf9fd1392bb03614d2d4c0341600d12b8cef483f49cdf07a7027d374", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ricecoder-storage v0.1.71
[INFO] [stderr]    Compiling ricecoder-hooks v0.1.71 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.76s
[INFO] running `Command { std: "docker" "inspect" "0a3b6881cf9fd1392bb03614d2d4c0341600d12b8cef483f49cdf07a7027d374", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a3b6881cf9fd1392bb03614d2d4c0341600d12b8cef483f49cdf07a7027d374", kill_on_drop: false }`
[INFO] [stdout] 0a3b6881cf9fd1392bb03614d2d4c0341600d12b8cef483f49cdf07a7027d374
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3dd94100155c67b6dbf5da68208c4184d2bcebf3a04548babee8c4f99108dfa
[INFO] running `Command { std: "docker" "start" "-a" "f3dd94100155c67b6dbf5da68208c4184d2bcebf3a04548babee8c4f99108dfa", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling ricecoder-storage v0.1.71
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling ricecoder-hooks v0.1.71 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 50.58s
[INFO] running `Command { std: "docker" "inspect" "f3dd94100155c67b6dbf5da68208c4184d2bcebf3a04548babee8c4f99108dfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3dd94100155c67b6dbf5da68208c4184d2bcebf3a04548babee8c4f99108dfa", kill_on_drop: false }`
[INFO] [stdout] f3dd94100155c67b6dbf5da68208c4184d2bcebf3a04548babee8c4f99108dfa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] abf56133f126b544e9ab3cf13dc4a5e42320338aeef6eb7fe45123704f31c5d3
[INFO] running `Command { std: "docker" "start" "-a" "abf56133f126b544e9ab3cf13dc4a5e42320338aeef6eb7fe45123704f31c5d3", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ricecoder_hooks-b94f8541bdecbdee)
[INFO] [stdout] 
[INFO] [stdout] running 157 tests
[INFO] [stdout] test cli::commands::tests::test_delete_hook_command ... ok
[INFO] [stdout] test cli::commands::tests::test_disable_hook_command ... ok
[INFO] [stdout] test cli::commands::tests::test_enable_hook_command ... ok
[INFO] [stdout] test cli::commands::tests::test_list_hooks_command ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hook_table_disabled ... ok
[INFO] [stdout] test cli::commands::tests::test_list_hooks_json_command ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hook_json ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hooks_json ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hooks_table ... ok
[INFO] [stdout] test cli::tests::test_delete_hook ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hooks_table_empty ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hooks_table_truncation ... ok
[INFO] [stdout] test cli::tests::test_disable_hook ... ok
[INFO] [stdout] test cli::tests::test_list_hooks ... ok
[INFO] [stdout] test config::loader::tests::test_parse_yaml_invalid ... ok
[INFO] [stdout] test config::loader::tests::test_load_from_nonexistent_path ... ok
[INFO] [stdout] test config::loader::tests::test_parse_yaml_empty ... ok
[INFO] [stdout] test config::loader::tests::test_parse_yaml_missing_required_field ... ok
[INFO] [stdout] test config::loader::tests::test_parse_yaml_with_command_action ... ok
[INFO] [stdout] test config::loader::tests::test_parse_yaml_multiple_hooks ... ok
[INFO] [stdout] test config::reloader::tests::test_has_changed_no_files ... ok
[INFO] [stdout] test cli::tests::test_enable_hook ... ok
[INFO] [stdout] test config::reloader::tests::test_new_reloader ... ok
[INFO] [stdout] test cli::tests::test_inspect_hook ... ok
[INFO] [stdout] test config::reloader::tests::test_save_and_restore_hook_state ... ok
[INFO] [stdout] test config::templates::tests::test_build_hooks_template ... ok
[INFO] [stdout] test config::templates::tests::test_get_builtin_templates ... ok
[INFO] [stdout] test config::templates::tests::test_file_save_template ... ok
[INFO] [stdout] test cli::commands::tests::test_inspect_hook_command ... ok
[INFO] [stdout] test config::templates::tests::test_git_hooks_template ... ok
[INFO] [stdout] test config::templates::tests::test_instantiate_template_valid ... ok
[INFO] [stdout] test config::templates::tests::test_instantiate_template_missing_required_parameter ... ok
[INFO] [stdout] test config::templates::tests::test_substitute_action_command ... ok
[INFO] [stdout] test config::reloader::tests::test_get_file_mtime_existing ... ok
[INFO] [stdout] test config::reloader::tests::test_get_file_mtime_nonexistent ... ok
[INFO] [stdout] test cli::formatter::tests::test_format_hook_table ... ok
[INFO] [stdout] test config::templates::tests::test_substitute_string ... ok
[INFO] [stdout] test config::templates::tests::test_substitute_string_multiple_parameters ... ok
[INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_invalid_temperature ... ok
[INFO] [stdout] test config::templates::tests::test_substitute_string_no_parameters ... ok
[INFO] [stdout] test config::validator::tests::test_validate_chain_action_duplicate_ids ... ok
[INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_chain_action_empty_ids ... ok
[INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_zero_max_tokens ... ok
[INFO] [stdout] test config::validator::tests::test_validate_command_action_empty_command ... ok
[INFO] [stdout] test config::validator::tests::test_validate_chain_action_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_command_action_zero_timeout ... ok
[INFO] [stdout] test config::validator::tests::test_validate_command_action_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_condition_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_event_name_empty ... ok
[INFO] [stdout] test config::validator::tests::test_validate_event_name_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_hook_empty_id ... ok
[INFO] [stdout] test config::validator::tests::test_validate_hook_empty_name ... ok
[INFO] [stdout] test config::validator::tests::test_validate_hook_valid ... ok
[INFO] [stdout] test config::validator::tests::test_validate_condition_empty_expression ... ok
[INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_empty_name ... ok
[INFO] [stdout] test config::validator::tests::test_validate_event_name_invalid_format ... ok
[INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_empty_path ... ok
[INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_valid ... ok
[INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_all_hooks_fail ... ok
[INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_empty_template ... ok
[INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_no_matching_hooks ... ok
[INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_respects_hook_order ... ok
[INFO] [stdout] test events::file_operations::tests::test_directory_created_event_serialization ... ok
[INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_with_matching_hooks ... ok
[INFO] [stdout] test events::file_operations::tests::test_directory_deleted_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_directory_operation_event_clone ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_deleted_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_created_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_modified_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_moved_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_operation_event_clone ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_read_event_serialization ... ok
[INFO] [stdout] test events::file_operations::tests::test_file_renamed_event_serialization ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_directory_created ... ok
[INFO] [stdout] test events::monitor::tests::test_clear_file_hashes ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_directory_deleted ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_created ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_deleted ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_modified ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_moved ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_read ... ok
[INFO] [stdout] test config::validator::tests::test_validate_hook_with_condition ... ok
[INFO] [stdout] test events::monitor::tests::test_emit_file_renamed ... ok
[INFO] [stdout] test events::monitor::tests::test_file_system_monitor_default ... ok
[INFO] [stdout] test events::monitor::tests::test_remove_file_hash ... ok
[INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_hook_isolation ... ok
[INFO] [stdout] test events::system::tests::test_test_passed_event ... ok
[INFO] [stdout] test events::monitor::tests::test_track_file_hash ... ok
[INFO] [stdout] test events::system::tests::test_custom_event ... ok
[INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_missing_context_key ... ok
[INFO] [stdout] test events::system::tests::test_event_serialization ... ok
[INFO] [stdout] test events::system::tests::test_file_saved_event ... ok
[INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_multiple_keys ... ok
[INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_valid_context ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_action_chain ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_action_tool_call_nonexistent_tool ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_with_model_config ... ok
[INFO] [stdout] test events::system::tests::test_system_event_type ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_action_ai_prompt_success ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_missing_variable ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_with_variables ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_command_action_missing_variable ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_disabled ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_command_action_nonexistent_command ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_duration_tracked ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_success ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_with_condition_met ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_command_action_without_capture ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_command_action_with_variable_substitution ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_command_action_success ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_with_invalid_condition ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_hook_with_condition_not_met ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_missing_variable ... ok
[INFO] [stdout] test executor::runner::tests::test_hook_result_skipped_status ... ok
[INFO] [stdout] test executor::runner::tests::test_hook_result_captures_error ... ok
[INFO] [stdout] test executor::runner::tests::test_hook_result_captures_output ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_boolean_variable ... ok
[INFO] [stdout] test executor::runner::tests::test_hook_result_tracks_duration ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_deeply_nested_path ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_empty_template ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_with_variable_parameters ... ok
[INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_with_literal_parameters ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_json_nested_object ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_json_array ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_from_metadata ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_json_string ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_json_number_unchanged ... ok
[INFO] [stdout] test executor::runner::tests::test_hook_result_with_condition_skipped ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_nested_path ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_multiple_variables ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_missing_variable ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_json_object ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_no_variables ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_number_variable ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_null_variable ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_same_variable_multiple_times ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_variable_at_start ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_simple_variable ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_variable_only ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_variable_at_end ... ok
[INFO] [stdout] test registry::storage::tests::test_get_hook ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_with_special_characters ... ok
[INFO] [stdout] test registry::storage::tests::test_disable_hook ... ok
[INFO] [stdout] test registry::storage::tests::test_enable_hook ... ok
[INFO] [stdout] test registry::storage::tests::test_get_hook_not_found ... ok
[INFO] [stdout] test registry::storage::tests::test_list_hooks ... ok
[INFO] [stdout] test registry::storage::tests::test_list_hooks_for_event ... ok
[INFO] [stdout] test registry::storage::tests::test_list_hooks_for_event_excludes_disabled ... ok
[INFO] [stdout] test registry::storage::tests::test_register_hook ... ok
[INFO] [stdout] test registry::storage::tests::test_register_hook_generates_id ... ok
[INFO] [stdout] test registry::storage::tests::test_unregister_hook ... ok
[INFO] [stdout] test registry::storage::tests::test_unregister_nonexistent_hook ... ok
[INFO] [stdout] test executor::substitution::tests::test_substitute_missing_nested_path ... ok
[INFO] [stdout] test config::validator::tests::test_validate_condition_empty_context_keys ... ok
[INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_metadata_key ... ok
[INFO] [stdout] test config::reloader::tests::test_has_changed_detects_modification ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 157 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-5ac89b75fb90b05d)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_build_success_event ... ok
[INFO] [stdout] test test_deployment_complete_event ... ok
[INFO] [stdout] test test_custom_event ... ok
[INFO] [stdout] test test_hook_inspection ... ok
[INFO] [stdout] test test_hook_with_ai_prompt_action ... ok
[INFO] [stdout] test test_hook_with_chain_action ... ok
[INFO] [stdout] test test_hook_with_condition ... ok
[INFO] [stdout] test test_multiple_system_events ... ok
[INFO] [stdout] test test_json_output_format ... ok
[INFO] [stdout] test test_hook_registration_and_listing ... ok
[INFO] [stdout] test test_hook_with_tool_call_action ... ok
[INFO] [stdout] test test_hook_enable_disable ... ok
[INFO] [stdout] test test_system_event_creation ... ok
[INFO] [stderr]      Running tests/config_properties.rs (/opt/rustwide/target/debug/deps/config_properties-ee28eefabefbe62c)
[INFO] [stdout] test test_hook_deletion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test prop_template_instantiation_preserves_properties ... ok
[INFO] [stdout] test prop_validator_accepts_valid_hooks ... ok
[INFO] [stdout] test prop_validator_rejects_empty_id ... ok
[INFO] [stdout] test prop_validator_rejects_empty_name ... ok
[INFO] [stdout] test prop_configuration_hierarchy_respected ... ok
[INFO] [stdout] test prop_hook_serialization_roundtrip ... ok
[INFO] [stdout] test prop_validator_rejects_invalid_event_names ... ok
[INFO] [stdout] test prop_hook_state_preserved_on_reload ... ok
[INFO] [stdout] test prop_multiple_hooks_coexist ... ok
[INFO] [stdout] test prop_configuration_serialization_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.93s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/event_dispatcher_properties.rs (/opt/rustwide/target/debug/deps/event_dispatcher_properties-46a0ddaed9925ca8)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test prop_hook_failure_does_not_affect_other_hooks ... ok
[INFO] [stdout] test prop_hook_context_is_passed_correctly ... ok
[INFO] [stdout] test prop_hook_chaining_executes_in_sequence ... ok
[INFO] [stdout] test prop_hooks_execute_in_registration_order ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/executor_properties.rs (/opt/rustwide/target/debug/deps/executor_properties-f9aeb47455112817)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test prop_required_parameters_validated ... ok
[INFO] [stdout] test prop_missing_variables_error ... ok
[INFO] [stdout] test prop_nested_path_substitution ... ok
[INFO] [stdout] test prop_variable_substitution_accuracy ... ok
[INFO] [stdout] test prop_multiple_variable_substitution ... ok
[INFO] [stdout] test prop_tool_call_parameter_binding ... ok
[INFO] [stdout] test prop_variable_parameters_substituted ... ok
[INFO] [stdout] test prop_hook_output_captured ... ok
[INFO] [stdout] test prop_hook_context_passing ... ok
[INFO] [stdout] test prop_hook_context_variables_substituted ... ok
[INFO] [stderr]      Running tests/file_operations_properties.rs (/opt/rustwide/target/debug/deps/file_operations_properties-2c652a5a08f10c91)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.52s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test prop_file_deleted_event_accuracy ... ok
[INFO] [stdout] test prop_directory_deleted_event_accuracy ... ok
[INFO] [stdout] test prop_directory_created_event_accuracy ... ok
[INFO] [stdout] test prop_file_read_event_accuracy ... ok
[INFO] [stdout] test prop_file_renamed_event_accuracy ... ok
[INFO] [stdout] test prop_file_created_event_accuracy ... ok
[INFO] [stdout] test prop_file_moved_event_accuracy ... ok
[INFO] [stdout] test prop_file_modified_event_accuracy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hook_registry_properties.rs (/opt/rustwide/target/debug/deps/hook_registry_properties-57709cd06c758b59)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test prop_disabled_hooks_dont_affect_enabled ... ok
[INFO] [stdout] test prop_enabled_hooks_in_event_list ... ok
[INFO] [stdout] test prop_disabled_hooks_not_in_event_list ... ok
[INFO] [stdout] test prop_hook_state_transitions ... ok
[INFO] [stdout] test prop_multiple_hooks_independent_state ... ok
[INFO] [stderr]    Doc-tests ricecoder_hooks
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/config/templates.rs - config::templates::HookTemplate (line 20) ... ignored
[INFO] [stdout] test src/dispatcher/mod.rs - dispatcher::EventDispatcher (line 21) ... ignored
[INFO] [stdout] test src/error.rs - error (line 27) ... ignored
[INFO] [stdout] test src/error.rs - error::Result (line 159) ... ignored
[INFO] [stdout] test src/events/file_operations.rs - events::file_operations (line 9) ... ignored
[INFO] [stdout] test src/events/monitor.rs - events::monitor (line 9) ... ignored
[INFO] [stdout] test src/executor/mod.rs - executor::HookExecutor (line 26) ... ignored
[INFO] [stdout] test src/executor/substitution.rs - executor::substitution (line 10) ... ignored
[INFO] [stdout] test src/executor/substitution.rs - executor::substitution (line 30) ... ignored
[INFO] [stdout] test src/executor/substitution.rs - executor::substitution::VariableSubstitutor::substitute (line 79) ... ignored
[INFO] [stdout] test src/lib.rs - (line 22) ... ignored
[INFO] [stdout] test src/registry/mod.rs - registry (line 8) ... ignored
[INFO] [stdout] test src/types.rs - types (line 10) ... ignored
[INFO] [stdout] test src/types.rs - types::Action (line 102) ... ignored
[INFO] [stdout] test src/types.rs - types::Action (line 92) ... ignored
[INFO] [stdout] test src/types.rs - types::AiPromptAction (line 243) ... ignored
[INFO] [stdout] test src/types.rs - types::ChainAction (line 283) ... ignored
[INFO] [stdout] test src/types.rs - types::CommandAction (line 141) ... ignored
[INFO] [stdout] test src/types.rs - types::Condition (line 309) ... ignored
[INFO] [stdout] test src/types.rs - types::Event (line 331) ... ignored
[INFO] [stdout] test src/types.rs - types::HookResult (line 378) ... ignored
[INFO] [stdout] test src/types.rs - types::ParameterValue (line 218) ... ignored
[INFO] [stdout] test src/types.rs - types::ParameterValue (line 223) ... ignored
[INFO] [stdout] test src/types.rs - types::ToolCallAction (line 171) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 24 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "abf56133f126b544e9ab3cf13dc4a5e42320338aeef6eb7fe45123704f31c5d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abf56133f126b544e9ab3cf13dc4a5e42320338aeef6eb7fe45123704f31c5d3", kill_on_drop: false }`
[INFO] [stdout] abf56133f126b544e9ab3cf13dc4a5e42320338aeef6eb7fe45123704f31c5d3
