[INFO] fetching crate vibetracer 0.6.2...
[INFO] testing vibetracer-0.6.2 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate vibetracer 0.6.2 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate vibetracer 0.6.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate vibetracer 0.6.2
[INFO] tweaked toml for crates.io crate vibetracer 0.6.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vibetracer 0.6.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vibetracer 0.6.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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21
[INFO] running `Command { std: "docker" "start" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling instability v0.3.10
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling notify-debouncer-mini v0.5.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling vibetracer v0.6.2 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `notify-debouncer-mini`
[INFO] [stderr]   --> Cargo.toml:34:15
[INFO] [stderr]    |
[INFO] [stderr] 34 | [dependencies.notify-debouncer-mini]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `notify-debouncer-mini`
[INFO] [stderr] warning: `vibetracer` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.80s
[INFO] running `Command { std: "docker" "inspect" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling vibetracer v0.6.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BlastRadiusConfig`, `ManualDependency`, `PatternSpec`, `SentinelRule`, `WatchConfig`, `WatchdogConfig`, and `WatchdogConstant`
[INFO] [stdout]  --> tests/integration/config_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     BlastRadiusConfig, Config, ManualDependency, PatternSpec, SentinelRule, WatchConfig,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 3 |     WatchdogConfig, WatchdogConstant,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `notify-debouncer-mini`
[INFO] [stderr]   --> Cargo.toml:34:15
[INFO] [stderr]    |
[INFO] [stderr] 34 | [dependencies.notify-debouncer-mini]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `notify-debouncer-mini`
[INFO] [stderr] warning: `vibetracer` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.55s
[INFO] running `Command { std: "docker" "inspect" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BlastRadiusConfig`, `ManualDependency`, `PatternSpec`, `SentinelRule`, `WatchConfig`, `WatchdogConfig`, and `WatchdogConstant`
[INFO] [stderr]  --> tests/integration/config_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     BlastRadiusConfig, Config, ManualDependency, PatternSpec, SentinelRule, WatchConfig,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 3 |     WatchdogConfig, WatchdogConstant,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `vibetracer` (test "integration_tests") generated 1 warning (run `cargo fix --test "integration_tests" -p vibetracer` to apply 1 suggestion)
[INFO] [stderr] warning: unused dependency `notify-debouncer-mini`
[INFO] [stderr]   --> Cargo.toml:34:15
[INFO] [stderr]    |
[INFO] [stderr] 34 | [dependencies.notify-debouncer-mini]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `notify-debouncer-mini`
[INFO] [stderr] warning: `vibetracer` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/vibetracer/5e7020e9bdf73a15/out/vibetracer-5e7020e9bdf73a15)
[INFO] [stdout] 
[INFO] [stdout] running 285 tests
[INFO] [stdout] test auto_detect::tests::test_detect_js_constants ... ok
[INFO] [stdout] test auto_detect::tests::test_is_all_caps ... ok
[INFO] [stdout] test auto_detect::tests::test_auto_detect_empty_dir ... ok
[INFO] [stdout] test auto_detect::tests::test_detect_rust_constants ... ok
[INFO] [stdout] test auto_detect::tests::test_is_numeric ... ok
[INFO] [stdout] test auto_detect::tests::test_imports_file ... ok
[INFO] [stdout] test claude_log::tests::test_classify_record_user_alias ... ok
[INFO] [stdout] test claude_log::tests::test_compute_stats ... ok
[INFO] [stdout] test auto_detect::tests::test_auto_detect_with_python_file ... ok
[INFO] [stdout] test claude_log::tests::test_count_edit_lines ... ok
[INFO] [stdout] test claude_log::tests::test_count_write_lines ... ok
[INFO] [stdout] test checkpoint::tests::test_list_empty_dir ... ok
[INFO] [stdout] test claude_log::tests::test_estimate_cost_haiku ... ok
[INFO] [stdout] test checkpoint::tests::test_save_creates_file ... ok
[INFO] [stdout] test claude_log::tests::test_estimate_cost_opus ... ok
[INFO] [stdout] test auto_detect::tests::test_detect_python_constants ... ok
[INFO] [stdout] test claude_log::tests::test_extract_file_path_variants ... ok
[INFO] [stdout] test claude_log::tests::test_estimate_cost_sonnet ... ok
[INFO] [stdout] test claude_log::tests::test_estimate_cost_unknown_model ... ok
[INFO] [stdout] test claude_log::tests::test_orphaned_assistant_creates_turn ... ok
[INFO] [stdout] test claude_log::tests::test_parse_empty_file ... ok
[INFO] [stdout] test claude_log::tests::test_parse_only_blank_lines ... ok
[INFO] [stdout] test claude_log::tests::test_multiple_tool_calls_in_one_turn ... ok
[INFO] [stdout] test claude_log::tests::test_parse_multiple_turns ... ok
[INFO] [stdout] test claude_log::tests::test_parse_log_from_file ... ok
[INFO] [stdout] test claude_log::tests::test_parse_simple_turn ... ok
[INFO] [stdout] test claude_log::tests::test_parse_skips_malformed_lines ... ok
[INFO] [stdout] test claude_log::tests::test_parse_timestamp_invalid ... ok
[INFO] [stdout] test claude_log::tests::test_parse_timestamp_rfc3339 ... ok
[INFO] [stdout] test claude_log::tests::test_parse_log_nonexistent_file ... ok
[INFO] [stdout] test claude_log::tests::test_parse_timestamp_string_seconds ... ok
[INFO] [stdout] test claude_log::tests::test_parse_timestamp_unix_millis ... ok
[INFO] [stdout] test claude_log::tests::test_parse_timestamp_unix_seconds ... ok
[INFO] [stdout] test claude_log::tests::test_summarize_bash_multiline ... ok
[INFO] [stdout] test claude_log::tests::test_summarize_bash_result ... ok
[INFO] [stdout] test claude_log::tests::test_summarize_empty_bash ... ok
[INFO] [stdout] test claude_log::tests::test_summarize_grep_result ... ok
[INFO] [stdout] test claude_log::tests::test_token_stats_default ... ok
[INFO] [stdout] test claude_log::tests::test_truncate_long ... ok
[INFO] [stdout] test claude_log::tests::test_truncate_multibyte ... ok
[INFO] [stdout] test claude_log::tests::test_truncate_short ... ok
[INFO] [stdout] test claude_log::tests::test_user_prompt_plain_string_content ... ok
[INFO] [stdout] test daemon::agent_registry::tests::get_unknown_returns_none ... ok
[INFO] [stdout] test daemon::agent_registry::tests::increment_edit_count ... ok
[INFO] [stdout] test daemon::agent_registry::tests::increment_noop_for_unknown_agent ... ok
[INFO] [stdout] test daemon::agent_registry::tests::label_numbering_increments ... ok
[INFO] [stdout] test daemon::agent_registry::tests::label_uses_tool_type_prefix ... ok
[INFO] [stdout] test daemon::agent_registry::tests::new_agent_registration ... ok
[INFO] [stdout] test daemon::agent_registry::tests::to_vec_sorted_by_label ... ok
[INFO] [stdout] test daemon::agent_registry::tests::update_does_not_consume_label ... ok
[INFO] [stdout] test daemon::agent_registry::tests::update_existing_agent ... ok
[INFO] [stdout] test daemon::correlation::tests::clear_restore_removes_all_entries ... ok
[INFO] [stdout] test daemon::correlation::tests::fifo_ordering ... ok
[INFO] [stdout] test daemon::correlation::tests::pop_from_empty_returns_none ... ok
[INFO] [stdout] test daemon::correlation::tests::restore_precedence_over_hook ... ok
[INFO] [stdout] test daemon::correlation::tests::restore_registration_and_pop ... ok
[INFO] [stdout] test daemon::correlation::tests::separate_files_are_independent ... ok
[INFO] [stdout] test daemon::correlation::tests::stale_cleanup ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_control_stop ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_hook_message ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_hook_message_missing_optional_fields ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_hook_missing_file_errors ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_invalid_json_errors ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_restore_end ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_restore_start ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_subscribe_message ... ok
[INFO] [stdout] test daemon::hook_listener::tests::parse_unknown_type_errors ... ok
[INFO] [stdout] test daemon::pid::tests::cleanup_stale_noop_when_no_pid_file ... ok
[INFO] [stdout] test daemon::pid::tests::is_process_alive_bogus ... ok
[INFO] [stdout] test daemon::pid::tests::is_process_alive_self ... ok
[INFO] [stdout] test daemon::pid::tests::cleanup_stale_noop_when_process_alive ... ok
[INFO] [stdout] test daemon::pid::tests::cleanup_stale_removes_files_for_dead_process ... ok
[INFO] [stdout] test daemon::pid::tests::read_nonexistent_pid_file_errors ... ok
[INFO] [stdout] test daemon::pid::tests::write_and_read_pid_file ... ok
[INFO] [stdout] test event::tests::test_agent_info_serialization ... ok
[INFO] [stdout] test event::tests::test_edit_event_serialization ... ok
[INFO] [stdout] test event::tests::test_edit_event_v2_fields_serialize ... ok
[INFO] [stdout] test event::tests::test_edit_kind_variants ... ok
[INFO] [stdout] test event::tests::test_restore_event_serialization ... ok
[INFO] [stdout] test event::tests::test_restore_scope_variants ... ok
[INFO] [stdout] test event::tests::test_v1_json_deserializes_with_defaults ... ok
[INFO] [stdout] test export::agent_trace::tests::export_handles_missing_fields ... ok
[INFO] [stdout] test export::agent_trace::tests::export_produces_valid_json ... ok
[INFO] [stdout] test export::git_notes::tests::format_authorship_log_basic ... ok
[INFO] [stdout] test export::git_notes::tests::format_handles_missing_agent ... ok
[INFO] [stdout] test hook::registration::tests::test_register_creates_settings_file ... ok
[INFO] [stdout] test import::agent_trace::tests::agent_name_override ... ok
[INFO] [stdout] test hook::registration::tests::test_register_uses_v2_json_protocol ... ok
[INFO] [stdout] test import::agent_trace::tests::can_import_agent_trace_dir ... ok
[INFO] [stdout] test import::claude::tests::test_path_to_claude_dir ... ok
[INFO] [stdout] test import::claude::tests::test_parse_ts_valid ... ok
[INFO] [stdout] test import::agent_trace::tests::can_import_json_file ... ok
[INFO] [stdout] test import::claude::tests::claude_importer_trait_impl ... ok
[INFO] [stdout] test import::agent_trace::tests::skips_malformed_files_gracefully ... ok
[INFO] [stdout] test import::traits::tests::trait_object_works ... ok
[INFO] [stdout] test import::agent_trace::tests::import_directory_of_trace_files ... ok
[INFO] [stdout] test import::agent_trace::tests::import_single_trace_file ... ok
[INFO] [stdout] test hook::registration::tests::test_unregister_removes_vibetracer_entry ... ok
[INFO] [stdout] test import::detect::tests::detects_agent_trace_dir ... ok
[INFO] [stdout] test import::claude::tests::test_list_sessions_empty_dir ... ok
[INFO] [stdout] test import::claude::tests::test_parse_ts_invalid ... ok
[INFO] [stdout] test import::detect::tests::returns_empty_for_clean_dir ... ok
[INFO] [stdout] test import::agent_trace::tests::handles_missing_optional_fields ... ok
[INFO] [stdout] test mcp::handlers::tests::test_frame_out_of_range ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_diff_frames ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_get_regression_window ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_get_frame ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_get_timeline ... ok
[INFO] [stdout] test mcp::pagination::tests::test_limit_clamped_to_max ... ok
[INFO] [stdout] test mcp::handlers::tests::test_session_not_found ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_get_timeline_with_file_filter ... ok
[INFO] [stdout] test mcp::pagination::tests::test_empty_file ... ok
[INFO] [stdout] test mcp::pagination::tests::test_pagination_offset_beyond_total ... ok
[INFO] [stdout] test mcp::pagination::tests::test_pagination_with_filter ... ok
[INFO] [stdout] test mcp::pagination::tests::test_read_all_edits_default_pagination ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_search_edits ... ok
[INFO] [stdout] test mcp::pagination::tests::test_skips_malformed_lines ... ok
[INFO] [stdout] test mcp::tools::tests::test_all_tools_have_valid_schemas ... ok
[INFO] [stdout] test mcp::pagination::tests::test_pagination_with_offset_and_limit ... ok
[INFO] [stdout] test mcp::tools::tests::test_get_frame_schema_requires_session_id_and_frame_id ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_sessions_schema_has_pagination ... ok
[INFO] [stdout] test mcp::tools::tests::test_tool_names ... ok
[INFO] [stdout] test mcp::transport::tests::test_read_eof_returns_none ... ok
[INFO] [stdout] test mcp::handlers::tests::test_handle_list_sessions ... ok
[INFO] [stdout] test mcp::transport::tests::test_read_multiple_messages ... ok
[INFO] [stdout] test mcp::transport::tests::test_read_single_message ... ok
[INFO] [stdout] test mcp::transport::tests::test_write_notification ... ok
[INFO] [stdout] test mcp::transport::tests::test_write_response ... ok
[INFO] [stdout] test mcp::types::tests::test_error_code_constants ... ok
[INFO] [stdout] test mcp::transport::tests::test_read_skips_empty_lines ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_error_no_data ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_error_serialization ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_notification_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_notification_no_params ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_notification_serialize ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_request_deserialize_full ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_request_deserialize_null_id ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_request_deserialize_string_id ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_response_error_no_result_field ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_request_deserialize_no_params ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_request_roundtrip ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_response_error_serialization ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_response_roundtrip ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_response_success_no_error_field ... ok
[INFO] [stdout] test mcp::types::tests::test_jsonrpc_response_success_serialization ... ok
[INFO] [stdout] test mcp::types::tests::test_mcp_tool_def_serialization ... ok
[INFO] [stdout] test mcp::types::tests::test_mcp_tool_def_deserialize ... ok
[INFO] [stdout] test recorder::tests::edit_id_increments ... ok
[INFO] [stdout] test recorder::tests::first_file_change_creates_event ... ok
[INFO] [stdout] test recorder::tests::enrichment_fields_applied ... ok
[INFO] [stdout] test restore::conflict::tests::test_conflict_detected_when_dependent_not_restored ... ok
[INFO] [stdout] test recorder::tests::file_hashes_updated ... ok
[INFO] [stdout] test restore::conflict::tests::test_empty_config_no_conflicts ... ok
[INFO] [stdout] test restore::conflict::tests::test_multiple_dependency_rules ... ok
[INFO] [stdout] test restore::conflict::tests::test_no_conflicts_when_all_coupled_files_restored ... ok
[INFO] [stdout] test restore::conflict::tests::test_no_conflicts_when_source_not_being_restored ... ok
[INFO] [stdout] test restore::conflict::tests::test_no_suggestion_for_unedited_dependent ... ok
[INFO] [stdout] test recorder::tests::second_change_creates_modify_event ... ok
[INFO] [stdout] test recorder::tests::unchanged_file_returns_none ... ok
[INFO] [stdout] test restore::restore_log::tests::test_append_and_read_all ... ok
[INFO] [stdout] test restore::restore_log::tests::test_init_next_id_resumes_from_existing ... ok
[INFO] [stdout] test restore::restore_log::tests::test_last_n ... ok
[INFO] [stdout] test restore::restore_log::tests::test_read_all_nonexistent_returns_empty ... ok
[INFO] [stdout] test restore::restore_log::tests::test_malformed_line_is_skipped ... ok
[INFO] [stdout] test restore::tests::test_current_hash_returns_stored_hash ... ok
[INFO] [stdout] test restore::restore_log::tests::test_scope_variants_roundtrip ... ok
[INFO] [stdout] test restore::tests::test_delete_file_removes_file ... ok
[INFO] [stdout] test session::tests::test_v1_meta_deserializes_with_empty_agents ... ok
[INFO] [stdout] test snapshot::edit_log::tests::test_append_and_count ... ok
[INFO] [stdout] test restore::restore_log::tests::test_last_n_more_than_total ... ok
[INFO] [stdout] test restore::tests::test_delete_file_nonexistent_is_noop ... ok
[INFO] [stdout] test snapshot::edit_log::tests::test_count_nonexistent_file_returns_zero ... ok
[INFO] [stdout] test restore::tests::test_restore_file_creates_parent_dirs ... ok
[INFO] [stdout] test snapshot::store::tests::test_exists_returns_false_for_unknown_hash ... ok
[INFO] [stdout] test theme::tests::test_all_presets_load ... ok
[INFO] [stdout] test snapshot::edit_log::tests::test_read_all_skips_malformed_trailing_line ... ok
[INFO] [stdout] test theme::tests::test_unknown_preset_falls_back_to_dark ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_does_not_fire_twice ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_exact_threshold_does_not_fire ... ok
[INFO] [stdout] test snapshot::store::tests::test_store_and_retrieve_roundtrip ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_fires_when_threshold_exceeded ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_multiple_alerts ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_rearms_when_condition_clears ... ok
[INFO] [stdout] test restore::tests::test_restore_file_writes_content ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_skips_unparseable_conditions ... ok
[INFO] [stdout] test tui::alerts::tests::evaluate_uses_name_when_no_message ... ok
[INFO] [stdout] test tui::alerts::tests::evaluator_empty ... ok
[INFO] [stdout] test tui::alerts::tests::parse_agent_idle ... ok
[INFO] [stdout] test tui::alerts::tests::parse_bad_operator ... ok
[INFO] [stdout] test tui::alerts::tests::parse_edit_count ... ok
[INFO] [stdout] test tui::alerts::tests::parse_edit_velocity ... ok
[INFO] [stdout] test tui::alerts::tests::parse_empty_string ... ok
[INFO] [stdout] test tui::alerts::tests::parse_sentinel_failures ... ok
[INFO] [stdout] test tui::alerts::tests::parse_session_cost ... ok
[INFO] [stdout] test tui::alerts::tests::parse_bad_value ... ok
[INFO] [stdout] test tui::alerts::tests::parse_stale_count ... ok
[INFO] [stdout] test tui::alerts::tests::parse_too_few_parts ... ok
[INFO] [stdout] test tui::blame::tests::blame_ignores_other_files ... ok
[INFO] [stdout] test tui::alerts::tests::parse_unknown_metric ... ok
[INFO] [stdout] test tui::blame::tests::blame_latest_edit_wins ... ok
[INFO] [stdout] test tui::blame::tests::blame_tracks_added_lines ... ok
[INFO] [stdout] test tui::blame::tests::format_blame_no_agent ... ok
[INFO] [stdout] test tui::blame::tests::format_blame_with_agent ... ok
[INFO] [stdout] test tui::bookmarks::tests::add_increases_count ... ok
[INFO] [stdout] test tui::bookmarks::tests::add_populates_fields ... ok
[INFO] [stdout] test tui::bookmarks::tests::default_trait ... ok
[INFO] [stdout] test tui::bookmarks::tests::new_manager_is_empty ... ok
[INFO] [stdout] test tui::bookmarks::tests::load_nonexistent_file_returns_error ... ok
[INFO] [stdout] test tui::bookmarks::tests::remove_out_of_bounds_is_noop ... ok
[INFO] [stdout] test tui::bookmarks::tests::remove_valid_index ... ok
[INFO] [stdout] test tui::bookmarks::tests::sorted_returns_descending_edit_index ... ok
[INFO] [stdout] test tui::bookmarks::tests::save_and_load_roundtrip ... ok
[INFO] [stdout] test tui::filter::tests::filter_agent ... ok
[INFO] [stdout] test tui::filter::tests::filter_compose ... ok
[INFO] [stdout] test tui::filter::tests::filter_empty ... ok
[INFO] [stdout] test tui::filter::tests::filter_file ... ok
[INFO] [stdout] test tui::filter::tests::filter_fuzzy ... ok
[INFO] [stdout] test tui::filter::tests::filter_kind ... ok
[INFO] [stdout] test tui::filter::tests::filter_lines ... ok
[INFO] [stdout] test tui::operation::tests::empty_manager ... ok
[INFO] [stdout] test tui::operation::tests::grouped_edits_share_operation ... ok
[INFO] [stdout] test tui::operation::tests::groups_ordered_by_ts_start ... ok
[INFO] [stdout] test tui::operation::tests::mixed_grouped_and_ungrouped ... ok
[INFO] [stdout] test tui::operation::tests::ts_range_tracks_min_max ... ok
[INFO] [stdout] test tui::operation::tests::ungrouped_edits_get_synthetic_ids ... ok
[INFO] [stdout] test tui::playhead::tests::detach_overrides_global ... ok
[INFO] [stdout] test tui::playhead::tests::detach_reattach_multiple_files ... ok
[INFO] [stdout] test tui::playhead::tests::global_to_file_position_at_end ... ok
[INFO] [stdout] test tui::playhead::tests::global_to_file_position_at_start ... ok
[INFO] [stdout] test tui::playhead::tests::global_to_file_position_mid ... ok
[INFO] [stdout] test tui::playhead::tests::reattach_restores_global_tracking ... ok
[INFO] [stdout] test tui::playhead::tests::scrub_file_left_right ... ok
[INFO] [stdout] test tui::playhead::tests::scrub_noop_for_attached_files ... ok
[INFO] [stdout] test tui::session_diff::tests::agent_summary_aggregates ... ok
[INFO] [stdout] test tui::playhead::tests::unknown_file_returns_none ... ok
[INFO] [stdout] test tui::session_diff::tests::agents_tracked_per_file ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_clamps_out_of_bounds ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_empty_edits ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_partial_range ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_range_aggregates_per_file ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_swaps_reversed_range ... ok
[INFO] [stdout] test tui::session_diff::tests::compute_single_edit ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::confirm_on_empty_returns_none ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::filter_matches_category ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::recent_entries_float_to_top ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::filter_empty_input_returns_all ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::confirm_returns_id_and_records_recent ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_conversation_state_selection ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_format_edit_counts ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::push_and_pop_char ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::select_up_down_clamps ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::filter_narrows_results ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_truncate_long ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_conversation_state_toggle_expand ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_conversation_state_scroll ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_format_hms ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_truncate_short ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::bar_half ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_select_next_clamps_at_max ... ok
[INFO] [stdout] test tui::widgets::command_palette::tests::filter_is_case_insensitive ... ok
[INFO] [stdout] test tui::widgets::conversation::tests::test_select_next_empty ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::format_count_small ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::bar_zero_total ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::dashboard_state_default ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::bar_full ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::render_minimal_area ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::truncate_short ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::format_ascending ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::format_pads_short_data ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::format_count_millions ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::format_count_thousands ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::render_zero_area ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::ring_buffer_capacity ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::format_truncates_to_width ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::ring_buffer_empty ... ok
[INFO] [stdout] test watcher::differ::tests::test_no_diff_when_identical ... ok
[INFO] [stdout] test watcher::differ::tests::test_compute_unified_diff ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::truncate_long ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::format_empty_data ... ok
[INFO] [stdout] test tui::widgets::sparkline::tests::format_single_value ... ok
[INFO] [stdout] test tui::syntax::tests::highlight_unknown_extension_falls_back ... ok
[INFO] [stdout] test tui::syntax::tests::highlighter_creates_without_panic ... ok
[INFO] [stdout] test tui::syntax::tests::highlight_rust_code ... ok
[INFO] [stdout] test daemon::hook_listener::tests::listen_and_send_messages ... ok
[INFO] [stdout] test claude_log::tests::test_tail_log_receives_new_turns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 285 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/vibetracer/28d96377c7b9528e/out/vibetracer-28d96377c7b9528e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/export_roundtrip.rs (/opt/rustwide/target/debug/build/vibetracer/8767306d620de102/out/export_roundtrip-8767306d620de102)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test claude_import_then_agent_trace_export ... ok
[INFO] [stdout] test agent_trace_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/build/vibetracer/43ce8dc154596da5/out/integration_tests-43ce8dc154596da5)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test integration::blast_radius_test::test_manual_blast_radius ... ok
[INFO] [stdout] test integration::blast_radius_test::test_blast_radius_stale_detection ... ok
[INFO] [stdout] test integration::import_test::test_list_sessions_empty ... ok
[INFO] [stdout] test integration::import_test::test_import_empty_jsonl ... ok
[INFO] [stdout] test integration::config_test::test_config_from_toml ... ok
[INFO] [stdout] test integration::hook_test::test_register_hook_creates_settings ... ok
[INFO] [stdout] test integration::config_test::test_default_config ... ok
[INFO] [stdout] test integration::hook_test::test_unregister_hook_removes_entry ... ok
[INFO] [stdout] test integration::config_test::test_config_generates_default_toml ... ok
[INFO] [stdout] test integration::import_test::test_import_multiple_edits_sorted_by_timestamp ... ok
[INFO] [stdout] test integration::import_test::test_parse_edit_tool_use ... ok
[INFO] [stdout] test integration::import_test::test_parse_write_tool_use ... ok
[INFO] [stdout] test integration::snapshot_test::test_checkpoint_save_and_load ... ok
[INFO] [stdout] test integration::snapshot_test::test_edit_log_append_and_read ... ok
[INFO] [stdout] test integration::snapshot_test::test_store_and_retrieve_content ... ok
[INFO] [stdout] test integration::session_test::test_session_id_format ... ok
[INFO] [stdout] test integration::snapshot_test::test_store_deduplicates ... ok
[INFO] [stdout] test integration::session_test::test_session_meta_persists ... ok
[INFO] [stdout] test integration::sentinel_test::test_grep_match_sentinel_passes ... ok
[INFO] [stdout] test integration::sentinel_test::test_grep_match_sentinel_fails ... ok
[INFO] [stdout] test integration::mcp_test::test_mcp_tools_call_list_sessions ... ok
[INFO] [stdout] test integration::watchdog_test::test_watchdog_no_alert_when_unchanged ... ok
[INFO] [stdout] test integration::mcp_test::test_mcp_initialize_and_list_tools ... ok
[INFO] [stdout] test integration::mcp_workflow_test::test_full_self_correction_workflow ... ok
[INFO] [stdout] test integration::watcher_test::test_no_diff_when_identical ... ok
[INFO] [stdout] test integration::watchdog_test::test_watchdog_detects_constant_change ... ok
[INFO] [stdout] test integration::watcher_test::test_compute_unified_diff ... ok
[INFO] [stdout] test integration::session_test::test_session_create_and_list ... ok
[INFO] [stdout] test integration::watcher_test::test_watcher_detects_file_create ... ok
[INFO] [stdout] test integration::watcher_test::test_watcher_respects_ignore_patterns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests vibetracer
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21", kill_on_drop: false }`
[INFO] [stdout] 8331657a16e7b62766f4f41eeb71fd7fe78fac4f59d038cc88f8b77082c0ab21
