[INFO] fetching crate claude-hindsight 2.4.0...
[INFO] testing claude-hindsight-2.4.0 against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] extracting crate claude-hindsight 2.4.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate claude-hindsight 2.4.0
[INFO] finished tweaking crates.io crate claude-hindsight 2.4.0
[INFO] tweaked toml for crates.io crate claude-hindsight 2.4.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate claude-hindsight 2.4.0 on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate claude-hindsight 2.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_writer v1.0.7+spec-1.1.0
[INFO] [stderr]   Downloaded tui-tree-widget v0.24.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f3e8d637bcf2dabe18bcc516cca32c0591554f7867628cc69f3d26a5e7a69782
[INFO] running `Command { std: "docker" "start" "-a" "f3e8d637bcf2dabe18bcc516cca32c0591554f7867628cc69f3d26a5e7a69782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f3e8d637bcf2dabe18bcc516cca32c0591554f7867628cc69f3d26a5e7a69782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3e8d637bcf2dabe18bcc516cca32c0591554f7867628cc69f3d26a5e7a69782", kill_on_drop: false }`
[INFO] [stdout] f3e8d637bcf2dabe18bcc516cca32c0591554f7867628cc69f3d26a5e7a69782
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ac900965f0257e2b4e487b80684f412df39713e52976d4f34fd88adb09b8ab2
[INFO] running `Command { std: "docker" "start" "-a" "7ac900965f0257e2b4e487b80684f412df39713e52976d4f34fd88adb09b8ab2", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling toml_parser v1.0.10+spec-1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling inotify v0.11.1
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling toml_datetime v1.0.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling toml_writer v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling claude-hindsight v2.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling toml v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling tui-tree-widget v0.24.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "7ac900965f0257e2b4e487b80684f412df39713e52976d4f34fd88adb09b8ab2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ac900965f0257e2b4e487b80684f412df39713e52976d4f34fd88adb09b8ab2", kill_on_drop: false }`
[INFO] [stdout] 7ac900965f0257e2b4e487b80684f412df39713e52976d4f34fd88adb09b8ab2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5fc48888a8f71154158f81961dc8e1995817fc6b5fd7ae6b5e515c99fb5789c0
[INFO] running `Command { std: "docker" "start" "-a" "5fc48888a8f71154158f81961dc8e1995817fc6b5fd7ae6b5e515c99fb5789c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling insta v1.46.3
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling claude-hindsight v2.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `progress_type`
[INFO] [stdout]    --> src/parser/extract.rs:456:27
[INFO] [stdout]     |
[INFO] [stdout] 456 |     fn make_progress_node(progress_type: &str, data: serde_json::Value) -> ExecutionNode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/commands/update_check.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `progress_type`
[INFO] [stdout]    --> src/parser/extract.rs:456:27
[INFO] [stdout]     |
[INFO] [stdout] 456 |     fn make_progress_node(progress_type: &str, data: serde_json::Value) -> ExecutionNode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 48.30s
[INFO] running `Command { std: "docker" "inspect" "5fc48888a8f71154158f81961dc8e1995817fc6b5fd7ae6b5e515c99fb5789c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fc48888a8f71154158f81961dc8e1995817fc6b5fd7ae6b5e515c99fb5789c0", kill_on_drop: false }`
[INFO] [stdout] 5fc48888a8f71154158f81961dc8e1995817fc6b5fd7ae6b5e515c99fb5789c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9604308b1b82ef92e1633025aa30fae6fededd803a165d25cbcc16e295dacbdc
[INFO] running `Command { std: "docker" "start" "-a" "9604308b1b82ef92e1633025aa30fae6fededd803a165d25cbcc16e295dacbdc", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/commands/update_check.rs:166:9
[INFO] [stderr]     |
[INFO] [stderr] 166 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `progress_type`
[INFO] [stderr]    --> src/parser/extract.rs:456:27
[INFO] [stderr]     |
[INFO] [stderr] 456 |     fn make_progress_node(progress_type: &str, data: serde_json::Value) -> ExecutionNode {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress_type`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `claude-hindsight` (bin "claude-hindsight" test) generated 2 warnings (run `cargo fix --bin "claude-hindsight" -p claude-hindsight --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `claude-hindsight` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hindsight-da4c4fbdbe37e2be)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test agents::parser::tests::test_parse_agent_with_csv_tools ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::follow_up_instruction_scores_moderate ... ok
[INFO] [stdout] test agents::parser::tests::test_split_frontmatter ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_skill ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_caveat_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_scores_zero ... ok
[INFO] [stdout] test agents::discovery::tests::test_decode_dir_name_fallback ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::short_acknowledgement_scores_zero ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_agent ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::yes_scores_zero ... ok
[INFO] [stdout] test analyzer::session_analytics::tests::test_duration_formatting ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::tool_result_only_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::trivial_message_detection ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_agent_progress_dedup_preserves_non_agent_progress ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_deep_hierarchy ... ok
[INFO] [stdout] test analyzer::session_analytics::tests::test_empty_session ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_multiple_roots ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_single_node ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_childless_progress_roots_are_filtered ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_with_children ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_orphan_nodes_promoted_to_roots ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_orphan_with_own_children_preserved ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_progress_root_with_children_is_kept ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_agent_progress_dedup_keeps_first_per_agent_id ... ok
[INFO] [stdout] test agents::discovery::tests::test_decode_dir_name_no_prefix ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_agent_with_hooks ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::assistant_node_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::system_noise_is_trivial ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_rc_sharing ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::greeting_scores_zero ... ok
[INFO] [stdout] test config::tests::test_config_validation ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_toml_serialization ... ok
[INFO] [stdout] test parser::extract::tests::extract_bash_progress ... ok
[INFO] [stdout] test parser::extract::tests::extract_file_paths_from_read_tool ... ok
[INFO] [stdout] test parser::extract::tests::extract_agent_progress_with_prompt ... ok
[INFO] [stdout] test parser::extract::tests::extract_token_usage_from_assistant ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_text_message ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_tool_result_only ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_text_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_tool_result_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_thinking_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_tool_use_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_block_array_deserializes ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::bare_file_path_is_trivial ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_legacy_string_deserializes ... ok
[INFO] [stdout] test parser::models::tests::test_message_text_content_from_string ... ok
[INFO] [stdout] test parser::models::tests::test_strip_date_suffix_no_change_when_no_suffix ... ok
[INFO] [stdout] test parser::models::tests::test_message_text_content_from_blocks ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_merge_last_preserves_none_fields ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_merge_last_replaces_non_none_fields ... ok
[INFO] [stdout] test parser::extract::tests::extract_assistant_full_response ... ok
[INFO] [stdout] test parser::extract::tests::extract_hook_progress ... ok
[INFO] [stdout] test parser::models::tests::test_strip_date_suffix_removes_8_digit_suffix ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_total_includes_cache_tokens ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::first_message_with_imperative_scores_high ... ok
[INFO] [stdout] test agents::parser::tests::test_split_no_frontmatter ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_stdout_scores_zero ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_last_prompt_node_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_parent_uuid_links_across_full_tool_chain ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_hook_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_assistant_node_with_thinking_and_tool_use ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_agent_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_file_history_snapshot_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_bash_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test parser::extract::tests::extract_tool_calls_from_assistant ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_returns_none_for_assistant ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_unknown_falls_through_to_value ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_blocks_empty_for_string ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_sidechain_node_parses_is_sidechain_field ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_agent_tool_call_counted_in_total_tools ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_pr_link_node_parses ... ok
[INFO] [stdout] test parser::transcript::tests::test_invalid_json ... ok
[INFO] [stdout] test pricing::tests::test_cache_tokens_pricing ... ok
[INFO] [stdout] test pricing::tests::test_lookup_fallback ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_two_message_ids_produce_two_nodes ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_single_message_id_produces_one_node ... ok
[INFO] [stdout] test pricing::tests::test_lookup_known_models ... ok
[INFO] [stdout] test pricing::tests::test_calculate_cost ... ok
[INFO] [stdout] test storage::discovery::tests::test_decode_project_name ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_token_usage_takes_last_cumulative_value ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_empty_file ... ok
[INFO] [stdout] test parser::transcript::tests::test_progress_dedup_keeps_only_last_frame_per_tool_use_id ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_system_stop_hook_summary_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_user_node_deserializes_parent_uuid ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_user_node_with_tool_result_block ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_tool_use ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_user_message ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_non_assistant_nodes_pass_through_unchanged ... ok
[INFO] [stdout] test watcher::tests::test_read_new_nodes ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::interrupted_request_scores_zero ... ok
[INFO] [stdout] test storage::index::tests::test_get_top_tools_empty ... ok
[INFO] [stdout] test storage::index::tests::test_index_session ... ok
[INFO] [stdout] test storage::index::tests::test_tool_usage_table ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_queue_operation_node_parses ... ok
[INFO] [stdout] test watcher::tests::test_watcher_creation ... ok
[INFO] [stdout] test parser::transcript::tests::test_progress_dedup_preserves_distinct_tool_use_ids ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_fresh_db ... ok
[INFO] [stdout] test storage::index::tests::test_index_creation ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_deletes_stale_db ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_skips_current_version ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/claude_hindsight-c8013c52c6c42c05)
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test agents::discovery::tests::test_decode_dir_name_fallback ... ok
[INFO] [stdout] test agents::parser::tests::test_split_frontmatter ... ok
[INFO] [stdout] test agents::parser::tests::test_split_no_frontmatter ... ok
[INFO] [stdout] test agents::discovery::tests::test_decode_dir_name_no_prefix ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_skill ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_agent ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::bare_file_path_is_trivial ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::first_message_with_imperative_scores_high ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::follow_up_instruction_scores_moderate ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_agent_with_hooks ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::interrupted_request_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_caveat_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::local_command_stdout_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::tool_result_only_scores_zero ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::system_noise_is_trivial ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::greeting_scores_zero ... ok
[INFO] [stdout] test analyzer::session_analytics::tests::test_empty_session ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::trivial_message_detection ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::short_acknowledgement_scores_zero ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_agent_progress_dedup_keeps_first_per_agent_id ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_deep_hierarchy ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_childless_progress_roots_are_filtered ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_agent_progress_dedup_preserves_non_agent_progress ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_multiple_roots ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::yes_scores_zero ... ok
[INFO] [stdout] test analyzer::session_analytics::tests::test_duration_formatting ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_single_node ... ok
[INFO] [stdout] test config::tests::test_config_validation ... ok
[INFO] [stdout] test commands::update_check::tests::test_strip_v_prefix ... ok
[INFO] [stdout] test parser::extract::tests::extract_agent_progress_with_prompt ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_rc_sharing ... ok
[INFO] [stdout] test parser::extract::tests::extract_assistant_full_response ... ok
[INFO] [stdout] test commands::update_check::tests::test_is_newer ... ok
[INFO] [stdout] test parser::extract::tests::extract_bash_progress ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_progress_root_with_children_is_kept ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_build_simple_tree_with_children ... ok
[INFO] [stdout] test config::tests::test_toml_serialization ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_orphan_with_own_children_preserved ... ok
[INFO] [stdout] test analyzer::simple_tree::tests::test_orphan_nodes_promoted_to_roots ... ok
[INFO] [stdout] test agents::parser::tests::test_parse_agent_with_csv_tools ... ok
[INFO] [stdout] test parser::extract::tests::extract_file_paths_from_read_tool ... ok
[INFO] [stdout] test parser::extract::tests::extract_hook_progress ... ok
[INFO] [stdout] test parser::extract::tests::extract_token_usage_from_assistant ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_tool_result_only ... ok
[INFO] [stdout] test parser::extract::tests::extract_tool_calls_from_assistant ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_tool_result_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_block_array_deserializes ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_text_message ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_text_roundtrip ... ok
[INFO] [stdout] test parser::extract::tests::extract_user_returns_none_for_assistant ... ok
[INFO] [stdout] test parser::models::tests::test_message_text_content_from_string ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_thinking_roundtrip ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_tool_use_roundtrip ... ok
[INFO] [stdout] test analyzer::prompt_detect::tests::assistant_node_scores_zero ... ok
[INFO] [stdout] test parser::models::tests::test_content_block_unknown_falls_through_to_value ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_blocks_empty_for_string ... ok
[INFO] [stdout] test parser::models::tests::test_message_content_legacy_string_deserializes ... ok
[INFO] [stdout] test parser::models::tests::test_strip_date_suffix_no_change_when_no_suffix ... ok
[INFO] [stdout] test parser::models::tests::test_strip_date_suffix_removes_8_digit_suffix ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_merge_last_preserves_none_fields ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_total_includes_cache_tokens ... ok
[INFO] [stdout] test parser::models::tests::test_token_usage_merge_last_replaces_non_none_fields ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_agent_tool_call_counted_in_total_tools ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_file_history_snapshot_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_sidechain_node_parses_is_sidechain_field ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_empty_file ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_user_node_deserializes_parent_uuid ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_assistant_node_with_thinking_and_tool_use ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_system_stop_hook_summary_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_parent_uuid_links_across_full_tool_chain ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_queue_operation_node_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_pr_link_node_parses ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_agent_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test parser::transcript::tests::test_invalid_json ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_user_message ... ok
[INFO] [stdout] test parser::transcript::tests::test_parse_tool_use ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_non_assistant_nodes_pass_through_unchanged ... ok
[INFO] [stdout] test parser::transcript::tests::test_progress_dedup_keeps_only_last_frame_per_tool_use_id ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_user_node_with_tool_result_block ... ok
[INFO] [stdout] test parser::models::tests::test_message_text_content_from_blocks ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_single_message_id_produces_one_node ... ok
[INFO] [stdout] test parser::transcript::tests::test_progress_dedup_preserves_distinct_tool_use_ids ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_last_prompt_node_parses ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_token_usage_takes_last_cumulative_value ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_hook_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test parser::transcript::tests::fixture_progress_bash_progress_data_accessible_via_extra ... ok
[INFO] [stdout] test pricing::tests::test_calculate_cost ... ok
[INFO] [stdout] test pricing::tests::test_lookup_known_models ... ok
[INFO] [stdout] test pricing::tests::test_cache_tokens_pricing ... ok
[INFO] [stdout] test pricing::tests::test_lookup_fallback ... ok
[INFO] [stdout] test storage::discovery::tests::test_decode_project_name ... ok
[INFO] [stdout] test storage::index::tests::test_index_creation ... ok
[INFO] [stdout] test parser::transcript::tests::test_sse_deduplication_two_message_ids_produce_two_nodes ... ok
[INFO] [stdout] test watcher::tests::test_read_new_nodes ... ok
[INFO] [stdout] test watcher::tests::test_watcher_creation ... ok
[INFO] [stdout] test storage::index::tests::test_get_top_tools_empty ... ok
[INFO] [stdout] test storage::index::tests::test_index_session ... ok
[INFO] [stdout] test storage::index::tests::test_tool_usage_table ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_deletes_stale_db ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_skips_current_version ... ok
[INFO] [stdout] test storage::index::tests::test_schema_migration_fresh_db ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hindsight
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/parser/transcript.rs - parser::transcript::parse_subagents (line 34) ... ignored
[INFO] [stdout] test src/search/mod.rs - search::search_sessions (line 25) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9604308b1b82ef92e1633025aa30fae6fededd803a165d25cbcc16e295dacbdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9604308b1b82ef92e1633025aa30fae6fededd803a165d25cbcc16e295dacbdc", kill_on_drop: false }`
[INFO] [stdout] 9604308b1b82ef92e1633025aa30fae6fededd803a165d25cbcc16e295dacbdc
