[INFO] fetching crate ccboard-core 0.24.0...
[INFO] testing ccboard-core-0.24.0 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate ccboard-core 0.24.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate ccboard-core 0.24.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ccboard-core 0.24.0
[INFO] tweaked toml for crates.io crate ccboard-core 0.24.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ccboard-core 0.24.0 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ccboard-core 0.24.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" "+1.98.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-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f
[INFO] running `Command { std: "docker" "start" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", 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" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", 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" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling notify-debouncer-mini v0.5.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling fancy-regex v0.16.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling moka v0.12.13
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ccboard-core v0.24.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", 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" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling moka v0.12.13
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ccboard-core v0.24.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 59.80s
[INFO] running `Command { std: "docker" "inspect" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", 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" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ccboard_core-422e547b3ea134e1)
[INFO] [stdout] 
[INFO] [stdout] running 323 tests
[INFO] [stdout] test analytics::anomalies::tests::test_daily_spikes_insufficient_data ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_daily_spikes_detects_outlier_day ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_detect_token_outliers ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_severity_sorting ... ok
[INFO] [stdout] test analytics::discover::tests::test_jaccard_overlap ... ok
[INFO] [stdout] test analytics::discover::tests::test_normalize_strips_punctuation ... ok
[INFO] [stdout] test analytics::optimization::tests::test_below_threshold_no_high_cost ... ok
[INFO] [stdout] test analytics::discover::tests::test_normalize_text ... ok
[INFO] [stdout] test analytics::discover::tests::test_cross_project_bonus ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_deviation_percentage ... ok
[INFO] [stdout] test analytics::optimization::tests::test_high_cost_tool_threshold ... ok
[INFO] [stdout] test analytics::discover::tests::test_ngram_extraction ... ok
[INFO] [stdout] test analytics::optimization::tests::test_model_recommendations_low_cost ... ok
[INFO] [stdout] test analytics::optimization::tests::test_model_recommendations_opus_heavy_high_tools ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_no_variance ... ok
[INFO] [stdout] test analytics::anomalies::tests::test_insufficient_data ... ok
[INFO] [stdout] test analytics::optimization::tests::test_model_recommendations_too_few_sessions ... ok
[INFO] [stdout] test analytics::optimization::tests::test_no_suggestions_empty_data ... ok
[INFO] [stdout] test analytics::optimization::tests::test_sorted_by_savings ... ok
[INFO] [stdout] test analytics::optimization::tests::test_unused_plugin_suggestion ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_empty_sessions ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_consecutive_days ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_gap_breaks_current ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_yesterday_only ... ok
[INFO] [stdout] test analytics::plugin_usage::tests::test_classify_plugin ... ok
[INFO] [stdout] test analytics::plugin_usage::tests::test_dead_code_detection ... ok
[INFO] [stdout] test analytics::plugin_usage::tests::test_empty_sessions ... ok
[INFO] [stdout] test analytics::tests::test_forecast_insufficient_data ... ok
[INFO] [stdout] test analytics::tests::test_analytics_with_missing_timestamps ... ok
[INFO] [stdout] test analytics::tests::test_patterns_model_distribution_sums_to_one ... ok
[INFO] [stdout] test analytics::tests::test_forecast_confidence_reflects_variance ... ok
[INFO] [stdout] test analytics::tests::test_patterns_most_productive_day ... ok
[INFO] [stdout] test analytics::tests::test_patterns_multi_model_session_no_double_count ... ok
[INFO] [stdout] test analytics::tests::test_forecast_stable_trend ... ok
[INFO] [stdout] test analytics::discover::tests::test_category_threshold ... ok
[INFO] [stdout] test analytics::tests::test_patterns_peak_hours ... ok
[INFO] [stdout] test analytics::tests::test_period_display ... ok
[INFO] [stdout] test analytics::tool_chains::tests::test_empty_sessions ... ok
[INFO] [stdout] test analytics::tests::test_trends_empty_sessions ... ok
[INFO] [stdout] test analytics::tests::test_trends_model_usage ... ok
[INFO] [stdout] test analytics::tests::test_trends_single_day ... ok
[INFO] [stdout] test analytics::tool_chains::tests::test_trigrams_extracted ... ok
[INFO] [stdout] test analytics::tests::test_trends_multi_day_aggregation ... ok
[INFO] [stdout] test analytics::tests::test_trends_hourly_distribution ... ok
[INFO] [stdout] test analytics::plugin_usage::tests::test_aggregate_plugin_usage ... ok
[INFO] [stdout] test analytics::optimization::tests::test_model_recommendations_sonnet_heavy ... ok
[INFO] [stdout] test analytics::tool_chains::tests::test_bigrams_extracted ... ok
[INFO] [stdout] test analytics::tool_chains::tests::test_no_tools_session_skipped ... ok
[INFO] [stdout] test bookmarks::tests::test_upsert_and_is_bookmarked ... ok
[INFO] [stdout] test bookmarks::tests::test_empty_store_if_file_missing ... ok
[INFO] [stdout] test bookmarks::tests::test_persist_and_reload ... ok
[INFO] [stdout] test bookmarks::tests::test_toggle ... ok
[INFO] [stdout] test bookmarks::tests::test_remove ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_single_today ... ok
[INFO] [stdout] test analytics::tests::test_forecast_increasing_trend ... ok
[INFO] [stdout] test analytics::tests::test_full_analytics_pipeline ... ok
[INFO] [stdout] test error::tests::test_load_report_merge ... ok
[INFO] [stdout] test error::tests::test_load_report_severity_counting ... ok
[INFO] [stdout] test event::tests::test_event_bus_multiple_subscribers ... ok
[INFO] [stdout] test event::tests::test_event_bus_no_subscribers_ok ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_creation ... ok
[INFO] [stdout] test export::tests::test_cost_formatting ... ok
[INFO] [stdout] test event::tests::test_event_bus_publish_subscribe ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_activity_put_get_hit ... ok
[INFO] [stdout] test export::tests::test_export_conversation_json ... ok
[INFO] [stdout] test export::tests::test_creates_parent_directory ... ok
[INFO] [stdout] test export::tests::test_export_conversation_markdown ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_clear ... ok
[INFO] [stdout] test export::tests::test_export_creates_nested_dirs ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_activity_stats ... ok
[INFO] [stdout] test export::tests::test_export_sessions_creates_dirs ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_put_get ... ok
[INFO] [stdout] test export::tests::test_export_sessions_csv_empty ... ok
[INFO] [stdout] test export::tests::test_export_empty_manager ... ok
[INFO] [stdout] test export::tests::test_html_escape ... ok
[INFO] [stdout] test export::tests::test_export_sessions_json_empty ... ok
[INFO] [stdout] test export::tests::test_multiple_dates_sorted ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_activity_get_miss_on_mtime_change ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_project_paths ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_invalidate ... ok
[INFO] [stdout] test export::tests::test_export_sessions_json_with_data ... ok
[INFO] [stdout] test export::tests::test_export_with_data ... ok
[INFO] [stdout] test export::tests::test_export_sessions_csv_with_data ... ok
[INFO] [stdout] test graph::task_dag::tests::test_add_task ... ok
[INFO] [stdout] test graph::task_dag::tests::test_detect_cycles_none ... ok
[INFO] [stdout] test graph::task_dag::tests::test_detect_cycles_simple ... ok
[INFO] [stdout] test graph::task_dag::tests::test_parse_duration ... ok
[INFO] [stdout] test graph::task_dag::tests::test_topological_sort_simple ... ok
[INFO] [stdout] test hook_event::tests::test_json_deserialization ... ok
[INFO] [stdout] test hook_event::tests::test_json_minimal ... ok
[INFO] [stdout] test hook_event::tests::test_notification_other_is_running ... ok
[INFO] [stdout] test hook_event::tests::test_notification_permission_prompt_is_waiting ... ok
[INFO] [stdout] test hook_event::tests::test_pre_tool_use_is_running ... ok
[INFO] [stdout] test hook_event::tests::test_stop_is_stopped ... ok
[INFO] [stdout] test hook_state::tests::test_make_session_key ... ok
[INFO] [stdout] test hook_state::tests::test_prune_stale_running_removes_stale ... ok
[INFO] [stdout] test hook_state::tests::test_prune_stopped_removes_old ... ok
[INFO] [stdout] test hook_state::tests::test_upsert_revives_stopped ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_bare_claude ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_match ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_rejects_ccboard ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_rejects_desktop ... ok
[INFO] [stdout] test export::tests::test_render_html_escaping_in_plain_text ... ok
[INFO] [stdout] test export::tests::test_render_plain_text_no_code_block ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_rejects_script_with_claude_in_name ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_claude_flags_cli ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_claude_flags_no_flags ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_claude_flags_subagent ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_claude_flags_vscode ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_ps_line ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_ps_line_invalid ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_start_time_today ... ok
[INFO] [stdout] test models::activity::tests::test_action_hint_all_variants_non_empty ... ok
[INFO] [stdout] test models::billing_block::tests::test_billing_block_manager ... ok
[INFO] [stdout] test models::billing_block::tests::test_billing_block_normalization ... ok
[INFO] [stdout] test models::billing_block::tests::test_blocks_for_date ... ok
[INFO] [stdout] test export::tests::test_export_conversation_html ... ok
[INFO] [stdout] test live_monitor::tests::test_is_claude_process_line_rejects_grep ... ok
[INFO] [stdout] test models::config::tests::test_merge_permissions_extend ... ok
[INFO] [stdout] test models::config::tests::test_merge_scalar_override ... ok
[INFO] [stdout] test models::invocations::tests::test_merge ... ok
[INFO] [stdout] test models::invocations::tests::test_total_invocations ... ok
[INFO] [stdout] test models::session::tests::test_session_metadata_duration_display ... ok
[INFO] [stdout] test models::session::tests::test_session_metadata_size_display ... ok
[INFO] [stdout] test models::session::tests::test_token_usage_total ... ok
[INFO] [stdout] test models::session::token_tests::test_real_claude_token_format_deserialization ... ok
[INFO] [stdout] test analytics::optimization::tests::test_model_recommendations_opus_heavy_low_tools ... ok
[INFO] [stdout] test analytics::patterns::tests::test_streak_longer_historical_than_current ... ok
[INFO] [stdout] test live_monitor::tests::test_parse_start_time_fallback ... ok
[INFO] [stdout] test models::billing_block::tests::test_color_coding ... ok
[INFO] [stdout] test models::config::tests::test_merge_env_combines ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_cache_stats ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_activity_put_replaces_stale_alerts ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_activity_invalidate ... ok
[INFO] [stdout] test models::stats::tests::test_context_saturation_empty_sessions ... ok
[INFO] [stdout] test models::stats::tests::test_context_saturation_calculation ... ok
[INFO] [stdout] test models::stats::tests::test_context_saturation_fewer_than_requested ... ok
[INFO] [stdout] test models::stats::tests::test_cache_ratio ... ok
[INFO] [stdout] test models::stats::tests::test_context_saturation_trend_flat_no_prediction ... ok
[INFO] [stdout] test models::stats::tests::test_context_saturation_trend_increasing ... ok
[INFO] [stdout] test models::stats::tests::test_parse_real_format ... ok
[INFO] [stdout] test models::stats::tests::test_stats_cache_defaults ... ok
[INFO] [stdout] test models::stats::tests::test_model_usage_total ... ok
[INFO] [stdout] test models::stats::tests::test_top_models ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_git_clean ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_git_push_force ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_git_reset_hard ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_kill ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_external_exfil ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_destructive_command ... ok
[INFO] [stdout] test parsers::activity::tests::test_classify_fan_out ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_sql_drop ... ok
[INFO] [stdout] test parsers::activity::tests::test_not_sensitive_normal_files ... ok
[INFO] [stdout] test parsers::activity::tests::test_not_destructive_normal_commands ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_scope_violation ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_credential_in_output ... ok
[INFO] [stdout] test parsers::activity::tests::test_sensitive_certificates ... ok
[INFO] [stdout] test parsers::activity::tests::test_sensitive_credential_files ... ok
[INFO] [stdout] test parsers::activity::tests::test_destructive_rm_rf ... ok
[INFO] [stdout] test parsers::activity::tests::test_sensitive_ssh_keys ... ok
[INFO] [stdout] test parsers::activity::tests::test_parse_tool_calls_credential_fixture ... ok
[INFO] [stdout] test parsers::activity::tests::test_sensitive_env_files ... ok
[INFO] [stdout] test parsers::claude_global::tests::test_parse_missing_file ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_force_push ... ok
[INFO] [stdout] test parsers::activity::tests::test_parse_duration_calculation ... ok
[INFO] [stdout] test parsers::claude_global::tests::test_total_tokens ... ok
[INFO] [stdout] test parsers::codex::tests::test_parse_ymd_invalid ... ok
[INFO] [stdout] test parsers::activity::tests::test_parse_tool_calls_destructive_fixture ... ok
[INFO] [stdout] test parsers::activity::tests::test_alert_credential_access ... ok
[INFO] [stdout] test parsers::activity::tests::test_parse_no_duration_without_result ... ok
[INFO] [stdout] test parsers::claude_global::tests::test_parse_valid ... ok
[INFO] [stdout] test parsers::codex::tests::test_parse_ymd_valid ... ok
[INFO] [stdout] test parsers::copilot::tests::test_normalize_model_name ... ok
[INFO] [stdout] test parsers::copilot::tests::test_parse_session_id_extraction ... ok
[INFO] [stdout] test parsers::activity::tests::test_parse_tool_calls_simple_fixture ... ok
[INFO] [stdout] test parsers::copilot::tests::test_parse_timestamp ... ok
[INFO] [stdout] test parsers::filters::tests::test_empty_messages_filtered ... ok
[INFO] [stdout] test parsers::cursor::tests::test_parse_chat_json_empty_tabs ... ok
[INFO] [stdout] test parsers::filters::tests::test_meaningful_messages ... ok
[INFO] [stdout] test parsers::filters::tests::test_noise_patterns_filtered ... ok
[INFO] [stdout] test parsers::cursor::tests::test_scan_nonexistent_returns_empty ... ok
[INFO] [stdout] test parsers::cursor::tests::test_parse_chat_json_with_tab ... ok
[INFO] [stdout] test parsers::copilot::tests::test_is_available ... ok
[INFO] [stdout] test parsers::claude_global::tests::test_skips_empty_projects ... ok
[INFO] [stdout] test parsers::filters::tests::test_partial_matches_not_filtered ... ok
[INFO] [stdout] test parsers::filters::tests::test_system_commands_filtered ... ok
[INFO] [stdout] test parsers::copilot::tests::test_scan_all_two_sessions ... ok
[INFO] [stdout] test parsers::hooks::tests::test_empty_file_returns_missing_shebang_error ... ok
[INFO] [stdout] test parsers::hooks::tests::test_hook_type_parsing ... ok
[INFO] [stdout] test parsers::hooks::tests::test_invalid_shebang_returns_error ... ok
[INFO] [stdout] test live_monitor::tests::test_detect_live_sessions_no_panic ... ok
[INFO] [stdout] test parsers::hooks::tests::test_missing_shebang_returns_validation_error ... ok
[INFO] [stdout] test parsers::gemini::tests::test_is_available ... ok
[INFO] [stdout] test parsers::invocations::tests::test_command_regex ... ok
[INFO] [stdout] test parsers::gemini::tests::test_parse_session_file ... ok
[INFO] [stdout] test parsers::hooks::tests::test_non_executable_hook_marked_correctly ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_command_display ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_empty_config_parses_with_no_servers ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_has_env_returns_false_for_nonexistent_server ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_has_env_returns_false_for_server_without_env ... ok
[INFO] [stdout] test parsers::hooks::tests::test_scan_directory_finds_multiple_hooks ... ok
[INFO] [stdout] test parsers::gemini::tests::test_malformed_json_skipped ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_invalid_json_returns_error ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_http_server_without_command_is_valid ... ok
[INFO] [stdout] test parsers::hooks::tests::test_valid_hook_with_shebang ... ok
[INFO] [stdout] test parsers::gemini::tests::test_scan_all_structure ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_load_merged_combines_global_and_project_configs ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_load_merged_returns_global_only_when_no_project ... ok
[INFO] [stdout] test parsers::invocations::tests::test_detect_command_invocation ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_parse_mcp_config ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_command_display_returns_none_for_nonexistent_server ... ok
[INFO] [stdout] test parsers::opencode::tests::test_scan_nonexistent_returns_empty ... ok
[INFO] [stdout] test export::tests::test_render_fenced_code_block_no_lang ... ok
[INFO] [stdout] test parsers::invocations::tests::test_aggregation ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_missing_mcpservers_field_returns_error ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_load_merged_returns_project_only_when_no_global ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_load_returns_error_for_invalid_json_file ... ok
[INFO] [stdout] test parsers::mcp_config::tests::test_load_returns_none_for_missing_file ... ok
[INFO] [stdout] test parsers::opencode::tests::test_unix_to_datetime_seconds ... ok
[INFO] [stdout] test parsers::plan_parser::tests::test_split_frontmatter ... ok
[INFO] [stdout] test parsers::plan_parser::tests::test_extract_metadata_value ... ok
[INFO] [stdout] test parsers::plan_parser::tests::test_parse_metadata ... ok
[INFO] [stdout] test parsers::rules::tests::test_preview ... ok
[INFO] [stdout] test parsers::plan_parser::tests::test_split_frontmatter_missing ... ok
[INFO] [stdout] test parsers::session_content::tests::test_filter_messages ... ok
[INFO] [stdout] test parsers::opencode::tests::test_unix_to_datetime_millis ... ok
[INFO] [stdout] test parsers::session_index::tests::test_extract_project_path ... ok
[INFO] [stdout] test parsers::invocations::tests::test_detect_agent_invocation ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_detached_head ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_dirty_suffix ... ok
[INFO] [stdout] test parsers::rules::tests::test_load_global_only ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_plain ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_combined ... ok
[INFO] [stdout] test parsers::invocations::tests::test_detect_skill_invocation ... ok
[INFO] [stdout] test parsers::session_index::tests::test_message_filtering_excludes_system_messages ... ok
[INFO] [stdout] test parsers::rules::tests::test_load_missing_files ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_worktree_prefix ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_worktree_path_double_slash ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_branch_whitespace ... ok
[INFO] [stdout] test parsers::rules::tests::test_load_with_project ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_worktree_path_no_worktree ... ok
[INFO] [stdout] test parsers::session_content::tests::test_parse_malformed_json ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_worktree_path_pattern1 ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_worktree_path_pattern2 ... ok
[INFO] [stdout] test parsers::session_index::tests::test_normalize_worktree_path_pattern3 ... ok
[INFO] [stdout] test parsers::session_index::tests::test_discover_sessions ... ok
[INFO] [stdout] test parsers::session_content::tests::test_parse_empty_file ... ok
[INFO] [stdout] test parsers::session_index::tests::test_scan_session_basic ... ok
[INFO] [stdout] test parsers::session_index::tests::test_scan_session_early_termination ... ok
[INFO] [stdout] test parsers::session_content::tests::test_parse_conversation_full ... ok
[INFO] [stdout] test parsers::session_index::tests::test_token_extraction_with_cache ... ok
[INFO] [stdout] test parsers::settings::tests::test_parse_missing_file_graceful ... ok
[INFO] [stdout] test parsers::session_index::tests::test_tool_usage_extraction ... ok
[INFO] [stdout] test parsers::settings::tests::test_parse_valid_settings ... ok
[INFO] [stdout] test parsers::stats::tests::test_parse_valid_stats ... ok
[INFO] [stdout] test parsers::task::tests::test_load_from_file ... ok
[INFO] [stdout] test parsers::task::tests::test_parse_real_fixture_pending ... ok
[INFO] [stdout] test parsers::task::tests::test_parse_real_fixture_with_dependencies ... ok
[INFO] [stdout] test parsers::session_index::tests::test_scan_session_with_branch ... ok
[INFO] [stdout] test parsers::task::tests::test_parses_completed_task ... ok
[INFO] [stdout] test parsers::task::tests::test_parses_minimal_pending_task ... ok
[INFO] [stdout] test parsers::task::tests::test_parses_task_with_description_and_dependencies ... ok
[INFO] [stdout] test parsers::todowrite::tests::test_build_mapping ... ok
[INFO] [stdout] test parsers::todowrite::tests::test_parse_task_create ... ok
[INFO] [stdout] test parsers::todowrite::tests::test_parse_task_update ... ok
[INFO] [stdout] test parsers::session_index::tests::test_scan_session_model_segments_switch ... ok
[INFO] [stdout] test pricing::cache::tests::test_cache_path ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_haiku_basic ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_opus_basic ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_mixed_tokens ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_opus_legacy ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_small_numbers ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_sonnet_basic ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_with_cache ... ok
[INFO] [stdout] test pricing::embedded::tests::test_cost_calculation_zero_tokens ... ok
[INFO] [stdout] test pricing::embedded::tests::test_full_model_id ... ok
[INFO] [stdout] test pricing::embedded::tests::test_haiku_pricing ... ok
[INFO] [stdout] test pricing::embedded::tests::test_opus_legacy_pricing ... ok
[INFO] [stdout] test pricing::embedded::tests::test_opus_pricing ... ok
[INFO] [stdout] test pricing::embedded::tests::test_sonnet_pricing ... ok
[INFO] [stdout] test pricing::embedded::tests::test_total_tokens_includes_cache_read ... ok
[INFO] [stdout] test pricing::embedded::tests::test_unknown_model_fallback ... ok
[INFO] [stdout] test pricing::litellm::tests::test_parse_litellm_json ... ok
[INFO] [stdout] test pricing::tests::test_calculate_cost_opus_basic ... ok
[INFO] [stdout] test parsers::session_index::tests::test_scan_session_model_segments_single ... ok
[INFO] [stdout] test pricing::tests::test_calculate_cost_sonnet_basic ... ok
[INFO] [stdout] test pricing::tests::test_calculate_cost_with_cache ... ok
[INFO] [stdout] test parsers::settings::tests::test_load_merged_hierarchy ... ok
[INFO] [stdout] test pricing::tests::test_get_model_pricing_embedded ... ok
[INFO] [stdout] test pricing::tests::test_get_model_pricing_unknown ... ok
[INFO] [stdout] test quota::tests::test_determine_alert_level ... ok
[INFO] [stdout] test quota::tests::test_quota_no_limit ... ok
[INFO] [stdout] test quota::tests::test_quota_status_safe ... ok
[INFO] [stdout] test quota::tests::test_quota_status_warning ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_get_all_alerts_filter_by_severity ... ok
[INFO] [stdout] test parsers::stats::tests::test_parse_invalid_json ... ok
[INFO] [stdout] test cache::metadata_cache::tests::test_get_all_alerts_returns_stored_alerts ... ok
[INFO] [stdout] test parsers::task::tests::test_invalid_json_returns_error_with_context ... ok
[INFO] [stdout] test summaries::tests::test_delete ... ok
[INFO] [stdout] test summaries::tests::test_load_missing_returns_none ... ok
[INFO] [stdout] test parsers::task::tests::test_load_from_missing_file_returns_error ... ok
[INFO] [stdout] test parsers::task::tests::test_unknown_status_returns_error ... ok
[INFO] [stdout] test usage_estimator::tests::test_monthly_budget ... ok
[INFO] [stdout] test usage_estimator::tests::test_no_budget ... ok
[INFO] [stdout] test parsers::task::tests::test_missing_required_field_returns_error ... ok
[INFO] [stdout] test usage_estimator::tests::test_percent_calculation ... ok
[INFO] [stdout] test watcher::tests::test_debounce_state_basic ... ok
[INFO] [stdout] test usage_estimator::tests::test_parse_plan ... ok
[INFO] [stdout] test watcher::tests::test_process_event_stats ... ok
[INFO] [stdout] test watcher::tests::test_process_event_session ... ok
[INFO] [stdout] test summaries::tests::test_save_and_load ... ok
[INFO] [stdout] test store::tests::test_data_store_creation ... ok
[INFO] [stdout] test store::tests::test_event_bus_subscription ... ok
[INFO] [stdout] test store::tests::test_leaderboard_methods ... ok
[INFO] [stdout] test store::tests::test_initial_load_with_stats ... ok
[INFO] [stdout] test parsers::stats::tests::test_parse_graceful_records_errors ... ok
[INFO] [stdout] test parsers::stats::tests::test_parse_missing_file ... ok
[INFO] [stdout] test store::tests::test_analytics_cache_and_invalidation ... ok
[INFO] [stdout] test store::tests::test_all_violations_dashmap_priority_over_sqlite ... ok
[INFO] [stdout] test export::tests::test_render_fenced_code_block_with_lang ... ok
[INFO] [stdout] test store::tests::test_initial_load_missing_dir ... ok
[INFO] [stdout] test export::tests::test_render_html_export_with_code_block ... ok
[INFO] [stdout] test export::tests::test_render_multiple_code_blocks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 323 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.76s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cache_integration.rs (/opt/rustwide/target/debug/deps/cache_integration-f67c132b0e6bcb61)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_cache_hit_speedup ... ok
[INFO] [stdout] test test_cache_write_real_file ... ok
[INFO] [stdout] test test_datastore_uses_cache ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dag_tests.rs (/opt/rustwide/target/debug/deps/dag_tests-f942331ed6fc087c)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test test_get_task_not_found ... ok
[INFO] [stdout] test test_add_single_task ... ok
[INFO] [stdout] test test_empty_graph ... ok
[INFO] [stdout] test test_dependencies_query ... ok
[INFO] [stdout] test test_critical_path_parallel ... ok
[INFO] [stdout] test test_no_cycles ... ok
[INFO] [stdout] test test_critical_path_linear ... ok
[INFO] [stdout] test test_cycle_detection_complex ... ok
[INFO] [stdout] test test_critical_path_with_cycle ... ok
[INFO] [stdout] test test_cycle_detection_simple ... ok
[INFO] [stdout] test test_topological_sort_diamond ... ok
[INFO] [stdout] test test_topological_sort_linear ... ok
[INFO] [stdout] test test_stress_complex_dependencies ... ok
[INFO] [stdout] test test_invalid_task_reference ... ok
[INFO] [stdout] test test_stress_1000_tasks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/perf_regression.rs (/opt/rustwide/target/debug/deps/perf_regression-eebaf17b31639dfc)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_initial_load_under_2s ... ok
[INFO] [stdout] test test_settings_merge_fast ... ok
[INFO] [stdout] test test_stats_parsing_fast ... ok
[INFO] [stdout] test test_concurrent_access_no_deadlock ... ok
[INFO] [stdout] test test_no_oom_on_huge_jsonl ... ok
[INFO] [stdout] test test_session_scan_scales_linearly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/plan_parser_tests.rs (/opt/rustwide/target/debug/deps/plan_parser_tests-364b4b9c6d8f4505)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_parse_no_frontmatter ... ok
[INFO] [stdout] test test_parse_minimal_plan ... ok
[INFO] [stdout] test test_parse_multiple_tasks ... ok
[INFO] [stdout] test test_phase_status_detection ... ok
[INFO] [stdout] test test_parse_numeric_phase_ids ... ok
[INFO] [stdout] test test_parse_real_plan_file ... FAILED
[INFO] [stdout] test test_graceful_degradation_malformed_yaml ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_parse_real_plan_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_parse_real_plan_file' (3246) panicked at tests/plan_parser_tests.rs:18:9:
[INFO] [stdout] PLAN_PHASES_F-15.md not found at "/opt/claudedocs/archive/phases/PLAN_PHASES_F-15.md". Test requires archived file.
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5edb1daa43e1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5edb1daa43e1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5edb1daa43e1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5edb1daa43e1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5edb1dabaa7a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5edb1dabaa7a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5edb1daa8d9c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5edb1daa8d9c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5edb1da82236 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5edb1da82236 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5edb1da9c279 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5edb1d6c04b0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5edb1d6c04b0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5edb1da9c432 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5edb1da9c432 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5edb1da822e2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5edb1da79519 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5edb1da82fed - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5edb1dabb2fc - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5edb1d6b1690 - plan_parser_tests[18381cc360fde5d8]::test_parse_real_plan_file
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/plan_parser_tests.rs:18:9
[INFO] [stdout]   20:     0x5edb1d6afea7 - plan_parser_tests[18381cc360fde5d8]::test_parse_real_plan_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/plan_parser_tests.rs:7:31
[INFO] [stdout]   21:     0x5edb1d6b3686 - <plan_parser_tests[18381cc360fde5d8]::test_parse_real_plan_file::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5edb1d6b37eb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5edb1d6b37eb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5edb1d6c0e35 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5edb1d6c0e35 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5edb1d6c0e35 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   27:     0x5edb1d6c0e35 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5edb1d6c0e35 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5edb1d6c0e35 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5edb1d6c0e35 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5edb1d6bb8e4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5edb1d6bb8e4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5edb1d6c3f82 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5edb1d6c3f82 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5edb1d6c3f82 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   36:     0x5edb1d6c3f82 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5edb1d6c3f82 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5edb1d6c3f82 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5edb1d6c3f82 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5edb1daa38ff - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   41:     0x5edb1daa38ff - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   42:     0x742643ef1aa4 - <unknown>
[INFO] [stdout]   43:     0x742643f7ea64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_parse_real_plan_file
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test plan_parser_tests`
[INFO] running `Command { std: "docker" "inspect" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f", kill_on_drop: false }`
[INFO] [stdout] 7b20046f0dfdd583c08715a16d289889713c5f87e3074eed3f3d91174988675f
