[INFO] fetching crate distill-cli 0.6.6...
[INFO] testing distill-cli-0.6.6 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate distill-cli 0.6.6 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate distill-cli 0.6.6
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate distill-cli 0.6.6
[INFO] tweaked toml for crates.io crate distill-cli 0.6.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate distill-cli 0.6.6 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate distill-cli 0.6.6 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ratatui v0.30.0
[INFO] [stderr]   Downloaded num_threads v0.1.7
[INFO] [stderr]   Downloaded unicode-truncate v2.0.1
[INFO] [stderr]   Downloaded wezterm-dynamic v0.2.1
[INFO] [stderr]   Downloaded wezterm-dynamic-derive v0.1.1
[INFO] [stderr]   Downloaded wezterm-blob-leases v0.1.1
[INFO] [stderr]   Downloaded filedescriptor v0.8.3
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[INFO] [stderr]   Downloaded wezterm-color-types v0.3.0
[INFO] [stderr]   Downloaded lab v0.11.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.117
[INFO] [stderr]   Downloaded vtparse v0.6.2
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded ratatui-termwiz v0.1.0
[INFO] [stderr]   Downloaded phf_macros v0.11.3
[INFO] [stderr]   Downloaded line-clipping v0.3.7
[INFO] [stderr]   Downloaded atomic v0.6.1
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded wezterm-input-types v0.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.117
[INFO] [stderr]   Downloaded memmem v0.1.1
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] [stderr]   Downloaded csscolorparser v0.6.2
[INFO] [stderr]   Downloaded termios v0.3.3
[INFO] [stderr]   Downloaded kasuari v0.4.12
[INFO] [stderr]   Downloaded pest_derive v2.8.6
[INFO] [stderr]   Downloaded ratatui-macros v0.7.0
[INFO] [stderr]   Downloaded ratatui-crossterm v0.1.0
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded clap_derive v4.6.0
[INFO] [stderr]   Downloaded lru v0.16.3
[INFO] [stderr]   Downloaded terminfo v0.9.0
[INFO] [stderr]   Downloaded pest_generator v2.8.6
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded clap v4.6.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.117
[INFO] [stderr]   Downloaded bytemuck v1.25.0
[INFO] [stderr]   Downloaded pest_meta v2.8.6
[INFO] [stderr]   Downloaded ratatui-core v0.1.0
[INFO] [stderr]   Downloaded uuid v1.23.0
[INFO] [stderr]   Downloaded wezterm-bidi v0.2.3
[INFO] [stderr]   Downloaded finl_unicode v1.4.0
[INFO] [stderr]   Downloaded fancy-regex v0.11.0
[INFO] [stderr]   Downloaded cc v1.2.58
[INFO] [stderr]   Downloaded ratatui-widgets v0.3.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.117
[INFO] [stderr]   Downloaded js-sys v0.3.94
[INFO] [stderr]   Downloaded pest v2.8.6
[INFO] [stderr]   Downloaded pulldown-cmark v0.12.2
[INFO] [stderr]   Downloaded crossterm v0.29.0
[INFO] [stderr]   Downloaded nix v0.31.2
[INFO] [stderr]   Downloaded termwiz v0.23.3
[INFO] [stderr]   Downloaded deltae v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5
[INFO] running `Command { std: "docker" "start" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", 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" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", 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" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[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-mio v0.2.5
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[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 clap v4.6.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.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] [stdout] warning: method `launchd_start_calendar_interval` is never used
[INFO] [stdout]   --> src/schedule/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ScheduleCadence {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 27 |     fn launchd_start_calendar_interval(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 25s
[INFO] running `Command { std: "docker" "inspect" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", 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" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[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]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stdout] warning: method `launchd_start_calendar_interval` is never used
[INFO] [stdout]   --> src/schedule/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ScheduleCadence {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 27 |     fn launchd_start_calendar_interval(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", 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" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: method `launchd_start_calendar_interval` is never used
[INFO] [stderr]   --> src/schedule/mod.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl ScheduleCadence {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] 27 |     fn launchd_start_calendar_interval(self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `distill-cli` (bin "distill") generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/distill-b3ca59262f4a71e7)
[INFO] [stdout] 
[INFO] [stdout] running 304 tests
[INFO] [stdout] test agents::tests::test_agent_kind_all_returns_supported_variants ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_serde_roundtrip ... ok
[INFO] [stdout] test agents::tests::test_claude_adapter_config_dir ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_command_name ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_returns_jsonl_files ... ok
[INFO] [stdout] test agents::tests::test_agent_kind_display ... ok
[INFO] [stdout] test agents::tests::test_codex_read_sessions_returns_jsonl_files ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_walks_nested_dirs ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_preserves_existing_structured_content ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test agents::tests::test_codex_read_sessions_missing_dir_returns_empty ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_idempotent ... ok
[INFO] [stdout] test agents::tests::test_codex_adapter_config_dir ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_uses_when_to_use_text_for_generated_description ... ok
[INFO] [stdout] test agents::tests::test_find_agent_command_in_path_finds_binary ... ok
[INFO] [stdout] test agents::tests::test_codex_write_multiple_distinct_skills_appends_all ... ok
[INFO] [stdout] test agents::tests::test_claude_write_skill_idempotent ... ok
[INFO] [stdout] test agents::tests::test_claude_read_sessions_missing_dir_returns_empty ... ok
[INFO] [stdout] test agents::tests::test_codex_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_codex_adapter ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_opencode_adapter ... ok
[INFO] [stdout] test agents::tests::test_parse_opencode_session_list_accepts_empty_output ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_since_filter_excludes_old_files ... ok
[INFO] [stdout] test agents::tests::test_opencode_write_skill_creates_parent_dir ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_ignores_non_jsonl_files ... ok
[INFO] [stdout] test agents::tests::test_from_kind_returns_claude_adapter ... ok
[INFO] [stdout] test agents::tests::test_session_serde_roundtrip ... 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_find_agent_command_in_path_returns_none_when_missing ... ok
[INFO] [stdout] test agents::tests::test_session_path_matches_file_path ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_missing_list_returns_error ... ok
[INFO] [stdout] test agents::tests::test_write_multiple_distinct_skills_appends_all ... ok
[INFO] [stdout] test commands::dedupe::tests::test_build_remove_proposal_targets_duplicate ... ok
[INFO] [stdout] test agents::tests::test_read_sessions_since_filter_includes_new_files ... ok
[INFO] [stdout] test agents::tests::test_session_content_is_empty ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_uses_cli_json_output ... ok
[INFO] [stdout] test agents::tests::test_opencode_export_session_falls_back_when_format_flag_is_unsupported ... ok
[INFO] [stdout] test commands::dedupe::tests::test_normalize_target_key_adds_md_suffix ... ok
[INFO] [stdout] test commands::onboard::tests::test_validate_spec_rejects_all_agents_disabled ... ok
[INFO] [stdout] test commands::notify::tests::test_print_pending_proposals_runs_for_single_and_plural ... ok
[INFO] [stdout] test commands::dedupe::tests::test_run_with_paths_skips_existing_pending_remove ... ok
[INFO] [stdout] test commands::dedupe::tests::test_find_duplicate_groups_normalizes_line_endings_and_trailing_whitespace ... ok
[INFO] [stdout] test commands::notify::tests::test_print_pending_proposals_zero_is_still_safe ... ok
[INFO] [stdout] test commands::dedupe::tests::test_sanitize_slug ... ok
[INFO] [stdout] test commands::review::tests::test_validate_spec_rejects_duplicate_filename ... 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_run_with_paths_writes_remove_proposals ... ok
[INFO] [stdout] test commands::scan::tests::test_last_scan_debug_artifact_path_reads_pointer_file ... ok
[INFO] [stdout] test commands::onboard::tests::test_validate_spec_rejects_unknown_agent ... ok
[INFO] [stdout] test agents::tests::test_opencode_read_sessions_empty_cli_output_returns_empty ... ok
[INFO] [stdout] test commands::dedupe::tests::test_find_duplicate_groups_identifies_duplicates ... 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::onboard::tests::test_validate_spec_rejects_disabled_proposal_agent ... ok
[INFO] [stdout] test commands::onboard::tests::test_config_from_spec_preserves_values ... ok
[INFO] [stdout] test commands::scan::tests::test_build_agents_enables_only_known_enabled_agents ... ok
[INFO] [stdout] test commands::onboard::tests::test_default_config_from_detected_prefers_installed_agents ... 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_export_spec_existing_config_without_hook_sets_install_shell_hook_false ... 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::status::tests::test_format_status_disabled_agent ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_default_config ... ok
[INFO] [stdout] test commands::scheduled_run::tests::test_parse_optional_positive_usize_env_zero_disables_limit ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_never_scanned ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_display_formatting_not_debug ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_preserves_config ... 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_shared_skill_dirs ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_parses_last_scan_timestamp_field ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_all_agents ... 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_counts_md_files ... ok
[INFO] [stdout] test commands::scan::tests::test_scan_trigger_label_now_false ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_ignores_non_md_files ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_missing_dirs ... ok
[INFO] [stdout] test commands::status::tests::test_collect_status_info_reports_overdue_schedule_state_for_missed_run ... 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 config::tests::test_config_deserialize_without_sync_agents_defaults_empty ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_config_deserialize_from_yaml ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_proposal_count ... ok
[INFO] [stdout] test config::tests::test_ensure_dirs_at_creates_subdirectories ... 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 config::tests::test_ensure_dirs_at_is_idempotent ... ok
[INFO] [stdout] test config::tests::test_config_save_and_load ... ok
[INFO] [stdout] test commands::status::tests::test_format_status_shows_backlog_count ... ok
[INFO] [stdout] test commands::status::tests::test_scheduled_scan_timing_returns_next_weekly_slot_after_recent_scan ... ok
[INFO] [stdout] test config::tests::test_config_roundtrip_yaml ... ok
[INFO] [stdout] test config::tests::test_interval_display ... ok
[INFO] [stdout] test config::tests::test_load_from_missing_optional_fields_uses_defaults ... ok
[INFO] [stdout] test notify::tests::test_first_existing_path_returns_none_when_all_missing ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_zero_proposals ... ok
[INFO] [stdout] test config::tests::test_save_to_creates_parent_dirs ... ok
[INFO] [stdout] test notify::tests::test_resolve_icon_path_prefers_valid_configured_path ... ok
[INFO] [stdout] test notify::tests::test_macos_notifier_is_available_reflects_platform ... ok
[INFO] [stdout] test config::tests::test_shell_type_detect ... ok
[INFO] [stdout] test notify::tests::test_first_existing_path_picks_first_existing_candidate ... 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 config::tests::test_load_from_returns_error_on_missing_file ... ok
[INFO] [stdout] test config::tests::test_notification_pref_display ... ok
[INFO] [stdout] test config::tests::test_shell_type_display ... ok
[INFO] [stdout] test notify::tests::test_linux_notifier_is_available_does_not_panic ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_message_format ... ok
[INFO] [stdout] test notify::tests::test_notify_scan_complete_with_proposals ... ok
[INFO] [stdout] test notify::tests::test_send_native_notification_is_best_effort_with_terminal_fallback ... ok
[INFO] [stdout] test onboard::tests::test_build_config_daily_interval ... ok
[INFO] [stdout] test onboard::tests::test_build_config_shell_detection_used ... ok
[INFO] [stdout] test notify::tests::test_terminal_notifier_is_available ... ok
[INFO] [stdout] test onboard::tests::test_build_config_default_answers ... ok
[INFO] [stdout] test onboard::tests::test_build_config_enables_only_selected_agents ... ok
[INFO] [stdout] test notify::tests::test_send_notification_terminal_pref ... ok
[INFO] [stdout] test onboard::tests::test_build_config_monthly_interval_and_native_notifications ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_both_installed ... 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_terminal_notifier_send ... ok
[INFO] [stdout] test onboard::tests::test_confirm_action_cycles_in_expected_order ... ok
[INFO] [stdout] test preferences::tests::test_load_infers_type_from_legacy_filename_only_history ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_claude_only ... ok
[INFO] [stdout] test onboard::tests::test_jump_to_confirm_resets_action_to_save_and_scan ... ok
[INFO] [stdout] test onboard::tests::test_jump_to_step_number_with_other_shell_skips_hook_slot ... ok
[INFO] [stdout] test preferences::tests::test_to_prompt_block_without_history ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_codex_only ... ok
[INFO] [stdout] test notify::tests::test_write_embedded_icon_to_cache_creates_non_empty_file ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_claude_stream_output_handles_preamble_before_json ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_none_installed ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_claude_stream_output_uses_last_json_candidate ... ok
[INFO] [stdout] test onboard::tests::test_step_sequence_hides_hook_for_other_shell ... ok
[INFO] [stdout] test onboard::tests::test_build_config_agent_entries_match_detected ... ok
[INFO] [stdout] test preferences::tests::test_load_builds_prefer_and_avoid_signals ... ok
[INFO] [stdout] test proposal_runner::tests::test_locked_opencode_config_json_denies_mutation_tools ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_json_value_handles_fenced_blocks ... ok
[INFO] [stdout] test preferences::tests::test_load_missing_history_file ... 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_isolated_opencode_home_without_debug_run_dir_cleans_up_on_drop ... ok
[INFO] [stdout] test proposal_runner::tests::test_extract_opencode_json_output_reads_embedded_result ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_proposal_command_for_claude_does_not_override_home ... ok
[INFO] [stdout] test onboard::tests::test_detect_agents_opencode_only ... ok
[INFO] [stdout] test proposal_runner::tests::test_prepare_proposal_command_for_opencode_sets_inline_permissions ... ok
[INFO] [stdout] test notify::tests::test_send_notification_none_pref ... ok
[INFO] [stdout] test notify::tests::test_send_native_notification_is_best_effort_without_terminal_fallback ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_reports_unsupported_shell ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_installs_hook_and_scheduler ... ok
[INFO] [stdout] test onboard::tests::test_apply_post_onboarding_setup_skips_hook_when_declined ... ok
[INFO] [stdout] test proposal_runner::tests::test_proposal_agent_command_supports_opencode ... ok
[INFO] [stdout] test proposal_runner::tests::test_populate_isolated_codex_home_copies_control_plane_only ... ok
[INFO] [stdout] test proposal_runner::tests::test_populate_isolated_opencode_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_proposal_agent_mode_detects_known_profiles ... ok
[INFO] [stdout] test proposals::tests::test_proposal_type_serde ... ok
[INFO] [stdout] test proposals::tests::test_frontmatter_roundtrip_with_file_target ... ok
[INFO] [stdout] test proposals::tests::test_infer_skill_name_from_body_returns_none_without_heading ... ok
[INFO] [stdout] test proposals::tests::test_infer_skill_name_from_body_slugifies_markdown_title ... ok
[INFO] [stdout] test review::tests::test_accept_remove_proposal_requires_target_skill ... ok
[INFO] [stdout] test review::tests::test_diff_lines_shows_changes ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_logs_to_history ... 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 proposals::tests::test_confidence_serde ... ok
[INFO] [stdout] test proposals::tests::test_frontmatter_serde_roundtrip ... ok
[INFO] [stdout] test review::tests::test_load_proposals_empty_dir ... ok
[INFO] [stdout] test review::tests::test_draw_review_ui_renders_confirmation_modal ... ok
[INFO] [stdout] test review::tests::test_accept_remove_proposal_deletes_target_skill ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_uses_target_skill_filename ... 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_new_proposal_uses_body_title_when_target_missing ... ok
[INFO] [stdout] test review::tests::test_load_proposals_from_dir ... ok
[INFO] [stdout] test review::tests::test_accept_proposal_writes_skill ... ok
[INFO] [stdout] test proposals::tests::test_proposal_roundtrip ... 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 review::tests::test_accept_proposal_removes_proposal ... ok
[INFO] [stdout] test review::tests::test_accept_remove_deletes_existing_shared_skill_directory ... ok
[INFO] [stdout] test review::tests::test_draw_review_ui_renders_footer_actions_and_status ... 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_log_decision_appends ... ok
[INFO] [stdout] test review::tests::test_load_proposals_sets_filename_field ... ok
[INFO] [stdout] test review::tests::test_load_proposals_nonexistent_dir ... ok
[INFO] [stdout] test review::tests::test_required_confirmation_for_accept_all_with_removals ... ok
[INFO] [stdout] test review::tests::test_required_confirmation_for_accept_remove ... ok
[INFO] [stdout] test review::tests::test_load_proposals_sorted_by_filename ... ok
[INFO] [stdout] test review::tests::test_reject_proposal_logs_to_history ... ok
[INFO] [stdout] test review::tests::test_review_all_reject ... ok
[INFO] [stdout] test review::tests::test_review_all_skip ... ok
[INFO] [stdout] test review::tests::test_reject_proposal_removes_file ... ok
[INFO] [stdout] test review::tests::test_log_decision_entry_is_valid_json ... ok
[INFO] [stdout] test review::tests::test_load_proposals_ignores_non_md_files ... ok
[INFO] [stdout] test review::tests::test_log_decision_creates_history_dir ... ok
[INFO] [stdout] test review::tests::test_proposal_details_warns_when_remove_target_missing ... ok
[INFO] [stdout] test review::tests::test_review_all_accept ... ok
[INFO] [stdout] test run_history::tests::test_summarize_run_records_counts_successes_and_failures ... ok
[INFO] [stdout] test review::tests::test_review_ui_action_focus_cycles ... ok
[INFO] [stdout] test scanner::engine::tests::test_agent_timeout_parses_positive_seconds ... ok
[INFO] [stdout] test scanner::engine::tests::test_build_prompt_references_manifest_and_not_excerpts ... 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_backlog_appends_new_sessions_after_existing_queue ... 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_agent_timeout_defaults_to_two_hours ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_not_logged_in_in_stderr ... ok
[INFO] [stdout] test run_history::tests::test_run_history_ui_filter_cycles ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_returns_none_for_unrelated_errors ... ok
[INFO] [stdout] test run_history::tests::test_append_and_load_run_records_roundtrip ... 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_backlog_seeds_newest_first_on_first_scan ... ok
[INFO] [stdout] test run_history::tests::test_failed_record_truncates_error_text ... 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_agent_timeout_accepts_zero_to_disable ... ok
[INFO] [stdout] test scanner::engine::tests::test_parse_scan_response_normalizes_relative_paths ... ok
[INFO] [stdout] test run_history::tests::test_draw_run_history_ui_renders_empty_filter_state ... ok
[INFO] [stdout] test scanner::engine::tests::test_scan_debug_artifacts_cleanup_success_run ... ok
[INFO] [stdout] test run_history::tests::test_load_run_records_returns_newest_first ... ok
[INFO] [stdout] test scanner::engine::tests::test_stage_scan_workspace_copies_sessions_and_skills ... ok
[INFO] [stdout] test review::tests::test_proposal_details_rich_fallback_for_new ... ok
[INFO] [stdout] test scanner::engine::tests::test_detect_agent_auth_hint_claude_authentication_failed ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_keeps_same_basename_from_different_paths ... ok
[INFO] [stdout] test scanner::engine::tests::test_touched_paths_from_audit_log_matches_private_prefix_and_double_slashes ... ok
[INFO] [stdout] test scanner::engine::tests::test_validate_and_finalize_response_rejects_missing_coverage ... 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 scanner::engine::tests::test_scan_debug_artifacts_preserve_failure_run ... ok
[INFO] [stdout] test scanner::reader::tests::test_collect_sessions_deduplicates ... 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::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 scanner::timeline::tests::test_render_timeline_window_keeps_requested_middle_range ... ok
[INFO] [stdout] test scanner::reader::tests::test_last_scan_load_missing_file ... ok
[INFO] [stdout] test scanner::engine::tests::test_touched_paths_from_audit_log_matches_claude_code_tool_use_events ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_proposed_workflow_is_not_ready_again ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_ready_workflow_requires_three_sessions ... ok
[INFO] [stdout] test scanner::state::tests::test_scan_state_attempted_workflow_waits_for_new_evidence ... ok
[INFO] [stdout] test scanner::reader::tests::test_last_scan_roundtrip ... ok
[INFO] [stdout] test scanner::engine::tests::test_select_session_batch_respects_count_and_raw_byte_cap ... ok
[INFO] [stdout] test scanner::timeline::tests::test_codex_timeline_keeps_middle_command_execution ... ok
[INFO] [stdout] test review::tests::test_review_summary_counts ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_path ... ok
[INFO] [stdout] test schedule::tests::test_launchd_install_creates_plist ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_is_valid_xml ... ok
[INFO] [stdout] test schedule::tests::test_launchd_status_not_installed ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_uses_calendar_intervals_for_wake_catch_up ... ok
[INFO] [stdout] test schedule::tests::test_launchd_install_fails_if_launchctl_fails ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_creates_files ... ok
[INFO] [stdout] test schedule::tests::test_systemd_status_not_installed ... ok
[INFO] [stdout] test schedule::tests::test_systemd_service_contains_exec_start ... 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 shell::tests::test_hook_snippet_zsh ... 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_other_is_empty ... ok
[INFO] [stdout] test schedule::tests::test_uninstall_is_idempotent_systemd ... ok
[INFO] [stdout] test schedule::tests::test_launchd_status_installed ... ok
[INFO] [stdout] test shell::tests::test_install_hook_bash ... ok
[INFO] [stdout] test shell::tests::test_install_hook_fish_creates_dirs ... ok
[INFO] [stdout] test shell::tests::test_install_hook_idempotent ... ok
[INFO] [stdout] test shell::tests::test_install_hook_unsupported_shell ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_other ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_fish ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_not_found_missing_file ... ok
[INFO] [stdout] test shell::tests::test_install_hook_appends_to_existing_file ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_zsh ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_not_found_no_marker ... ok
[INFO] [stdout] test schedule::tests::test_systemd_install_fails_if_systemctl_fails ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook ... ok
[INFO] [stdout] test run_history::tests::test_draw_run_history_ui_renders_summary_and_details ... ok
[INFO] [stdout] test run_history::tests::test_load_run_records_missing_file ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_preserves_surrounding_content ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_fish ... ok
[INFO] [stdout] test shell::tests::test_install_hook_zsh ... ok
[INFO] [stdout] test shell::tests::test_shell_config_path_bash ... ok
[INFO] [stdout] test schedule::tests::test_systemd_status_installed ... ok
[INFO] [stdout] test sync::tests::test_load_skill_sources_tracks_origin_paths ... 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_sync_skills_empty_skills_list ... ok
[INFO] [stdout] test sync::tests::test_load_skills_follows_symlinked_skill_directories ... ok
[INFO] [stdout] test sync::tests::test_load_skills_empty_dir ... ok
[INFO] [stdout] test sync::tests::test_load_skills_from_directory ... ok
[INFO] [stdout] test sync::tests::test_run_sync_nonexistent_skills_dir ... ok
[INFO] [stdout] test schedule::tests::test_launchd_uninstall_removes_plist ... ok
[INFO] [stdout] test shell::tests::test_uninstall_hook_unsupported_shell ... ok
[INFO] [stdout] test sync::tests::test_load_skills_supports_skill_directories ... ok
[INFO] [stdout] test sync::tests::test_run_sync_from_dirs_includes_shared_directory_skills ... ok
[INFO] [stdout] test sync::tests::test_load_skills_ignores_non_md ... ok
[INFO] [stdout] test sync::tests::test_run_sync_end_to_end ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_idempotent ... ok
[INFO] [stdout] test schedule::tests::test_systemd_uninstall_removes_files ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_agent_response_file_target ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_since_date ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_since_invalid ... ok
[INFO] [stdout] test sync_agents::tests::test_parse_since_rfc3339 ... ok
[INFO] [stdout] test sync_agents::tests::test_pending_file_targets_reads_targets ... ok
[INFO] [stdout] test sync::tests::test_sync_skills_writes_to_all_agents ... ok
[INFO] [stdout] test sync::tests::test_load_skills_nonexistent_dir ... ok
[INFO] [stdout] test schedule::tests::test_systemd_timer_contains_calendar ... ok
[INFO] [stdout] test schedule::tests::test_launchd_plist_contains_interval ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-b7601c76e80fec28)
[INFO] [stdout] test sync_agents::tests::test_resolve_projects_dedupes_and_validates_git_repo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 304 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test test_help_flag ... ok
[INFO] [stdout] test test_review_no_proposals ... ok
[INFO] [stdout] test test_onboard_write_json_template ... ok
[INFO] [stdout] test test_no_args_without_config ... ok
[INFO] [stdout] test test_review_write_json_stdout ... ok
[INFO] [stdout] test test_notify_check ... ok
[INFO] [stdout] test test_scan_now_without_config ... ok
[INFO] [stdout] test test_review_write_json ... ok
[INFO] [stdout] test test_dedupe_dry_run_does_not_write_proposals ... ok
[INFO] [stdout] test test_onboard_apply_json ... ok
[INFO] [stdout] test test_scan_now_writes_run_history_record ... ok
[INFO] [stdout] test test_review_apply_json ... ok
[INFO] [stdout] test test_dedupe_writes_remove_proposal ... ok
[INFO] [stdout] test test_status_without_config ... ok
[INFO] [stdout] test test_review_apply_json_stdin ... ok
[INFO] [stdout] test test_runs_without_history ... ok
[INFO] [stdout] test test_onboard_write_json_stdout ... ok
[INFO] [stdout] test test_scan_without_now_flag ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: will change to "main" in Git 3.0. To configure the initial branch name
[INFO] [stderr] hint: to use in all of your new repositories, which will suppress this warning,
[INFO] [stderr] hint: 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:
[INFO] [stderr] hint: Disable this message with "git config set advice.defaultBranchName false"
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpbPGSRN/repo-two/.git/
[INFO] [stdout] test test_sync_agents_all_configured_errors_when_empty ... ok
[INFO] [stdout] test test_version_flag ... ok
[INFO] [stdout] test test_sync_agents_list_configured_empty ... ok
[INFO] [stdout] test test_watch_uninstall_stub ... ok
[INFO] [stdout] test test_watch_mutual_exclusion ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stdout] test test_watch_install_writes_scheduled_run_command ... ok
[INFO] [stderr] hint: will change to "main" in Git 3.0. To configure the initial branch name
[INFO] [stderr] hint: to use in all of your new repositories, which will suppress this warning,
[INFO] [stderr] hint: 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:
[INFO] [stderr] hint: Disable this message with "git config set advice.defaultBranchName false"
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: will change to "main" in Git 3.0. To configure the initial branch name
[INFO] [stderr] hint: to use in all of your new repositories, which will suppress this warning,
[INFO] [stderr] hint: 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:
[INFO] [stderr] hint: Disable this message with "git config set advice.defaultBranchName false"
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpuWN9Dr/repo-one/.git/
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpABvkYY/repo-history/.git/
[INFO] [stdout] test test_watch_install_stub ... ok
[INFO] [stdout] test test_invalid_subcommand ... ok
[INFO] [stdout] test test_scheduled_run_writes_combined_history_record ... ok
[INFO] [stdout] test test_status_with_config ... ok
[INFO] [stdout] test test_onboard_apply_json_stdin ... ok
[INFO] [stdout] test test_sync_agents_dry_run_does_not_write_proposals ... ok
[INFO] [stdout] test test_sync_agents_save_projects_persists_allowlist ... ok
[INFO] [stdout] test test_sync_agents_dry_run_writes_run_history_record ... ok
[INFO] [stdout] test test_onboard_apply_json_can_run_initial_scan_immediately ... ok
[INFO] [stdout] test test_runs_requires_interactive_terminal_when_history_exists ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/release/deps/e2e-9972bdf4a94cba52)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_e2e_notify_single_proposal ... ok
[INFO] [stdout] test test_e2e_scan_creates_proposals_dir ... ok
[INFO] [stdout] test test_e2e_notify_empty_proposals_dir ... ok
[INFO] [stdout] test test_e2e_full_flow_status_after_config ... ok
[INFO] [stdout] test test_e2e_notify_no_proposals ... ok
[INFO] [stdout] test test_e2e_scan_no_config_error_mentions_config ... ok
[INFO] [stdout] test test_e2e_notify_with_proposals ... 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] [stdout] Initialized empty Git repository in /tmp/.tmpTZm0GE/demo-project/.git/
[INFO] [stderr] hint: will change to "main" in Git 3.0. To configure the initial branch name
[INFO] [stderr] hint: to use in all of your new repositories, which will suppress this warning,
[INFO] [stderr] hint: 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:
[INFO] [stderr] hint: Disable this message with "git config set advice.defaultBranchName false"
[INFO] [stdout] test test_e2e_scan_without_now_runs_scheduled_path ... ok
[INFO] [stdout] [master (root-commit) 422defe] Add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stdout] test test_e2e_scan_claude_stream_json_with_coverage ... ok
[INFO] [stdout] test test_e2e_scan_debug_dir_captures_workspace_and_outputs ... ok
[INFO] [stdout] test test_e2e_scan_codex_proposal_agent_with_schema_enforcement ... 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_ignores_stale_backlog_session_paths ... 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_sync_agents_opencode_proposal_agent_writes_proposal ... 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] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.77s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5", kill_on_drop: false }`
[INFO] [stdout] 32e5bd88bb719d122c1c8cabd6172be3635c5b61cba65ba21e4b5d97293ca3e5
