[INFO] fetching crate torudo 0.14.0... [INFO] testing torudo-0.14.0 against beta-2026-04-21 for beta-1.96-1 [INFO] extracting crate torudo 0.14.0 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate torudo 0.14.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate torudo 0.14.0 [INFO] tweaked toml for crates.io crate torudo 0.14.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate torudo 0.14.0 on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate torudo 0.14.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8d839c896ede403f2ffb02bb04342548dc08035ff43ca31fcfec99d203fc1a39 [INFO] running `Command { std: "docker" "start" "-a" "8d839c896ede403f2ffb02bb04342548dc08035ff43ca31fcfec99d203fc1a39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8d839c896ede403f2ffb02bb04342548dc08035ff43ca31fcfec99d203fc1a39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d839c896ede403f2ffb02bb04342548dc08035ff43ca31fcfec99d203fc1a39", kill_on_drop: false }` [INFO] [stdout] 8d839c896ede403f2ffb02bb04342548dc08035ff43ca31fcfec99d203fc1a39 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c061530a106116374f73ef74da206e5ea05ada6a6cab5ef565a7cfa14d19f3f7 [INFO] running `Command { std: "docker" "start" "-a" "c061530a106116374f73ef74da206e5ea05ada6a6cab5ef565a7cfa14d19f3f7", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio v1.51.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling self_update v0.42.0 [INFO] [stderr] Compiling tar v0.4.45 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling self-replace v1.5.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling env_filter v1.0.1 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling opener v0.8.4 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling rustls-webpki v0.103.11 [INFO] [stderr] Compiling rmpv v1.3.1 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling env_logger v0.11.10 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling torudo v0.14.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.56s [INFO] running `Command { std: "docker" "inspect" "c061530a106116374f73ef74da206e5ea05ada6a6cab5ef565a7cfa14d19f3f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c061530a106116374f73ef74da206e5ea05ada6a6cab5ef565a7cfa14d19f3f7", kill_on_drop: false }` [INFO] [stdout] c061530a106116374f73ef74da206e5ea05ada6a6cab5ef565a7cfa14d19f3f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f6d8f54dfd845bcab0f7ed73d154b1599f2583f4d2ebb92b395dbfbc62dee738 [INFO] running `Command { std: "docker" "start" "-a" "f6d8f54dfd845bcab0f7ed73d154b1599f2583f4d2ebb92b395dbfbc62dee738", kill_on_drop: false }` [INFO] [stderr] Compiling torudo v0.14.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.70s [INFO] running `Command { std: "docker" "inspect" "f6d8f54dfd845bcab0f7ed73d154b1599f2583f4d2ebb92b395dbfbc62dee738", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6d8f54dfd845bcab0f7ed73d154b1599f2583f4d2ebb92b395dbfbc62dee738", kill_on_drop: false }` [INFO] [stdout] f6d8f54dfd845bcab0f7ed73d154b1599f2583f4d2ebb92b395dbfbc62dee738 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b974d653821238f10dc8ba28126865b19a3e2f3a285c29a696da4ba43f8a2457 [INFO] running `Command { std: "docker" "start" "-a" "b974d653821238f10dc8ba28126865b19a3e2f3a285c29a696da4ba43f8a2457", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/torudo-12a996ddb8282754) [INFO] [stdout] [INFO] [stdout] running 237 tests [INFO] [stdout] test app_state::tests::test_build_nvim_rpc_payload ... ok [INFO] [stdout] test app_state::tests::test_build_nvim_rpc_payload_arbitrary_method ... ok [INFO] [stdout] test app_state::tests::test_build_nvim_command_payload ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_27_forces_two_char ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_exactly_26_uses_single_char ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_676_ends_with_zz ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_no_prefix_collision ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_677_forces_three_char ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_empty ... ok [INFO] [stdout] test app_state::tests::test_generate_hint_labels_single_char_range ... ok [INFO] [stdout] test app_state::tests::test_count_items_in_file ... ok [INFO] [stdout] test app_state::tests::test_exit_hint_mode_clears_state_and_status ... ok [INFO] [stdout] test app_state::tests::test_crmux_available ... ok [INFO] [stdout] test app_state::tests::test_get_current_project_name ... ok [INFO] [stdout] test app_state::tests::test_enter_hint_mode_empty_leaves_hint_none ... ok [INFO] [stdout] test app_state::tests::test_enter_hint_mode_assigns_labels_to_cells ... ok [INFO] [stdout] test app_state::tests::test_active_file ... ok [INFO] [stdout] test app_state::tests::test_claude_available ... ok [INFO] [stdout] test app_state::tests::test_app_state_new ... ok [INFO] [stdout] test app_state::tests::test_crmux_supports_get_plans ... ok [INFO] [stdout] test app_state::tests::test_build_prompt_without_md_file ... ok [INFO] [stdout] test app_state::tests::test_build_prompt_with_md_file ... ok [INFO] [stdout] test app_state::tests::test_handle_delete_todo_without_md_succeeds ... ok [INFO] [stdout] test app_state::tests::test_handle_launch_implement_sets_status_when_unavailable ... ok [INFO] [stdout] test app_state::tests::test_handle_navigation_key_vertical ... ok [INFO] [stdout] test app_state::tests::test_get_current_todo_id ... ok [INFO] [stdout] test app_state::tests::test_handle_set_priority_sets_priority ... ok [INFO] [stdout] test app_state::tests::test_handle_navigation_key_single_item_noop ... ok [INFO] [stdout] test app_state::tests::test_handle_delete_todo_removes_line_and_md ... ok [INFO] [stdout] test app_state::tests::test_handle_complete_todo ... ok [INFO] [stdout] test app_state::tests::test_handle_delete_todo_operates_on_active_file ... ok [INFO] [stdout] test app_state::tests::test_handle_launch_plan_sets_status_when_unavailable ... ok [INFO] [stdout] test app_state::tests::test_parse_frontmatter_cwd_missing ... ok [INFO] [stdout] test app_state::tests::test_parse_frontmatter_cwd_no_frontmatter ... ok [INFO] [stdout] test app_state::tests::test_handle_navigation_key_horizontal ... ok [INFO] [stdout] test app_state::tests::test_build_prompt_strips_frontmatter ... ok [INFO] [stdout] test app_state::tests::test_parse_frontmatter_cwd_empty ... ok [INFO] [stdout] test app_state::tests::test_handle_navigation_key_horizontal_cycle ... ok [INFO] [stdout] test app_state::tests::test_parse_frontmatter_cwd_valid ... ok [INFO] [stdout] test app_state::tests::test_import_selected_plans ... ok [INFO] [stdout] test app_state::tests::test_import_selected_plans_skips_existing ... ok [INFO] [stdout] test app_state::tests::test_plan_modal_cancel ... ok [INFO] [stdout] test app_state::tests::test_next_view_mode_cycles ... ok [INFO] [stdout] test app_state::tests::test_handle_set_priority_clears_priority ... ok [INFO] [stdout] test app_state::tests::test_plan_modal_toggle ... ok [INFO] [stdout] test app_state::tests::test_hint_state_cell_label_roundtrip ... ok [INFO] [stdout] test app_state::tests::test_prev_view_mode_cycles ... ok [INFO] [stdout] test app_state::tests::test_launch_claude_without_cwd_shows_error ... ok [INFO] [stdout] test app_state::tests::test_strip_frontmatter_no_frontmatter ... ok [INFO] [stdout] test app_state::tests::test_strip_frontmatter ... ok [INFO] [stdout] test app_state::tests::test_set_view_mode_creates_ref_file ... ok [INFO] [stdout] test app_state::tests::test_refresh_md_meta_cleared_for_inbox_mode ... ok [INFO] [stdout] test app_state::tests::test_sort_plans_by_mtime_missing_file ... ok [INFO] [stdout] test app_state::tests::test_plan_modal_navigation ... ok [INFO] [stdout] test app_state::tests::test_send_initial_vim_command ... ok [INFO] [stdout] test app_state::tests::test_sort_plans_by_mtime ... ok [INFO] [stdout] test app_state::tests::test_refresh_mode_counts ... ok [INFO] [stdout] test app_state::tests::test_reload_todos_success ... ok [INFO] [stdout] test app_state::tests::test_type_hint_char_prefix_match_continues ... ok [INFO] [stdout] test app_state::tests::test_set_view_mode ... ok [INFO] [stdout] test app_state::tests::test_reload_todos_assigns_missing_ids ... ok [INFO] [stdout] test app_state::tests::test_type_hint_char_non_prefix_cancels ... ok [INFO] [stdout] test app_state::tests::test_type_hint_char_exact_match_jumps_and_clears ... ok [INFO] [stdout] test app_state::tests::test_view_mode_all_and_label ... ok [INFO] [stdout] test crmux::tests::test_parse_plans_valid_json ... ok [INFO] [stdout] test crmux::tests::test_version_supports_get_plans ... ok [INFO] [stdout] test crmux::tests::test_socket_path_contains_uid ... ok [INFO] [stdout] test crmux::tests::test_version_meets_minimum ... ok [INFO] [stdout] test crmux::tests::test_encode_notification_empty_params ... ok [INFO] [stdout] test crmux::tests::test_encode_notification_roundtrip ... ok [INFO] [stdout] test crmux::tests::test_parse_crmux_version_valid ... ok [INFO] [stdout] test crmux::tests::test_parse_crmux_version_invalid ... ok [INFO] [stdout] test crmux::tests::test_parse_plans_empty ... ok [INFO] [stdout] test app_state::tests::test_update_derived_state_column_bounds ... ok [INFO] [stdout] test event_handler::tests::test_backtab_switches_to_prev_mode ... ok [INFO] [stdout] test app_state::tests::test_refresh_md_meta_populates_in_waiting_mode ... ok [INFO] [stdout] test event_handler::tests::test_c_key_available_with_claude_only ... ok [INFO] [stdout] test event_handler::tests::test_cg_intermediate_state ... ok [INFO] [stdout] test event_handler::tests::test_c_key_unavailable_without_crmux_or_claude ... ok [INFO] [stdout] test event_handler::tests::test_esc_during_hint_mode_cancels ... ok [INFO] [stdout] test event_handler::tests::test_char_during_hint_mode_types_into_hint ... ok [INFO] [stdout] test event_handler::tests::test_d_key_shows_intermediate ... ok [INFO] [stdout] test event_handler::tests::test_help_overlay_blocks_other_keys ... ok [INFO] [stdout] test event_handler::tests::test_hint_mode_exact_match_moves_selection ... ok [INFO] [stdout] test event_handler::tests::test_dd_sequence_deletes_todo ... ok [INFO] [stdout] test event_handler::tests::test_cs_intermediate_state ... ok [INFO] [stdout] test event_handler::tests::test_esc_closes_help ... ok [INFO] [stdout] test event_handler::tests::test_f_key_requests_hint_enter ... ok [INFO] [stdout] test event_handler::tests::test_cl_intermediate_state ... ok [INFO] [stdout] test event_handler::tests::test_invalid_sequence_clears ... ok [INFO] [stdout] test event_handler::tests::test_p_unknown_key_cancels ... ok [INFO] [stdout] test event_handler::tests::test_p_prefix_shows_submenu ... ok [INFO] [stdout] test event_handler::tests::test_c_key_shows_submenu ... ok [INFO] [stdout] test event_handler::tests::test_d_then_other_cancels ... ok [INFO] [stdout] test event_handler::tests::test_non_prefix_key_during_hint_mode_cancels ... ok [INFO] [stdout] test event_handler::tests::test_q_closes_help ... ok [INFO] [stdout] test event_handler::tests::test_three_stroke_csp_sends_plan ... ok [INFO] [stdout] test event_handler::tests::test_s_submenu_shows_targets ... ok [INFO] [stdout] test event_handler::tests::test_question_mark_toggles_help ... ok [INFO] [stdout] test event_handler::tests::test_s_submenu_order_matches_tab_order_from_inbox ... ok [INFO] [stdout] test event_handler::tests::test_px_clears_priority ... ok [INFO] [stdout] test event_handler::tests::test_three_stroke_clp_triggers_launch_plan ... ok [INFO] [stdout] test event_handler::tests::test_s_submenu_order_matches_tab_order_from_todo ... ok [INFO] [stdout] test help::tests::test_c_entry_still_todo_only ... ok [INFO] [stdout] test help::tests::test_cli_help_text_contains_all_keys ... ok [INFO] [stdout] test event_handler::tests::test_tab_switches_to_next_mode ... ok [INFO] [stdout] test help::tests::test_f_entry_visible_in_all_modes ... ok [INFO] [stdout] test help::tests::test_f_entry_in_footer ... ok [INFO] [stdout] test help::tests::test_footer_entries_contains_short_labels ... ok [INFO] [stdout] test event_handler::tests::test_x_completes_in_waiting_mode ... ok [INFO] [stdout] test help::tests::test_footer_entries_tab_mode_placed_right_after_hjkl ... ok [INFO] [stdout] test help::tests::test_help_entries_real_keys_preserved ... ok [INFO] [stdout] test help::tests::test_x_entry_visible_in_waiting ... ok [INFO] [stdout] test help::tests::test_x_entry_hidden_in_inbox ... ok [INFO] [stdout] test help::tests::test_footer_entries_excludes_stab_as_separate_entry ... ok [INFO] [stdout] test md_preview::tests::compute_meta_missing_file_returns_none ... ok [INFO] [stdout] test event_handler::tests::test_three_stroke_cgp_gets_plans ... ok [INFO] [stdout] test md_preview::tests::compute_meta_no_checkboxes_returns_no_stats ... ok [INFO] [stdout] test event_handler::tests::test_x_uses_active_file_not_todo_file_arg ... ok [INFO] [stdout] test md_preview::tests::compute_meta_only_completed_returns_empty_preview_with_stats ... ok [INFO] [stdout] test md_preview::tests::format_elapsed_capped_at_99h ... ok [INFO] [stdout] test event_handler::tests::test_s_submenu_from_inbox_mode ... ok [INFO] [stdout] test md_preview::tests::format_elapsed_hours ... ok [INFO] [stdout] test md_preview::tests::format_elapsed_future_mtime_returns_zero ... ok [INFO] [stdout] test md_preview::tests::format_elapsed_minutes ... ok [INFO] [stdout] test md_preview::tests::compute_meta_with_mixed_checkboxes ... ok [INFO] [stdout] test event_handler::tests::test_x_ignored_in_inbox_mode ... ok [INFO] [stdout] test md_preview::tests::scan_md_all_checked ... ok [INFO] [stdout] test md_preview::tests::scan_md_caps_preview_but_keeps_counting ... ok [INFO] [stdout] test md_preview::tests::scan_md_mixed_with_indent_and_tabs ... ok [INFO] [stdout] test md_preview::tests::scan_md_no_boxes ... ok [INFO] [stdout] test rpc_server::tests::test_encode_decode_request_roundtrip ... ok [INFO] [stdout] test rpc_server::tests::test_handle_get_current_no_selection ... ok [INFO] [stdout] test rpc_server::tests::test_encode_decode_response_success ... ok [INFO] [stdout] test rpc_server::tests::test_encode_decode_response_error ... ok [INFO] [stdout] test rpc_server::tests::test_socket_path ... ok [INFO] [stdout] test md_preview::tests::format_elapsed_seconds ... ok [INFO] [stdout] test rpc_server::tests::test_decode_request_invalid_bytes ... ok [INFO] [stdout] test rpc_server::tests::test_decode_request_wrong_type ... ok [INFO] [stdout] test rpc_server::tests::test_handle_get_current_with_md ... ok [INFO] [stdout] test rpc_server::tests::test_rpc_roundtrip ... ok [INFO] [stdout] test rpc_server::tests::test_handle_get_current_without_md ... ok [INFO] [stdout] test todo::tests::test_add_item_creates_file_if_missing ... ok [INFO] [stdout] test rpc_server::tests::test_rpc_unknown_method ... ok [INFO] [stdout] test md_preview::tests::scan_md_unchecked_only ... ok [INFO] [stdout] test todo::tests::test_add_item_inserts_creation_date_when_missing ... ok [INFO] [stdout] test todo::tests::test_add_item_preserves_existing_id ... ok [INFO] [stdout] test todo::tests::test_add_item_parses_priority_projects_contexts ... ok [INFO] [stdout] test todo::tests::test_add_missing_ids ... ok [INFO] [stdout] test todo::tests::test_add_item_generates_uuid_when_missing ... ok [INFO] [stdout] test todo::tests::test_add_item_preserves_existing_creation_date ... ok [INFO] [stdout] test todo::tests::test_add_item_inserts_creation_date_after_priority ... ok [INFO] [stdout] test todo::tests::test_append_todo_to_nonexistent_file ... ok [INFO] [stdout] test todo::tests::test_is_overdue_on_due_date ... ok [INFO] [stdout] test todo::tests::test_add_item_appends_to_existing_content ... ok [INFO] [stdout] test todo::tests::test_append_todo ... ok [INFO] [stdout] test todo::tests::test_has_todo_with_id_nonexistent_file ... ok [INFO] [stdout] test todo::tests::test_delete_todo_returns_false_when_id_missing ... ok [INFO] [stdout] test todo::tests::test_is_overdue_after_due ... ok [INFO] [stdout] test todo::tests::test_is_threshold_pending_past ... ok [INFO] [stdout] test todo::tests::test_is_overdue_when_no_due ... ok [INFO] [stdout] test todo::tests::test_is_threshold_pending_today_is_not_pending ... ok [INFO] [stdout] test todo::tests::test_has_todo_with_id ... ok [INFO] [stdout] test todo::tests::test_item_due_date_none_when_invalid_format ... ok [INFO] [stdout] test todo::tests::test_is_overdue_before_due ... ok [INFO] [stdout] test todo::tests::test_item_due_date_none_when_missing ... ok [INFO] [stdout] test todo::tests::test_item_due_date_from_key_value ... ok [INFO] [stdout] test todo::tests::test_is_threshold_pending_future ... ok [INFO] [stdout] test todo::tests::test_group_todos_by_project ... ok [INFO] [stdout] test todo::tests::test_item_parse_image_canonical_format ... ok [INFO] [stdout] test todo::tests::test_delete_todo_removes_matching_line ... ok [INFO] [stdout] test todo::tests::test_item_parse_multiple_key_values_and_id_excluded ... ok [INFO] [stdout] test todo::tests::test_delete_todo_preserves_trailing_newline ... ok [INFO] [stdout] test todo::tests::test_item_parse_url_not_extracted_as_key_value ... ok [INFO] [stdout] test todo::tests::test_item_parse_with_creation_date ... ok [INFO] [stdout] test todo::tests::test_item_parse_with_id ... ok [INFO] [stdout] test todo::tests::test_item_parse_simple_todo ... ok [INFO] [stdout] test todo::tests::test_item_parse_with_projects_and_contexts ... ok [INFO] [stdout] test todo::tests::test_item_parse_with_priority ... ok [INFO] [stdout] test todo::tests::test_item_parse_completed_todo ... ok [INFO] [stdout] test todo::tests::test_item_threshold_date_from_key_value ... ok [INFO] [stdout] test todo::tests::test_item_parse_complex_todo ... ok [INFO] [stdout] test todo::tests::test_item_threshold_date_none_when_missing ... ok [INFO] [stdout] test todo::tests::test_item_to_json_without_id_skips_md_lookup ... ok [INFO] [stdout] test todo::tests::test_item_to_json_includes_key_values ... ok [INFO] [stdout] test todo::tests::test_item_threshold_date_none_when_invalid_format ... ok [INFO] [stdout] test todo::tests::test_move_to_file_dest_not_exists ... ok [INFO] [stdout] test todo::tests::test_set_priority_adds_to_unprioritized ... ok [INFO] [stdout] test todo::tests::test_set_priority_nonexistent_id ... ok [INFO] [stdout] test todo::tests::test_move_to_file ... ok [INFO] [stdout] test todo::tests::test_item_to_json_without_md ... ok [INFO] [stdout] test todo::tests::test_mark_complete_with_priority ... ok [INFO] [stdout] test todo::tests::test_load_todos_from_content ... ok [INFO] [stdout] test todo::tests::test_sort_todos_places_pending_after_reached ... ok [INFO] [stdout] test todo::tests::test_set_priority_clears ... ok [INFO] [stdout] test todo::tests::test_move_to_file_appends_to_existing_dest ... ok [INFO] [stdout] test todo::tests::test_set_priority_skips_completed_line ... ok [INFO] [stdout] test todo::tests::test_set_priority_replaces_existing ... ok [INFO] [stdout] test todo::tests::test_set_priority_preserves_other_lines ... ok [INFO] [stdout] test todo::tests::test_item_to_json_with_md ... ok [INFO] [stdout] test ui::tests::calc_todo_height_cjk_short ... ok [INFO] [stdout] test ui::tests::calc_todo_height_matches_actual_render_cjk ... ok [INFO] [stdout] test ui::tests::calc_todo_height_adds_preview_lines ... ok [INFO] [stdout] test todo::tests::test_sort_todos_preserves_priority_within_reached_group ... ok [INFO] [stdout] test ui::tests::calc_todo_height_cjk_wraps ... ok [INFO] [stdout] test todo::tests::test_mark_complete ... ok [INFO] [stdout] test ui::tests::meta_label_none_when_no_meta ... ok [INFO] [stdout] test event_handler::tests::test_three_stroke_cli_triggers_launch_implement ... ok [INFO] [stdout] test ui::tests::calc_todo_height_matches_actual_render_with_spaces ... ok [INFO] [stdout] test ui::tests::meta_label_includes_done_total ... ok [INFO] [stdout] test event_handler::tests::test_three_stroke_csi_sends_implement ... ok [INFO] [stdout] test ui::tests::calc_todo_height_no_preview_unchanged ... ok [INFO] [stdout] test event_handler::tests::test_pa_sets_priority_a ... ok [INFO] [stdout] test ui::tests::get_todo_border_style_dimmed_is_darkgray ... ok [INFO] [stdout] test ui::tests::get_todo_border_style_overdue_is_red ... ok [INFO] [stdout] test ui::tests::get_todo_border_style_overdue_trumps_dimmed ... ok [INFO] [stdout] test ui::tests::get_todo_border_style_selected_trumps_overdue ... ok [INFO] [stdout] test update::tests::test_update_available_with_v_prefix ... ok [INFO] [stdout] test crmux::tests::test_parse_plans_invalid_json ... ok [INFO] [stdout] test ui::tests::render_cjk_paragraph_actual_lines ... ok [INFO] [stdout] test ui::tests::meta_label_elapsed_only_when_no_stats ... ok [INFO] [stdout] test url::tests::extract_urls_at_start ... ok [INFO] [stdout] test url::tests::extract_urls_at_end ... ok [INFO] [stdout] test update::tests::test_same_version ... ok [INFO] [stdout] test url::tests::extract_urls_multiple ... ok [INFO] [stdout] test url::tests::extract_urls_no_url ... ok [INFO] [stdout] test url::tests::extract_urls_single_http ... ok [INFO] [stdout] test url::tests::extract_urls_single_https ... ok [INFO] [stdout] test url::tests::strip_urls_at_end ... ok [INFO] [stdout] test url::tests::strip_urls_at_start ... ok [INFO] [stdout] test url::tests::strip_urls_multiple ... ok [INFO] [stdout] test url::tests::strip_urls_no_url ... ok [INFO] [stdout] test update::tests::test_same_version_with_v_prefix ... ok [INFO] [stdout] test url::tests::strip_urls_single ... ok [INFO] [stdout] test update::tests::test_update_available ... ok [INFO] [stdout] test url::tests::strip_urls_only_url ... ok [INFO] [stderr] Running tests/inbox_add.rs (/opt/rustwide/target/debug/deps/inbox_add-42537c315b57c2d4) [INFO] [stdout] test ui::tests::draw_ui_enters_hint_mode_when_pending_flag_set ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 237 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test inbox_add_accepts_unquoted_priority_and_projects ... ok [INFO] [stdout] test inbox_add_accepts_unquoted_multi_word_text ... ok [INFO] [stdout] test inbox_add_happy_path ... ok [INFO] [stdout] test inbox_add_preserves_existing_id ... ok [INFO] [stdout] test inbox_add_successive_calls_produce_distinct_uuids ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b974d653821238f10dc8ba28126865b19a3e2f3a285c29a696da4ba43f8a2457", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b974d653821238f10dc8ba28126865b19a3e2f3a285c29a696da4ba43f8a2457", kill_on_drop: false }` [INFO] [stdout] b974d653821238f10dc8ba28126865b19a3e2f3a285c29a696da4ba43f8a2457