[INFO] cloning repository https://github.com/nclandrei/distill
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nclandrei/distill" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnclandrei%2Fdistill", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnclandrei%2Fdistill'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8647d90e2bb108d4f8731c321da2dd9a7bc99315
[INFO] testing nclandrei/distill against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnclandrei%2Fdistill" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nclandrei/distill
[INFO] finished tweaking git repo https://github.com/nclandrei/distill
[INFO] tweaked toml for git repo https://github.com/nclandrei/distill written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nclandrei/distill on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nclandrei/distill 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f518b2eed3bd0ce15eb407a5c6772ef76aec7c3cd78f8265db03a19e8be54c7
[INFO] running `Command { std: "docker" "start" "-a" "8f518b2eed3bd0ce15eb407a5c6772ef76aec7c3cd78f8265db03a19e8be54c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f518b2eed3bd0ce15eb407a5c6772ef76aec7c3cd78f8265db03a19e8be54c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f518b2eed3bd0ce15eb407a5c6772ef76aec7c3cd78f8265db03a19e8be54c7", kill_on_drop: false }`
[INFO] [stdout] 8f518b2eed3bd0ce15eb407a5c6772ef76aec7c3cd78f8265db03a19e8be54c7
[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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57009bcf00ce9ebe22802dfb46559750e63333d471467ea647b2c57c851957b7
[INFO] running `Command { std: "docker" "start" "-a" "57009bcf00ce9ebe22802dfb46559750e63333d471467ea647b2c57c851957b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[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 clap v4.6.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[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 ratatui v0.30.0
[INFO] [stderr]    Compiling distill-cli v0.6.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.84s
[INFO] running `Command { std: "docker" "inspect" "57009bcf00ce9ebe22802dfb46559750e63333d471467ea647b2c57c851957b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57009bcf00ce9ebe22802dfb46559750e63333d471467ea647b2c57c851957b7", kill_on_drop: false }`
[INFO] [stdout] 57009bcf00ce9ebe22802dfb46559750e63333d471467ea647b2c57c851957b7
[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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0faa694e14f5fb4a3ae6c5f7985416f29505e19eacf8f76c58854a5b97fcd0a
[INFO] running `Command { std: "docker" "start" "-a" "c0faa694e14f5fb4a3ae6c5f7985416f29505e19eacf8f76c58854a5b97fcd0a", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[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 difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling distill-cli v0.6.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.12s
[INFO] running `Command { std: "docker" "inspect" "c0faa694e14f5fb4a3ae6c5f7985416f29505e19eacf8f76c58854a5b97fcd0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0faa694e14f5fb4a3ae6c5f7985416f29505e19eacf8f76c58854a5b97fcd0a", kill_on_drop: false }`
[INFO] [stdout] c0faa694e14f5fb4a3ae6c5f7985416f29505e19eacf8f76c58854a5b97fcd0a
[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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0602000102b726a11699c6b7a748f07d6540afd47f500df771bc9d473680ae8d
[INFO] running `Command { std: "docker" "start" "-a" "0602000102b726a11699c6b7a748f07d6540afd47f500df771bc9d473680ae8d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/distill-110242de12655c1f)
[INFO] [stdout] 
[INFO] [stdout] running 317 tests
[INFO] [stdout] test agents::tests::test_agent_kind_serde_roundtrip ... ok
[INFO] [stdout] test agents::tests::test_codex_adapter_config_dir ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_all_returns_supported_variants ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_display ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_command_name ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_claude_adapter ... ok
[INFO] [stdout] test agents::tests::test_codex_read_sessions_missing_dir_returns_empty ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_idempotent ... ok
[INFO] [stdout] test agents::tests::test_claude_adapter_config_dir ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_walks_nested_dirs ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_opencode_adapter ... ok
[INFO] [stdout] test agents::tests::test_find_agent_command_in_path_returns_none_when_missing ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_codex_adapter ... ok
[INFO] [stdout] test agents::tests::test_parse_opencode_session_list_accepts_empty_output ... ok
[INFO] [stdout] test agents::tests::test_parse_opencode_session_list_accepts_epoch_millis_updated_field ... ok
[INFO] [stdout] test agents::tests::test_parse_opencode_session_list_accepts_nested_sessions_array ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_since_filter_excludes_old_files ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_returns_jsonl_files ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_missing_dir_returns_empty ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_idempotent ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_since_filter_includes_new_files ... ok
[INFO] [stdout] test agents::tests::test_session_serde_roundtrip ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_uses_when_to_use_text_for_generated_description ... ok
[INFO] [stdout] test commands::dedupe::tests::test_build_remove_proposal_targets_duplicate ... ok
[INFO] [stdout] test commands::dedupe::tests::test_find_duplicate_groups_normalizes_line_endings_and_trailing_whitespace ... ok
[INFO] [stdout] test agents::tests::test_write_multiple_distinct_skills_appends_all ... ok
[INFO] [stdout] test commands::dedupe::tests::test_run_with_paths_dry_run_does_not_write_proposals ... ok
[INFO] [stdout] test commands::dedupe::tests::test_normalize_target_key_adds_md_suffix ... ok
[INFO] [stdout] test commands::dedupe::tests::test_find_duplicate_groups_identifies_duplicates ... ok
[INFO] [stdout] test commands::dedupe::tests::test_run_with_paths_writes_remove_proposals ... ok
[INFO] [stdout] test commands::dedupe::tests::test_sanitize_slug ... ok
[INFO] [stdout] test commands::notify::tests::test_print_pending_proposals_runs_for_single_and_plural ... ok
[INFO] [stdout] test commands::notify::tests::test_print_pending_proposals_zero_is_still_safe ... ok
[INFO] [stdout] test agents::tests::test_codex_read_sessions_returns_jsonl_files ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_preserves_existing_structured_content ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test agents::tests::test_opencode_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test commands::onboard::tests::test_config_from_spec_preserves_values ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_empty_cli_output_returns_empty ... ok
[INFO] [stdout] test commands::onboard::tests::test_default_config_from_detected_prefers_installed_agents ... ok
[INFO] [stdout] test agents::tests::test_find_agent_command_in_path_finds_binary ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_missing_list_returns_error ... ok
[INFO] [stdout] test agents::tests::test_session_content_is_empty ... ok
[INFO] [stdout] test agents::tests::test_session_path_matches_file_path ... ok
[INFO] [stdout] test commands::onboard::tests::test_validate_spec_rejects_all_agents_disabled ... ok
[INFO] [stdout] test commands::dedupe::tests::test_run_with_paths_skips_existing_pending_remove ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_ignores_non_jsonl_files ... ok
[INFO] [stdout] test commands::onboard::tests::test_validate_spec_rejects_disabled_proposal_agent ... ok
[INFO] [stdout] test commands::onboard::tests::test_export_spec_existing_config_with_hook_sets_install_shell_hook_true ... ok
[INFO] [stdout] test commands::onboard::tests::test_validate_spec_rejects_unknown_agent ... ok
[INFO] [stdout] test commands::scan::tests::test_build_agents_enables_only_known_enabled_agents ... ok
[INFO] [stdout] test commands::scan::tests::test_build_agents_keeps_both_supported_agents_when_enabled ... ok
[INFO] [stdout] test commands::scan::tests::test_scan_trigger_label_now_true ... ok
[INFO] [stdout] test commands::scan::tests::test_scan_trigger_label_now_false ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_uses_cli_json_output ... ok
[INFO] [stdout] test commands::onboard::tests::test_export_spec_existing_config_without_hook_sets_install_shell_hook_false ... ok
[INFO] [stdout] test commands::review::tests::test_validate_spec_rejects_duplicate_filename ... ok
[INFO] [stdout] test commands::review::tests::test_decision_to_review ... ok
[INFO] [stdout] test commands::review::tests::test_proposal_to_spec_keeps_filename ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_display_formatting_not_debug ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_disabled_agent ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_never_scanned ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_reports_scheduler_state_so_users_can_verify_distill_runs ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_default_config ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_backlog_count ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_proposal_count ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_with_last_scan ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_skill_count ... ok
[INFO] [stdout] test commands::status::tests::test_scheduled_scan_timing_marks_missed_daily_slot_overdue ... ok
[INFO] [stdout] test commands::status::tests::test_scheduled_scan_timing_returns_next_monthly_slot_after_catch_up ... ok
[INFO] [stdout] test commands::status::tests::test_scheduled_scan_timing_returns_next_weekly_slot_after_recent_scan ... ok
[INFO] [stdout] test commands::watch::tests::test_linux_post_install_hints_keeps_journal_and_verify_lines ... ok
[INFO] [stdout] test commands::watch::tests::test_linux_post_install_hints_mentions_loginctl_enable_linger ... ok
[INFO] [stdout] test config::tests::test_config_deserialize_from_yaml ... ok
[INFO] [stdout] test config::tests::test_config_deserialize_without_sync_agents_defaults_empty ... ok
[INFO] [stdout] test config::tests::test_config_roundtrip_yaml ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_all_agents ... ok
[INFO] [stdout] test agents::tests::test_opencode_export_session_falls_back_when_format_flag_is_unsupported ... ok
[INFO] [stdout] test commands::scheduled_run::tests::test_parse_optional_positive_usize_env_zero_disables_limit ... ok
[INFO] [stdout] test commands::scheduled_run::tests::test_parse_optional_positive_u64_env_uses_default_when_missing ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_preserves_config ... ok
[INFO] [stdout] test config::tests::test_config_save_and_load ... ok
[INFO] [stdout] test config::tests::test_interval_display ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_parses_last_scan_timestamp_field ... ok
[INFO] [stdout] test config::tests::test_ensure_dirs_at_is_idempotent ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_empty_dirs ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_counts_md_files ... ok
[INFO] [stdout] test config::tests::test_load_from_missing_optional_fields_uses_defaults ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_counts_shared_skill_dirs ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_reports_overdue_schedule_state_for_missed_run ... ok
[INFO] [stdout] test agents::tests::test_codex_write_multiple_distinct_skills_appends_all ... ok
[INFO] [stdout] test config::tests::test_load_from_returns_error_on_missing_file ... ok
[INFO] [stdout] test commands::scan::tests::test_last_scan_debug_artifact_path_reads_pointer_file ... ok
[INFO] [stdout] test config::tests::test_ensure_dirs_at_creates_subdirectories ... ok
[INFO] [stdout] test config::tests::test_shell_type_detect ... ok
[INFO] [stdout] test config::tests::test_shell_type_display ... ok
[INFO] [stdout] test config::tests::test_notification_pref_display ... ok
[INFO] [stdout] test config::tests::test_save_to_load_from_preserves_all_fields ... ok
[INFO] [stdout] test config::tests::test_save_to_load_from_roundtrip ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_ignores_non_md_files ... ok
[INFO] [stdout] test notify::tests::test_macos_notifier_is_available_reflects_platform ... ok
[INFO] [stdout] test notify::tests::test_first_existing_path_returns_none_when_all_missing ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_missing_dirs ... ok
[INFO] [stdout] test config::tests::test_save_to_creates_parent_dirs ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_zero_proposals ... ok
[INFO] [stdout] test notify::tests::test_resolve_icon_path_prefers_valid_configured_path ... ok
[INFO] [stdout] test notify::tests::test_first_existing_path_picks_first_existing_candidate ... ok
[INFO] [stdout] test onboard::tests::test_build_config_agent_entries_match_detected ... ok
[INFO] [stdout] test notify::tests::test_terminal_notifier_is_available ... ok
[INFO] [stdout] test notify::tests::test_terminal_notifier_send ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_message_format ... ok
[INFO] [stdout] test onboard::tests::test_build_config_default_answers ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_with_proposals ... ok
[INFO] [stdout] test notify::tests::test_send_notification_none_pref ... ok
[INFO] [stdout] test notify::tests::test_send_notification_terminal_pref ... ok
[INFO] [stdout] test onboard::tests::test_build_config_shell_detection_used ... ok
[INFO] [stdout] test onboard::tests::test_build_config_enables_only_selected_agents ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_codex_only ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_both_installed ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_claude_only ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_none_installed ... ok
[INFO] [stdout] test onboard::tests::test_build_config_monthly_interval_and_native_notifications ... ok
[INFO] [stdout] test notify::tests::test_write_embedded_icon_to_cache_creates_non_empty_file ... ok
[INFO] [stdout] test onboard::tests::test_build_config_proposal_agent_codex ... ok
[INFO] [stdout] test onboard::tests::test_build_config_default_interval_is_weekly ... ok
[INFO] [stdout] test notify::tests::test_send_native_notification_is_best_effort_with_terminal_fallback ... ok
[INFO] [stdout] test notify::tests::test_linux_notifier_is_available_does_not_panic ... ok
[INFO] [stdout] test onboard::tests::test_build_config_daily_interval ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_reports_unsupported_shell ... ok
[INFO] [stdout] test onboard::tests::test_confirm_action_cycles_in_expected_order ... ok
[INFO] [stdout] test onboard::tests::test_jump_to_confirm_resets_action_to_save_and_scan ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_opencode_only ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_installs_hook_and_scheduler ... ok
[INFO] [stdout] test onboard::tests::test_step_sequence_hides_hook_for_other_shell ... ok
[INFO] [stdout] test onboard::tests::test_jump_to_step_number_with_other_shell_skips_hook_slot ... ok
[INFO] [stdout] test notify::tests::test_send_native_notification_is_best_effort_without_terminal_fallback ... ok
[INFO] [stdout] test preferences::tests::test_load_infers_type_from_legacy_filename_only_history ... ok
[INFO] [stdout] test preferences::tests::test_load_builds_prefer_and_avoid_signals ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_skips_hook_when_declined ... ok
[INFO] [stdout] test preferences::tests::test_load_missing_history_file ... ok
[INFO] [stdout] test preferences::tests::test_to_prompt_block_without_history ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_claude_stream_output_uses_last_json_candidate ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_claude_stream_output_handles_preamble_before_json ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_opencode_json_output_reads_embedded_result ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_json_value_handles_fenced_blocks ... ok
[INFO] [stdout] test proposal_runner::tests::test_locked_opencode_config_json_denies_mutation_tools ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_isolated_codex_home_under_debug_run_dir_is_preserved ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_proposal_command_for_claude_does_not_override_home ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_proposal_command_for_opencode_sets_inline_permissions ... ok
[INFO] [stdout] test proposal_runner::tests::test_proposal_agent_command_supports_opencode ... ok
[INFO] [stdout] test proposals::tests::test_confidence_serde ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_isolated_opencode_home_without_debug_run_dir_cleans_up_on_drop ... ok
[INFO] [stdout] test proposals::tests::test_infer_skill_name_from_body_returns_none_without_heading ... ok
[INFO] [stdout] test proposal_runner::tests::test_proposal_agent_mode_detects_known_profiles ... ok
[INFO] [stdout] test proposals::tests::test_frontmatter_roundtrip_with_file_target ... ok
[INFO] [stdout] test proposals::tests::test_frontmatter_serde_roundtrip ... ok
[INFO] [stdout] test proposal_runner::tests::test_populate_isolated_codex_home_copies_control_plane_only ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_isolated_codex_home_under_debug_run_dir_reuses_existing_symlinks ... ok
[INFO] [stdout] test proposal_runner::tests::test_populate_isolated_opencode_home_copies_control_plane_only ... ok
[INFO] [stdout] test proposals::tests::test_infer_skill_name_from_body_slugifies_markdown_title ... ok
[INFO] [stdout] test proposals::tests::test_proposal_from_invalid_markdown ... ok
[INFO] [stdout] test proposals::tests::test_legacy_target_skill_resolves_to_skill_target ... ok
[INFO] [stdout] test proposals::tests::test_proposal_type_serde ... ok
[INFO] [stdout] test proposals::tests::test_proposal_roundtrip ... ok
[INFO] [stdout] test review::tests::test_derive_preference_tags_includes_type_target_and_topic ... ok
[INFO] [stdout] test proposals::tests::test_proposal_to_markdown ... ok
[INFO] [stdout] test review::tests::test_diff_lines_shows_changes ... ok
[INFO] [stdout] test review::tests::test_load_proposals_nonexistent_dir ... ok
[INFO] [stdout] test review::tests::test_accept_remove_proposal_requires_target_skill ... ok
[INFO] [stdout] test review::tests::test_accept_new_proposal_uses_body_title_when_target_missing ... ok
[INFO] [stdout] test review::tests::test_accept_remove_proposal_deletes_target_skill ... ok
[INFO] [stdout] test review::tests::test_log_decision_creates_history_dir ... ok
[INFO] [stdout] test review::tests::test_log_decision_entry_is_valid_json ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_removes_proposal ... ok
[INFO] [stdout] test review::tests::test_load_proposals_empty_dir ... ok
[INFO] [stdout] test review::tests::test_load_proposals_from_dir ... ok
[INFO] [stdout] test review::tests::test_load_proposals_ignores_non_md_files ... ok
[INFO] [stdout] test review::tests::test_accept_improve_updates_existing_shared_skill_source_and_preserves_frontmatter ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_logs_to_history ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_uses_target_skill_filename ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_writes_skill ... ok
[INFO] [stdout] test review::tests::test_log_decision_appends ... ok
[INFO] [stdout] test review::tests::test_load_proposals_sets_filename_field ... ok
[INFO] [stdout] test review::tests::test_pending_confirmation_maps_to_expected_intent ... ok
[INFO] [stdout] test review::tests::test_markdown_to_lines_basic ... ok
[INFO] [stdout] test review::tests::test_proposal_details_rich_diff_for_improve ... ok
[INFO] [stdout] test review::tests::test_required_confirmation_for_accept_all_with_removals ... ok
[INFO] [stdout] test review::tests::test_proposal_details_warns_when_remove_target_missing ... ok
[INFO] [stdout] test review::tests::test_load_proposals_sorted_by_filename ... ok
[INFO] [stdout] test review::tests::test_proposal_details_rich_fallback_for_new ... ok
[INFO] [stdout] test review::tests::test_reject_proposal_logs_to_history ... ok
[INFO] [stdout] test review::tests::test_reject_proposal_removes_file ... ok
[INFO] [stdout] test review::tests::test_review_ui_action_focus_cycles ... ok
[INFO] [stdout] test review::tests::test_required_confirmation_for_accept_remove ... ok
[INFO] [stdout] test run_history::tests::test_run_history_ui_filter_cycles ... ok
[INFO] [stdout] test run_history::tests::test_summarize_run_records_counts_successes_and_failures ... ok
[INFO] [stdout] test run_history::tests::test_failed_record_truncates_error_text ... ok
[INFO] [stdout] test scanner::engine::tests::test_agent_timeout_defaults_to_two_hours ... ok
[INFO] [stdout] test scanner::engine::tests::test_agent_timeout_parses_positive_seconds ... ok
[INFO] [stdout] test scanner::engine::tests::test_backlog_appends_new_sessions_after_existing_queue ... ok
[INFO] [stdout] test scanner::engine::tests::test_backlog_seeds_newest_first_on_first_scan ... ok
[INFO] [stdout] test run_history::tests::test_load_run_records_missing_file ... ok
[INFO] [stdout] test review::tests::test_review_summary_counts ... ok
[INFO] [stdout] test run_history::tests::test_load_run_records_returns_newest_first ... ok
[INFO] [stdout] test run_history::tests::test_append_and_load_run_records_roundtrip ... ok
[INFO] [stdout] test review::tests::test_review_all_accept ... ok
[INFO] [stdout] test review::tests::test_review_all_skip ... ok
[INFO] [stdout] test review::tests::test_review_all_reject ... ok
[INFO] [stdout] test review::tests::test_accept_remove_deletes_existing_shared_skill_directory ... ok
[INFO] [stdout] test scanner::engine::tests::test_build_staged_session_summary_extracts_current_opencode_export_shape ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_returns_none_for_unrelated_errors ... ok
[INFO] [stdout] test scanner::engine::tests::test_build_prompt_references_manifest_and_not_excerpts ... ok
[INFO] [stdout] test scanner::engine::tests::test_parse_scan_response_normalizes_relative_paths ... ok
[INFO] [stdout] test scanner::engine::tests::test_scan_debug_artifacts_cleanup_success_run ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_no_false_positive_from_response_content ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_not_logged_in_in_stderr ... ok
[INFO] [stdout] test scanner::engine::tests::test_backlog_on_disk_excludes_batch_after_pre_scan_save ... ok
[INFO] [stdout] test scanner::engine::tests::test_scan_debug_artifacts_preserve_failure_run ... ok
[INFO] [stdout] test scanner::engine::tests::test_build_staged_session_summary_extracts_opencode_export_messages_and_tools ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_claude_authentication_failed ... ok
[INFO] [stdout] test scanner::engine::tests::test_touched_paths_from_audit_log_matches_claude_code_tool_use_events ... ok
[INFO] [stdout] test scanner::engine::tests::test_validate_and_finalize_response_rejects_missing_coverage ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_keeps_same_basename_from_different_paths ... ok
[INFO] [stdout] test scanner::engine::tests::test_select_session_batch_respects_count_and_raw_byte_cap ... ok
[INFO] [stdout] test scanner::engine::tests::test_select_session_batch_keeps_single_oversized_first_session ... ok
[INFO] [stdout] test scanner::engine::tests::test_stage_scan_workspace_truncates_large_session_fields ... ok
[INFO] [stdout] test run_history::tests::test_draw_run_history_ui_renders_summary_and_details ... ok
[INFO] [stdout] test scanner::engine::tests::test_stage_scan_workspace_copies_sessions_and_skills ... ok
[INFO] [stdout] test run_history::tests::test_draw_run_history_ui_renders_empty_filter_state ... ok
[INFO] [stdout] test scanner::engine::tests::test_agent_timeout_accepts_zero_to_disable ... ok
[INFO] [stdout] test scanner::reader::tests::test_last_scan_load_missing_file ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_skips_unavailable_agent ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_sorted_by_timestamp ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_proposed_workflow_is_not_ready_again ... ok
[INFO] [stdout] test scanner::engine::tests::test_touched_paths_from_audit_log_matches_private_prefix_and_double_slashes ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_deduplicates ... ok
[INFO] [stdout] test scanner::timeline::tests::test_render_timeline_window_keeps_requested_middle_range ... ok
[INFO] [stdout] test scanner::timeline::tests::test_codex_timeline_keeps_middle_command_execution ... ok
[INFO] [stdout] test scanner::engine::tests::test_stage_timeline_workspace_skips_missing_session_files ... ok
[INFO] [stdout] test scanner::engine::tests::test_touched_paths_from_audit_log_ignores_non_tool_messages ... ok
[INFO] [stdout] test review::tests::test_draw_review_ui_renders_confirmation_modal ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_attempted_workflow_waits_for_new_evidence ... ok
[INFO] [stdout] test schedule::tests::test_launchd_status_not_installed ... ok
[INFO] [stdout] test schedule::tests::test_pick_stable_program_path_falls_back_when_no_candidate_matches ... ok
[INFO] [stdout] test review::tests::test_draw_review_ui_renders_footer_actions_and_status ... ok
[INFO] [stdout] test schedule::tests::test_launchd_status_installed ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_uses_calendar_intervals_for_wake_catch_up ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_ready_workflow_requires_three_sessions ... ok
[INFO] [stdout] test scanner::reader::tests::test_last_scan_roundtrip ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_is_valid_xml ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_sets_path_and_log_paths_for_notifier_visibility ... ok
[INFO] [stdout] test schedule::tests::test_format_user_bus_warning_does_not_duplicate_user_flag ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_path ... ok
[INFO] [stdout] test schedule::tests::test_stable_program_candidates_includes_linux_system_paths ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_creates_files ... ok
[INFO] [stdout] test schedule::tests::test_launchd_install_fails_if_launchctl_fails ... ok
[INFO] [stdout] test schedule::tests::test_systemd_status_not_installed ... ok
[INFO] [stdout] test schedule::tests::test_launchd_install_is_idempotent_when_plist_already_present ... ok
[INFO] [stdout] test schedule::tests::test_pick_stable_program_path_prefers_symlink_to_versioned_target ... ok
[INFO] [stdout] test schedule::tests::test_systemd_unit_paths ... ok
[INFO] [stdout] test schedule::tests::test_uninstall_is_idempotent_launchd ... ok
[INFO] [stdout] test schedule::tests::test_uninstall_is_idempotent_systemd ... ok
[INFO] [stdout] test shell::tests::test_hook_snippet_bash ... ok
[INFO] [stdout] test shell::tests::test_hook_snippet_fish ... ok
[INFO] [stdout] test shell::tests::test_hook_snippet_zsh ... ok
[INFO] [stdout] test shell::tests::test_hook_snippet_other_is_empty ... ok
[INFO] [stdout] test shell::tests::test_install_hook_bash ... ok
[INFO] [stdout] test shell::tests::test_install_hook_appends_to_existing_file ... ok
[INFO] [stdout] test shell::tests::test_install_hook_fish_creates_dirs ... ok
[INFO] [stdout] test shell::tests::test_install_hook_zsh ... ok
[INFO] [stdout] test shell::tests::test_install_hook_unsupported_shell ... ok
[INFO] [stdout] test shell::tests::test_install_hook_idempotent ... ok
[INFO] [stdout] test schedule::tests::test_systemd_status_installed ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_bash ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_fish ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_zsh ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_other ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_not_found_no_marker ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_unsupported_shell ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_not_found_missing_file ... ok
[INFO] [stdout] test sync::tests::test_load_skill_sources_tracks_origin_paths ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_preserves_surrounding_content ... ok
[INFO] [stdout] test sync::tests::test_load_skills_empty_dir ... ok
[INFO] [stdout] test schedule::tests::test_launchd_uninstall_removes_plist ... ok
[INFO] [stdout] test schedule::tests::test_launchd_install_creates_plist ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_still_hard_fails_on_unrelated_systemctl_error ... ok
[INFO] [stdout] test schedule::tests::test_systemd_timer_contains_calendar ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_contains_interval ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_soft_fails_when_user_bus_is_unreachable ... ok
[INFO] [stdout] test schedule::tests::test_systemd_service_sets_dbus_and_path_env_for_notify_send ... ok
[INFO] [stdout] test schedule::tests::test_systemd_uninstall_succeeds_when_user_bus_is_unreachable ... ok
[INFO] [stdout] test schedule::tests::test_systemd_service_contains_exec_start ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_fails_if_systemctl_fails ... ok
[INFO] [stdout] test sync::tests::test_load_skills_ignores_non_md ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_fish ... ok
[INFO] [stdout] test sync::tests::test_load_skills_supports_skill_directories ... ok
[INFO] [stdout] test sync::tests::test_load_skills_from_directory ... ok
[INFO] [stdout] test sync::tests::test_load_skills_follows_symlinked_skill_directories ... ok
[INFO] [stdout] test sync::tests::test_load_skills_from_dirs_dedupes_by_name_preferring_first_root ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_empty_agents_list ... ok
[INFO] [stdout] test sync::tests::test_load_skills_nonexistent_dir ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_idempotent ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_empty_skills_list ... ok
[INFO] [stdout] test sync::tests::test_run_sync_nonexistent_skills_dir ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_writes_to_all_agents ... ok
[INFO] [stdout] test schedule::tests::test_systemd_uninstall_removes_files ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_since_rfc3339 ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_agent_response_file_target ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_since_invalid ... ok
[INFO] [stdout] test sync_agents::tests::test_pending_file_targets_reads_targets ... ok
[INFO] [stdout] test sync::tests::test_run_sync_end_to_end ... ok
[INFO] [stdout] test sync::tests::test_run_sync_from_dirs_includes_shared_directory_skills ... ok
[INFO] [stdout] test sync_agents::tests::test_resolve_projects_dedupes_and_validates_git_repo ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-fba08753d3f4675d)
[INFO] [stdout] test sync_agents::tests::test_parse_since_date ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 317 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test test_help_flag ... ok
[INFO] [stdout] test test_dedupe_writes_remove_proposal ... ok
[INFO] [stdout] test test_notify_check ... ok
[INFO] [stdout] test test_onboard_apply_json ... ok
[INFO] [stdout] test test_review_write_json_stdout ... ok
[INFO] [stdout] test test_review_write_json ... ok
[INFO] [stdout] test test_invalid_subcommand ... ok
[INFO] [stdout] test test_dedupe_dry_run_does_not_write_proposals ... ok
[INFO] [stdout] test test_review_no_proposals ... ok
[INFO] [stdout] test test_onboard_write_json_stdout ... ok
[INFO] [stdout] test test_onboard_apply_json_can_run_initial_scan_immediately ... ok
[INFO] [stdout] test test_onboard_apply_json_stdin ... ok
[INFO] [stdout] test test_review_apply_json_stdin ... ok
[INFO] [stdout] test test_status_without_config ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stdout] test test_review_apply_json ... ok
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmppzB7tK/repo-two/.git/
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpt5QPcy/repo-one/.git/
[INFO] [stdout] test test_status_with_config ... ok
[INFO] [stdout] test test_onboard_write_json_template ... ok
[INFO] [stdout] test test_sync_agents_list_configured_empty ... ok
[INFO] [stdout] test test_scheduled_run_writes_combined_history_record ... ok
[INFO] [stdout] test test_runs_without_history ... ok
[INFO] [stdout] test test_version_flag ... ok
[INFO] [stdout] test test_scan_without_now_flag ... ok
[INFO] [stdout] test test_scan_now_writes_run_history_record ... ok
[INFO] [stdout] test test_watch_mutual_exclusion ... ok
[INFO] [stdout] test test_sync_agents_save_projects_persists_allowlist ... ok
[INFO] [stdout] test test_watch_uninstall_stub ... ok
[INFO] [stdout] test test_watch_install_stub ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpBVu5es/repo-history/.git/
[INFO] [stdout] test test_runs_requires_interactive_terminal_when_history_exists ... ok
[INFO] [stdout] test test_watch_install_writes_scheduled_run_command ... ok
[INFO] [stdout] test test_scan_now_without_config ... ok
[INFO] [stdout] test test_sync_agents_dry_run_writes_run_history_record ... ok
[INFO] [stdout] test test_sync_agents_dry_run_does_not_write_proposals ... ok
[INFO] [stdout] test test_sync_agents_all_configured_errors_when_empty ... ok
[INFO] [stdout] test test_no_args_without_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-19dbdd6baf7998fc)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_e2e_notify_with_proposals ... ok
[INFO] [stdout] test test_e2e_notify_no_proposals ... ok
[INFO] [stdout] test test_e2e_notify_single_proposal ... ok
[INFO] [stdout] test test_e2e_notify_empty_proposals_dir ... ok
[INFO] [stdout] test test_e2e_scan_creates_proposals_dir ... ok
[INFO] [stdout] test test_e2e_scan_without_now_runs_scheduled_path ... ok
[INFO] [stdout] test test_e2e_status_shows_config ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpyPFL8Q/demo-project/.git/
[INFO] [stdout] test test_e2e_full_flow_status_after_config ... ok
[INFO] [stdout] test test_e2e_scan_no_config_error_mentions_config ... ok
[INFO] [stdout] [master (root-commit) 2b859ce] Add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stdout] test test_e2e_sync_agents_opencode_proposal_agent_writes_proposal ... ok
[INFO] [stdout] test test_e2e_scan_codex_proposal_agent_with_schema_enforcement ... ok
[INFO] [stdout] test test_e2e_scan_debug_dir_captures_workspace_and_outputs ... ok
[INFO] [stdout] test test_e2e_scan_ignores_stale_backlog_session_paths ... FAILED
[INFO] [stdout] test test_e2e_scan_claude_stream_json_with_coverage ... ok
[INFO] [stdout] test test_e2e_scan_reports_existing_shared_skills_and_manifest_flow ... ok
[INFO] [stdout] test test_e2e_scan_rejects_missing_coverage_and_keeps_backlog ... ok
[INFO] [stdout] test test_e2e_scan_opencode_proposal_agent_uses_isolated_home_and_inline_permissions ... ok
[INFO] [stdout] test test_e2e_scan_opencode_monitored_sessions_with_generic_proposal_agent ... ok
[INFO] [stdout] test test_e2e_preference_learning_roundtrip_review_to_scan_prompt ... ok
[INFO] [stdout] test test_e2e_scheduled_run_drains_multiple_batches_until_budget ... ok
[INFO] [stdout] test test_e2e_scan_codex_middle_workflow_across_projects_writes_proposal ... ok
[INFO] [stdout] test test_e2e_scan_first_run_uses_newest_batch_then_drains_backlog ... ok
[INFO] [stdout] test test_e2e_scan_large_codex_backlog_respects_byte_cap_and_preserves_remaining_sessions ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_e2e_scan_ignores_stale_backlog_session_paths stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_e2e_scan_ignores_stale_backlog_session_paths' (583) panicked at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Failed to execute agent command: fake-proposal-agent.sh
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     Text file busy (os error 26)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::process::Child, std::io::error::Error> as anyhow::Context<std::process::Child, std::io::error::Error>>::with_context::<alloc::string::String, distill::scanner::engine::invoke_agent_with_timeout::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:65:37
[INFO] [stdout]    2: distill::scanner::engine::invoke_agent_with_timeout
[INFO] [stdout]              at ./src/scanner/engine.rs:2499:10
[INFO] [stdout]    3: distill::scanner::engine::invoke_agent
[INFO] [stdout]              at ./src/scanner/engine.rs:2452:5
[INFO] [stdout]    4: distill::scanner::engine::run_scan::{closure#0}
[INFO] [stdout]              at ./src/scanner/engine.rs:1022:26
[INFO] [stdout]    5: distill::scanner::engine::run_scan
[INFO] [stdout]              at ./src/scanner/engine.rs:889:18
[INFO] [stdout]    6: distill::commands::scan::run_scan_once
[INFO] [stdout]              at ./src/commands/scan.rs:206:21
[INFO] [stdout]    7: distill::commands::scan::run_with_options
[INFO] [stdout]              at ./src/commands/scan.rs:143:18
[INFO] [stdout]    8: distill::commands::scan::run
[INFO] [stdout]              at ./src/commands/scan.rs:88:15
[INFO] [stdout]    9: distill::main
[INFO] [stdout]              at ./src/main.rs:207:13
[INFO] [stdout]   10: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   11: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   12: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:206:18
[INFO] [stdout]   13: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   14: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   15: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   16: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   17: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:175:24
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:171:5
[INFO] [stdout]   22: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:205:5
[INFO] [stdout]   23: main
[INFO] [stdout]   24: <unknown>
[INFO] [stdout]   25: __libc_start_main
[INFO] [stdout]   26: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`DISTILL_LAUNCHCTL_PATH="true" DISTILL_SYSTEMCTL_PATH="true" HOME="/tmp/.tmpWCAevj" PATH="/tmp/.tmpWCAevj/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "/opt/rustwide/target/debug/distill" "scan" "--now"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] distill scan: running immediate scan...
[INFO] [stdout] Scanning agents: codex
[INFO] [stdout] Live scan debug directory: /tmp/.tmpWCAevj/.distill/scan-debug/scan-20260511-180123-622-0
[INFO] [stdout] Found 1 session(s) to analyze.
[INFO] [stdout] Pending scan backlog: 1
[INFO] [stdout] Loaded 0 existing skill(s).
[INFO] [stdout] Inspecting 1 staged session timeline file(s) with `fake-proposal-agent.sh` (prompt: 2763 bytes)...
[INFO] [stdout] Waiting for workflow detection response...
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Failed to execute agent command: fake-proposal-agent.sh
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     Text file busy (os error 26)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::process::Child, std::io::error::Error> as anyhow::Context<std::process::Child, std::io::error::Error>>::with_context::<alloc::string::String, distill::scanner::engine::invoke_agent_with_timeout::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:65:37
[INFO] [stdout]    2: distill::scanner::engine::invoke_agent_with_timeout
[INFO] [stdout]              at ./src/scanner/engine.rs:2499:10
[INFO] [stdout]    3: distill::scanner::engine::invoke_agent
[INFO] [stdout]              at ./src/scanner/engine.rs:2452:5
[INFO] [stdout]    4: distill::scanner::engine::run_scan::{closure#0}
[INFO] [stdout]              at ./src/scanner/engine.rs:1022:26
[INFO] [stdout]    5: distill::scanner::engine::run_scan
[INFO] [stdout]              at ./src/scanner/engine.rs:889:18
[INFO] [stdout]    6: distill::commands::scan::run_scan_once
[INFO] [stdout]              at ./src/commands/scan.rs:206:21
[INFO] [stdout]    7: distill::commands::scan::run_with_options
[INFO] [stdout]              at ./src/commands/scan.rs:143:18
[INFO] [stdout]    8: distill::commands::scan::run
[INFO] [stdout]              at ./src/commands/scan.rs:88:15
[INFO] [stdout]    9: distill::main
[INFO] [stdout]              at ./src/main.rs:207:13
[INFO] [stdout]   10: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   11: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   12: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:206:18
[INFO] [stdout]   13: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   14: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   15: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   16: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   17: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:175:24
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:171:5
[INFO] [stdout]   22: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/rt.rs:205:5
[INFO] [stdout]   23: main
[INFO] [stdout]   24: <unknown>
[INFO] [stdout]   25: __libc_start_main
[INFO] [stdout]   26: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ab26f01200a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ab26f01200a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ab26f01200a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ab26f01200a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ab26f02815a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ab26f02815a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5ab26f017ec2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5ab26f017ec2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5ab26efee56f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ab26efee56f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ab26f009519 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ab26ef2a59c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5ab26ef2a59c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5ab26f0096d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5ab26f0096d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5ab26efee628 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5ab26efe3579 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ab26efef3cd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5ab26f02896c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ab26ef91f38 - core[e929cb53b82a81ca]::panicking::panic_display::<assert_cmd[910eb5855d092bca]::assert::AssertError>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5ab26ef904f7 - <assert_cmd[910eb5855d092bca]::assert::AssertError>::panic::<assert_cmd[910eb5855d092bca]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:1036:9
[INFO] [stdout]   21:     0x5ab26ef956f7 - <<assert_cmd[910eb5855d092bca]::assert::AssertError>::panic<assert_cmd[910eb5855d092bca]::assert::Assert> as core[e929cb53b82a81ca]::ops::function::FnOnce<(assert_cmd[910eb5855d092bca]::assert::AssertError,)>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5ab26ef95a34 - <core[e929cb53b82a81ca]::result::Result<assert_cmd[910eb5855d092bca]::assert::Assert, assert_cmd[910eb5855d092bca]::assert::AssertError>>::unwrap_or_else::<<assert_cmd[910eb5855d092bca]::assert::AssertError>::panic<assert_cmd[910eb5855d092bca]::assert::Assert>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5ab26ef935f0 - <assert_cmd[910eb5855d092bca]::assert::Assert>::success
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:161:28
[INFO] [stdout]   24:     0x5ab26eef362a - e2e[e44a8b6865a30485]::test_e2e_scan_ignores_stale_backlog_session_paths
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e.rs:1080:10
[INFO] [stdout]   25:     0x5ab26eee7e97 - e2e[e44a8b6865a30485]::test_e2e_scan_ignores_stale_backlog_session_paths::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e.rs:1015:55
[INFO] [stdout]   26:     0x5ab26ef0cbd6 - <e2e[e44a8b6865a30485]::test_e2e_scan_ignores_stale_backlog_session_paths::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5ab26ef1d87b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5ab26ef1d87b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   29:     0x5ab26ef2b06b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   30:     0x5ab26ef2b06b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   31:     0x5ab26ef2b06b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5ab26ef2b06b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5ab26ef2b06b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5ab26ef2b06b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   35:     0x5ab26ef2b06b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   36:     0x5ab26ef24784 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   37:     0x5ab26ef24784 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5ab26ef2dc72 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   39:     0x5ab26ef2dc72 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   40:     0x5ab26ef2dc72 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5ab26ef2dc72 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5ab26ef2dc72 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5ab26ef2dc72 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   44:     0x5ab26ef2dc72 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5ab26f01137f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   46:     0x5ab26f01137f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   47:     0x75f2a419aaa4 - <unknown>
[INFO] [stdout]   48:     0x75f2a4227a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_e2e_scan_ignores_stale_backlog_session_paths
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 22 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.52s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e`
[INFO] running `Command { std: "docker" "inspect" "0602000102b726a11699c6b7a748f07d6540afd47f500df771bc9d473680ae8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0602000102b726a11699c6b7a748f07d6540afd47f500df771bc9d473680ae8d", kill_on_drop: false }`
[INFO] [stdout] 0602000102b726a11699c6b7a748f07d6540afd47f500df771bc9d473680ae8d
