[INFO] cloning repository https://github.com/neosam/openspec-tui [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neosam/openspec-tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fopenspec-tui", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fopenspec-tui'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 01d914e10f8750f4a8deecd01e1210646594fd64 [INFO] testing neosam/openspec-tui against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fopenspec-tui" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/neosam/openspec-tui [INFO] finished tweaking git repo https://github.com/neosam/openspec-tui [INFO] tweaked toml for git repo https://github.com/neosam/openspec-tui written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/neosam/openspec-tui on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/neosam/openspec-tui 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ansi-to-tui v8.0.1 [INFO] [stderr] Downloaded tui-markdown v0.3.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 62194b82007564b3d1f87c76f6b223a9713341e68a335eab26b1ffb22f8df96f [INFO] running `Command { std: "docker" "start" "-a" "62194b82007564b3d1f87c76f6b223a9713341e68a335eab26b1ffb22f8df96f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "62194b82007564b3d1f87c76f6b223a9713341e68a335eab26b1ffb22f8df96f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "62194b82007564b3d1f87c76f6b223a9713341e68a335eab26b1ffb22f8df96f", kill_on_drop: false }` [INFO] [stdout] 62194b82007564b3d1f87c76f6b223a9713341e68a335eab26b1ffb22f8df96f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7712a87d3d1b3201a602ce0cad116dd1e4f32ff7ba141adeb26a1fe8c44d7029 [INFO] running `Command { std: "docker" "start" "-a" "7712a87d3d1b3201a602ce0cad116dd1e4f32ff7ba141adeb26a1fe8c44d7029", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling rstest_macros v0.26.1 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling pulldown-cmark v0.13.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling onig_sys v69.9.1 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling onig v6.5.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling tracing v0.1.44 [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 ansi-to-tui v8.0.1 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rstest v0.26.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling plist v1.8.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling tui-markdown v0.3.7 [INFO] [stderr] Compiling openspec-tui v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.19s [INFO] running `Command { std: "docker" "inspect" "7712a87d3d1b3201a602ce0cad116dd1e4f32ff7ba141adeb26a1fe8c44d7029", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7712a87d3d1b3201a602ce0cad116dd1e4f32ff7ba141adeb26a1fe8c44d7029", kill_on_drop: false }` [INFO] [stdout] 7712a87d3d1b3201a602ce0cad116dd1e4f32ff7ba141adeb26a1fe8c44d7029 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] edc84700f5806cf7c997f24b261bdbd3d4e0eb4dac11ce79aafce9faba9377e9 [INFO] running `Command { std: "docker" "start" "-a" "edc84700f5806cf7c997f24b261bdbd3d4e0eb4dac11ce79aafce9faba9377e9", kill_on_drop: false }` [INFO] [stderr] Compiling openspec-tui v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.49s [INFO] running `Command { std: "docker" "inspect" "edc84700f5806cf7c997f24b261bdbd3d4e0eb4dac11ce79aafce9faba9377e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "edc84700f5806cf7c997f24b261bdbd3d4e0eb4dac11ce79aafce9faba9377e9", kill_on_drop: false }` [INFO] [stdout] edc84700f5806cf7c997f24b261bdbd3d4e0eb4dac11ce79aafce9faba9377e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4872a991f9f3e887b3d9c6b8aa6b7bba8a962e94e2324740781552950e883aff [INFO] running `Command { std: "docker" "start" "-a" "4872a991f9f3e887b3d9c6b8aa6b7bba8a962e94e2324740781552950e883aff", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/openspec_tui-7b3a611e40f29a16) [INFO] [stdout] running 356 tests [INFO] [stdout] test app::tests::test_artifact_menu_navigation ... ok [INFO] [stdout] test app::tests::test_artifact_view_scrolling ... ok [INFO] [stdout] test app::tests::test_c_key_pushes_config_screen_from_artifact_view ... ok [INFO] [stdout] test app::tests::test_c_key_pushes_config_screen_from_artifact_menu ... ok [INFO] [stdout] test app::tests::test_build_artifact_menu_items_all_done ... ok [INFO] [stdout] test app::tests::test_build_artifact_menu_items_some_pending ... ok [INFO] [stdout] test app::tests::test_artifact_view_log_has_file_path ... ok [INFO] [stdout] test app::tests::test_build_artifact_menu_items_without_implementation_log ... ok [INFO] [stdout] test app::tests::test_build_artifact_menu_items_with_implementation_log ... ok [INFO] [stdout] test app::tests::test_c_key_pushes_config_screen_from_change_list ... ok [INFO] [stdout] test app::tests::test_change_list_empty_navigation ... ok [INFO] [stdout] test app::tests::test_artifact_view_constructed_with_file_path ... ok [INFO] [stdout] test app::tests::test_change_list_g_ignored_on_archived_tab ... ok [INFO] [stdout] test app::tests::test_advance_batch_with_explicit_failure ... ok [INFO] [stdout] test app::tests::test_change_list_i_ignored_during_running_implementation ... ok [INFO] [stdout] test app::tests::test_change_list_i_ignored_on_archived_tab ... ok [INFO] [stdout] test app::tests::test_change_list_i_signals_interactive_launch_on_active_tab ... ok [INFO] [stdout] test app::tests::test_change_list_navigation ... ok [INFO] [stdout] test app::tests::test_config_backspace_in_command_field ... ok [INFO] [stdout] test app::tests::test_config_backspace_at_start_noop ... ok [INFO] [stdout] test app::tests::test_config_cursor_movement ... ok [INFO] [stdout] test app::tests::test_config_d_in_navigation_mode_resets ... ok [INFO] [stdout] test app::tests::test_config_delete_at_end_noop ... ok [INFO] [stdout] test app::tests::test_config_enter_activates_edit_mode ... ok [INFO] [stdout] test app::tests::test_config_delete_in_command_field ... ok [INFO] [stdout] test app::tests::test_config_enter_on_command_doesnt_signal_editor ... ok [INFO] [stdout] test app::tests::test_config_enter_exits_edit_mode ... ok [INFO] [stdout] test app::tests::test_config_enter_on_interactive_command_activates_edit ... ok [INFO] [stdout] test app::tests::test_config_enter_on_prompt_returns_true ... ok [INFO] [stdout] test app::tests::test_config_enter_on_run_finished_command_activates_edit ... ok [INFO] [stdout] test app::tests::test_config_enter_on_post_prompt_opens_editor ... ok [INFO] [stdout] test app::tests::test_config_esc_exits_edit_mode ... ok [INFO] [stdout] test app::tests::test_config_reset_includes_post_implementation_prompt ... ok [INFO] [stdout] test app::tests::test_config_esc_discards_changes ... ok [INFO] [stdout] test app::tests::test_config_reset_to_defaults ... ok [INFO] [stdout] test app::tests::test_config_s_in_navigation_mode_saves ... ok [INFO] [stdout] test app::tests::test_config_save_updates_app_config ... ok [INFO] [stdout] test app::tests::test_config_screen_cursor_starts_at_end ... ok [INFO] [stdout] test app::tests::test_config_save_persists_interactive_command ... ok [INFO] [stdout] test app::tests::test_config_save_persists_run_finished_command ... ok [INFO] [stdout] test app::tests::test_config_char_keys_ignored_in_navigation_mode ... ok [INFO] [stdout] test app::tests::test_config_reset_defaults_restores_run_finished_command ... ok [INFO] [stdout] test app::tests::test_advance_batch_with_explicit_success ... ok [INFO] [stdout] test app::tests::test_config_save_includes_post_implementation_prompt ... ok [INFO] [stdout] test app::tests::test_dependency_graph_esc_returns ... ok [INFO] [stdout] test app::tests::test_config_screen_has_cloned_config_values ... ok [INFO] [stdout] test app::tests::test_config_tab_cycling_includes_interactive_command ... ok [INFO] [stdout] test app::tests::test_config_reset_defaults_restores_interactive_command ... ok [INFO] [stdout] test app::tests::test_config_tab_switches_focus ... ok [INFO] [stdout] test app::tests::test_config_typing_in_command_field ... ok [INFO] [stdout] test app::tests::test_config_typing_in_interactive_command_field ... ok [INFO] [stdout] test app::tests::test_config_typing_in_run_finished_command_field ... ok [INFO] [stdout] test app::tests::test_dependencies_item_appears_for_active_change ... ok [INFO] [stdout] test app::tests::test_dependencies_item_shows_count ... ok [INFO] [stdout] test app::tests::test_change_list_g_opens_dependency_graph ... ok [INFO] [stdout] test app::tests::test_config_screen_focused_on_command ... ok [INFO] [stdout] test app::tests::test_dependency_add_esc_cancels ... ok [INFO] [stdout] test app::tests::test_dependencies_item_not_shown_for_archived_change ... ok [INFO] [stdout] test app::tests::test_dependency_add_enter_adds_and_returns ... ok [INFO] [stdout] test app::tests::test_dependency_view_esc_goes_back ... ok [INFO] [stdout] test app::tests::test_dependency_view_navigation ... ok [INFO] [stdout] test app::tests::test_enter_on_spec_header_is_noop ... ok [INFO] [stdout] test app::tests::test_dependency_view_remove ... ok [INFO] [stdout] test app::tests::test_dependency_view_remove_last_adjusts_selection ... ok [INFO] [stdout] test app::tests::test_dependency_view_remove_on_empty_is_noop ... ok [INFO] [stdout] test app::tests::test_enter_on_unavailable_artifact_is_noop ... ok [INFO] [stdout] test app::tests::test_enter_on_dependency_item_loads_run_mode ... ok [INFO] [stdout] test app::tests::test_l_key_opens_log_when_exists ... ok [INFO] [stdout] test app::tests::test_m_key_toggles_run_mode_apply_to_normal ... ok [INFO] [stdout] test app::tests::test_poll_implementation_finished_clears_single_batch ... ok [INFO] [stdout] test app::tests::test_find_change_dir_active ... ok [INFO] [stdout] test app::tests::test_poll_implementation_clears_on_finished ... ok [INFO] [stdout] test app::tests::test_poll_implementation_finished_advances_batch_to_next ... ok [INFO] [stdout] test app::tests::test_poll_implementation_finished_no_batch_unchanged ... ok [INFO] [stdout] test app::tests::test_m_key_preserves_dependencies ... ok [INFO] [stdout] test app::tests::test_m_key_toggles_run_mode_normal_to_apply ... ok [INFO] [stdout] test app::tests::test_find_change_dir_archived ... ok [INFO] [stdout] test app::tests::test_enter_on_dependencies_item_opens_dependency_view ... ok [INFO] [stdout] test app::tests::test_l_key_works_for_archived_changes ... ok [INFO] [stdout] test app::tests::test_poll_implementation_noop_when_none ... ok [INFO] [stdout] test app::tests::test_poll_implementation_progress_then_finished ... ok [INFO] [stdout] test app::tests::test_poll_implementation_stalled_treats_as_failure_skips_dependents ... ok [INFO] [stdout] test app::tests::test_r_key_esc_returns_to_artifact_menu ... ok [INFO] [stdout] test app::tests::test_r_key_dispatches_apply_mode ... ok [INFO] [stdout] test app::tests::test_r_key_dispatches_normal_mode_by_default ... ok [INFO] [stdout] test app::tests::test_l_key_noop_when_log_missing ... ok [INFO] [stdout] test app::tests::test_r_key_ignored_on_archived_change ... ok [INFO] [stdout] test app::tests::test_r_key_ignored_when_implementation_running ... ok [INFO] [stdout] test app::tests::test_r_key_navigates_to_log_view ... ok [INFO] [stdout] test app::tests::test_refresh_screen_config_is_noop ... ok [INFO] [stdout] test app::tests::test_r_key_starts_implementation ... ok [INFO] [stdout] test app::tests::test_refresh_screen_artifact_view_no_file_path_is_noop ... ok [INFO] [stdout] test app::tests::test_run_all_entry_fields ... ok [INFO] [stdout] test app::tests::test_run_all_enter_no_batch_when_none_included ... ok [INFO] [stdout] test app::tests::test_run_all_enter_navigates_back ... ok [INFO] [stdout] test app::tests::test_r_key_works_on_active_change ... ok [INFO] [stdout] test app::tests::test_run_all_selection_a_ignored_on_archived_tab ... ok [INFO] [stdout] test app::tests::test_run_all_selection_enter_empty_shows_error ... ok [INFO] [stdout] test app::tests::test_run_all_selection_esc_cancels ... ok [INFO] [stdout] test app::tests::test_poll_implementation_no_messages ... ok [INFO] [stdout] test app::tests::test_refresh_screen_artifact_view_reloads_content ... ok [INFO] [stdout] test app::tests::test_s_key_stops_implementation ... ok [INFO] [stdout] test app::tests::test_run_all_selection_navigation ... ok [INFO] [stdout] test app::tests::test_s_key_works_from_artifact_view ... ok [INFO] [stdout] test app::tests::test_dependency_add_navigation ... ok [INFO] [stdout] test app::tests::test_s_key_noop_when_no_implementation ... ok [INFO] [stdout] test app::tests::test_run_all_selection_toggle ... ok [INFO] [stdout] test app::tests::test_screen_transition_change_list_to_artifact_menu ... ok [INFO] [stdout] test app::tests::test_refresh_screen_change_list_clamps_selection ... ok [INFO] [stdout] test app::tests::test_screen_transition_esc_from_artifact_menu ... ok [INFO] [stdout] test app::tests::test_screen_transition_esc_from_artifact_view ... ok [INFO] [stdout] test app::tests::test_dependency_graph_scrolling ... ok [INFO] [stdout] test app::tests::test_run_all_selection_a_ignored_when_implementation_running ... ok [INFO] [stdout] test app::tests::test_refresh_screen_dependency_view_reloads ... ok [INFO] [stdout] test app::tests::test_run_all_enter_starts_batch_and_implementation ... ok [INFO] [stdout] test app::tests::test_run_all_selection_a_keybinding_opens_from_change_list ... ok [INFO] [stdout] test app::tests::test_poll_implementation_does_not_fire_hook_mid_batch ... ok [INFO] [stdout] test app::tests::test_run_all_selection_toggle_blocked_is_noop ... ok [INFO] [stdout] test app::tests::test_poll_implementation_updates_progress ... ok [INFO] [stdout] test app::tests::test_poll_implementation_finished_skips_dependent_on_failure ... ok [INFO] [stdout] test app::tests::test_s_key_works_from_artifact_menu ... ok [INFO] [stdout] test app::tests::test_set_config_post_prompt ... ok [INFO] [stdout] test app::tests::test_set_config_prompt ... ok [INFO] [stdout] test app::tests::test_spawn_run_finished_command_does_nothing_when_empty ... ok [INFO] [stdout] test app::tests::test_stop_running_implementation_no_batch_unchanged ... ok [INFO] [stdout] test app::tests::test_stop_running_implementation_no_impl_clears_batch ... ok [INFO] [stdout] test app::tests::test_tab_switch_already_on_active_left_noop ... ok [INFO] [stdout] test app::tests::test_stop_running_implementation_clears_batch ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_basic ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_custom_tool ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_empty_returns_none ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_no_prompt_placeholder ... ok [INFO] [stdout] test config::tests::load_save_tests::test_load_missing_file_returns_defaults ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_default ... ok [INFO] [stdout] test app::tests::test_tab_switch_already_on_archived_right_noop ... ok [INFO] [stdout] test config::tests::load_save_tests::test_save_and_load_roundtrip ... ok [INFO] [stdout] test config::tests::load_save_tests::test_save_creates_file ... ok [INFO] [stdout] test config::tests::load_save_tests::test_load_full_file ... ok [INFO] [stdout] test app::tests::test_tab_switch_resets_selection ... ok [INFO] [stdout] test app::tests::test_tab_switch_active_to_archived ... ok [INFO] [stdout] test app::tests::test_tab_switch_archived_to_active ... ok [INFO] [stdout] test app::tests::test_tab_switch_with_h_l_keys ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_command_single_binary ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_interactive_command_single_binary ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_interactive_command_with_args ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_post_prompt_replaces_all_occurrences ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_post_prompt_replaces_name ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_prompt_no_placeholder ... ok [INFO] [stdout] test config::tests::test_clone ... ok [INFO] [stdout] test config::tests::test_default_command ... ok [INFO] [stdout] test config::tests::test_default_interactive_command ... ok [INFO] [stdout] test config::tests::test_default_post_implementation_prompt_is_empty ... ok [INFO] [stdout] test config::tests::test_default_prompt_contains_context_references ... ok [INFO] [stdout] test config::tests::test_default_prompt_contains_name_placeholder ... ok [INFO] [stdout] test config::tests::test_default_run_finished_command_is_empty ... ok [INFO] [stdout] test config::tests::test_deserialize_empty_uses_defaults ... ok [INFO] [stdout] test config::tests::test_deserialize_partial_uses_defaults ... ok [INFO] [stdout] test config::tests::test_deserialize_with_run_finished_command ... ok [INFO] [stdout] test config::tests::test_deserialize_without_interactive_command_defaults_to_claude ... ok [INFO] [stdout] test config::tests::test_deserialize_without_post_prompt_defaults_to_empty ... ok [INFO] [stdout] test config::tests::test_serialize_roundtrip ... ok [INFO] [stdout] test config::tests::test_deserialize_with_interactive_command ... ok [INFO] [stdout] test config::tests::test_deserialize_without_run_finished_command_defaults_to_empty ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_prompt_default_substitutes_correctly ... ok [INFO] [stdout] test config::tests::test_serialize_roundtrip_with_interactive_command ... ok [INFO] [stdout] test config::tests::test_serialize_roundtrip_with_post_prompt ... ok [INFO] [stdout] test data::tests::test_generate_dependency_graph_diamond ... ok [INFO] [stdout] test config::tests::test_serialize_roundtrip_with_run_finished_command ... ok [INFO] [stdout] test config::tests::load_save_tests::test_load_partial_fields_uses_defaults ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_interactive_command_empty_returns_none ... ok [INFO] [stdout] test data::tests::test_change_config_explicit_apply_mode ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_post_prompt_returns_none_when_empty ... ok [INFO] [stdout] test data::tests::test_change_config_explicit_normal_mode ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_post_prompt_without_placeholder ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_prompt_replaces_name ... ok [INFO] [stdout] test data::tests::test_change_config_empty_yaml_defaults ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_build_interactive_command_default ... ok [INFO] [stdout] test config::tests::placeholder_tests::test_render_prompt_replaces_all_occurrences ... ok [INFO] [stdout] test data::tests::test_change_config_roundtrip_serialization ... ok [INFO] [stdout] test data::tests::test_change_config_missing_run_mode_defaults_to_normal ... ok [INFO] [stdout] test data::tests::test_has_tasks_file_nonexistent_dir ... ok [INFO] [stdout] test data::tests::test_has_tasks_file_missing ... ok [INFO] [stdout] test data::tests::test_get_archived_change_status_all_present ... ok [INFO] [stdout] test data::tests::test_list_archived_changes_no_tasks_md ... ok [INFO] [stdout] test data::tests::test_get_archived_change_status_some_missing ... ok [INFO] [stdout] test data::tests::test_has_tasks_file_is_directory ... ok [INFO] [stdout] test data::tests::test_generate_dependency_graph_empty ... ok [INFO] [stdout] test data::tests::test_generate_dependency_graph_multiple_roots ... ok [INFO] [stdout] test data::tests::test_list_archived_changes_sort_order ... ok [INFO] [stdout] test data::tests::test_load_change_dependencies_with_deps ... ok [INFO] [stdout] test data::tests::test_next_unchecked_task_all_complete ... ok [INFO] [stdout] test data::tests::test_get_archived_change_status_specs_with_subdirs ... ok [INFO] [stdout] test data::tests::test_generate_dependency_graph_linear_chain ... ok [INFO] [stdout] test data::tests::test_has_tasks_file_exists ... ok [INFO] [stdout] test data::tests::test_next_unchecked_task_missing_file ... ok [INFO] [stdout] test data::tests::test_list_archived_changes_nonexistent_directory ... ok [INFO] [stdout] test data::tests::test_generate_dependency_graph_no_deps ... ok [INFO] [stdout] test data::tests::test_next_unchecked_task_first_is_unchecked ... ok [INFO] [stdout] test data::tests::test_parse_task_progress_file_not_found ... ok [INFO] [stdout] test data::tests::test_parse_task_progress_all_done ... ok [INFO] [stdout] test data::tests::test_next_unchecked_task_mixed ... ok [INFO] [stdout] test data::tests::test_next_unchecked_task_no_tasks ... ok [INFO] [stdout] test data::tests::test_openspec_command_returns_valid_command ... ok [INFO] [stdout] test data::tests::test_parse_change_list_empty ... ok [INFO] [stdout] test data::tests::test_parse_change_list_output ... ok [INFO] [stdout] test data::tests::test_parse_change_list_multiple_changes ... ok [INFO] [stdout] test data::tests::test_list_archived_changes_with_changes ... ok [INFO] [stdout] test data::tests::test_read_change_config_with_run_mode ... ok [INFO] [stdout] test data::tests::test_read_dependencies_empty_list ... ok [INFO] [stdout] test data::tests::test_parse_task_progress_mixed ... ok [INFO] [stdout] test data::tests::test_parse_task_progress_no_tasks ... ok [INFO] [stdout] test data::tests::test_parse_task_progress_none_done ... ok [INFO] [stdout] test data::tests::test_read_dependencies_file_missing ... ok [INFO] [stdout] test data::tests::test_run_mode_default_is_normal ... ok [INFO] [stdout] test data::tests::test_strip_date_prefix_invalid_format ... ok [INFO] [stdout] test data::tests::test_strip_date_prefix_no_prefix ... ok [INFO] [stdout] test data::tests::test_strip_date_prefix_too_short ... ok [INFO] [stdout] test data::tests::test_resolve_archived_nonexistent_directory ... ok [INFO] [stdout] test data::tests::test_read_run_mode_default ... ok [INFO] [stdout] test data::tests::test_read_dependencies_with_deps ... ok [INFO] [stdout] test data::tests::test_resolve_archived_no_match ... ok [INFO] [stdout] test data::tests::test_resolve_archived_mixed_names ... ok [INFO] [stdout] test data::tests::test_resolve_archived_exact_match ... ok [INFO] [stdout] test data::tests::test_resolve_archived_ignores_files ... ok [INFO] [stdout] test data::tests::test_parse_change_status_output ... ok [INFO] [stdout] test data::tests::test_topological_sort_empty ... ok [INFO] [stdout] test data::tests::test_topological_sort_external_dep_ignored ... ok [INFO] [stdout] test data::tests::test_list_archived_changes_empty_directory ... ok [INFO] [stdout] test data::tests::test_strip_date_prefix_valid ... ok [INFO] [stdout] test data::tests::test_topological_sort_diamond ... ok [INFO] [stdout] test data::tests::test_topological_sort_indirect_cycle ... ok [INFO] [stdout] test data::tests::test_topological_sort_direct_cycle ... ok [INFO] [stdout] test data::tests::test_resolve_archived_date_prefix_match ... ok [INFO] [stdout] test data::tests::test_topological_sort_multiple_roots ... ok [INFO] [stdout] test data::tests::test_topological_sort_no_deps ... ok [INFO] [stdout] test runner::tests::test_apply_run_cancel_sends_nothing ... ok [INFO] [stdout] test data::tests::test_write_dependencies_overwrites_existing ... ok [INFO] [stdout] test data::tests::test_write_dependencies_preserves_run_mode ... ok [INFO] [stdout] test runner::tests::test_batch_advance_failure_continues_independent ... ok [INFO] [stdout] test runner::tests::test_batch_advance_failure_skips_dependents ... ok [INFO] [stdout] test runner::tests::test_apply_run_empty_command_sends_finished_false ... ok [INFO] [stdout] test runner::tests::test_batch_all_complete_finishes ... ok [INFO] [stdout] test data::tests::test_write_then_add_dependency ... ok [INFO] [stdout] test runner::tests::test_batch_current_change ... ok [INFO] [stdout] test runner::tests::test_batch_current_change_empty_queue ... ok [INFO] [stdout] test runner::tests::test_batch_advance_success ... ok [INFO] [stdout] test data::tests::test_read_run_mode_apply ... ok [INFO] [stdout] test data::tests::test_write_then_remove_dependency ... ok [INFO] [stdout] test data::tests::test_topological_sort_linear_chain ... ok [INFO] [stdout] test runner::tests::test_batch_total ... ok [INFO] [stdout] test runner::tests::test_cancel_flag_shared ... ok [INFO] [stdout] test runner::tests::test_child_handle_shared ... ok [INFO] [stdout] test runner::tests::test_batch_deps_stored ... ok [INFO] [stdout] test runner::tests::test_batch_should_skip_no_failed_deps ... ok [INFO] [stdout] test runner::tests::test_batch_impl_state_new ... ok [INFO] [stdout] test runner::tests::test_batch_should_skip_transitive ... ok [INFO] [stdout] test runner::tests::test_config_render_prompt_contains_all_context_references ... ok [INFO] [stdout] test data::tests::test_write_dependencies_creates_file ... ok [INFO] [stdout] test data::tests::test_write_dependencies_empty_list ... ok [INFO] [stdout] test runner::tests::test_cancel_flag_stops_loop ... ok [INFO] [stdout] test runner::tests::test_impl_state_creation ... ok [INFO] [stdout] test data::tests::test_write_change_config_preserves_run_mode ... ok [INFO] [stdout] test runner::tests::test_impl_update_stalled ... ok [INFO] [stdout] test runner::tests::test_impl_update_stalled_after_progress ... ok [INFO] [stdout] test runner::tests::test_implementation_loop_writes_run_header ... ok [INFO] [stdout] test runner::tests::test_loop_finishes_when_all_tasks_complete ... ok [INFO] [stdout] test runner::tests::test_loop_uses_custom_config_prompt ... ok [INFO] [stdout] test runner::tests::test_progress_counting_via_channel ... ok [INFO] [stdout] test runner::tests::test_start_apply_sets_log_path ... ok [INFO] [stdout] test runner::tests::test_stop_implementation_kills_child_process ... ok [INFO] [stdout] test runner::tests::test_loop_sends_stalled_on_repeated_spawn_failure ... ok [INFO] [stdout] test runner::tests::test_impl_update_finished ... ok [INFO] [stdout] test runner::tests::test_stop_implementation_no_child ... ok [INFO] [stdout] test runner::tests::test_stop_implementation_sets_cancel_flag ... ok [INFO] [stdout] test runner::tests::test_write_run_header_appends_on_second_call ... ok [INFO] [stdout] test runner::tests::test_write_run_header_creates_file_with_content ... ok [INFO] [stdout] test runner::tests::test_implementation_loop_writes_task_header ... ok [INFO] [stdout] test runner::tests::test_write_task_header_appends ... ok [INFO] [stdout] test runner::tests::test_write_task_header_creates_file_with_content ... ok [INFO] [stdout] test runner::tests::test_loop_finishes_when_command_empty ... ok [INFO] [stdout] test ui::tests::test_change_list_shows_interactive_hint_on_active_tab ... ok [INFO] [stdout] test ui::tests::test_change_list_no_deps_no_arrow ... ok [INFO] [stdout] test ui::tests::test_change_list_deps_truncated_when_long ... ok [INFO] [stdout] test ui::tests::test_change_list_hides_interactive_hint_on_archived_tab ... ok [INFO] [stdout] test runner::tests::test_loop_uses_custom_config_command ... ok [INFO] [stdout] test ui::tests::test_change_list_shows_inline_dependencies ... ok [INFO] [stdout] test ui::tests::test_config_screen_post_prompt_editor_hint_when_focused ... ok [INFO] [stdout] test ui::tests::test_config_screen_prompt_warning_in_both_modes ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_command ... ok [INFO] [stdout] test ui::tests::test_config_screen_cursor_visible_in_edit_mode ... ok [INFO] [stdout] test ui::tests::test_config_screen_navigation_hints ... ok [INFO] [stdout] test app::tests::test_poll_implementation_fires_hook_on_single_run_finish ... FAILED [INFO] [stdout] test ui::tests::test_config_screen_shows_command_title ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_disabled_when_empty_post_prompt ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_editor_hint_when_prompt_focused ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_prompt ... ok [INFO] [stdout] test ui::tests::test_config_screen_edit_mode_hints ... ok [INFO] [stdout] test ui::tests::test_config_screen_no_cursor_in_navigation_mode ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_post_implementation_prompt_title ... ok [INFO] [stdout] test ui::tests::test_dependency_add_shows_keybinding_hints ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_interactive_command_field ... ok [INFO] [stdout] test ui::tests::test_dependency_add_shows_title ... ok [INFO] [stdout] test ui::tests::test_dependency_add_shows_available_changes ... ok [INFO] [stdout] test ui::tests::test_dependency_view_selection_highlight ... ok [INFO] [stdout] test ui::tests::test_dependency_view_shows_dependencies ... ok [INFO] [stdout] test ui::tests::test_dependency_view_shows_keybinding_hints ... ok [INFO] [stdout] test ui::tests::test_config_screen_warns_missing_prompt_placeholder ... ok [INFO] [stdout] test ui::tests::test_config_screen_no_warning_with_prompt_placeholder ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_keybinding_hints ... ok [INFO] [stdout] test ui::tests::test_draw_dependency_graph_shows_back_hint ... ok [INFO] [stdout] test ui::tests::test_draw_dependency_graph_shows_scroll_position ... ok [INFO] [stdout] test ui::tests::test_empty_message_active_tab ... ok [INFO] [stdout] test ui::tests::test_draw_dependency_graph_shows_content ... ok [INFO] [stdout] test ui::tests::test_dependency_view_shows_empty_message ... ok [INFO] [stdout] test ui::tests::test_dependency_view_shows_title ... ok [INFO] [stdout] test ui::tests::test_empty_message_archived_tab ... ok [INFO] [stdout] test ui::tests::test_draw_full_app_with_config_screen ... ok [INFO] [stdout] test ui::tests::test_long_lines_are_wrapped ... ok [INFO] [stdout] test ui::tests::test_layout_not_split_when_no_implementation ... ok [INFO] [stdout] test ui::tests::test_markdown_headers_rendered_as_formatted_text ... ok [INFO] [stdout] test ui::tests::test_plain_text_preserves_separator_lines ... ok [INFO] [stdout] test ui::tests::test_non_log_files_use_markdown_rendering ... ok [INFO] [stdout] test ui::tests::test_config_screen_shows_prompt_title ... ok [INFO] [stdout] test ui::tests::test_plain_text_preserves_single_newlines ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_checkboxes ... ok [INFO] [stdout] test ui::tests::test_layout_split_when_implementation_running ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_empty_shows_message ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_error ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_keybinding_hints ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_progress ... ok [INFO] [stdout] test runner::tests::test_apply_run_writes_run_header ... ok [INFO] [stdout] test runner::tests::test_apply_run_sends_only_finished ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_blocked ... ok [INFO] [stdout] test ui::tests::test_status_bar_batch_progress ... ok [INFO] [stdout] test ui::tests::test_run_all_selection_shows_title ... ok [INFO] [stdout] test ui::tests::test_status_bar_all_complete ... ok [INFO] [stdout] test ui::tests::test_short_lines_remain_unchanged ... ok [INFO] [stdout] test runner::tests::test_apply_run_no_progress_or_stalled ... ok [INFO] [stdout] test ui::tests::test_status_bar_batch_with_failures ... ok [INFO] [stdout] test ui::tests::test_status_bar_batch_with_skips ... ok [INFO] [stdout] test ui::tests::test_status_bar_no_batch_unchanged ... ok [INFO] [stdout] test ui::tests::test_status_bar_shows_change_name ... ok [INFO] [stdout] test ui::tests::test_status_bar_shows_log_path ... ok [INFO] [stdout] test ui::tests::test_title_rendering_archived_tab ... ok [INFO] [stdout] test ui::tests::test_status_bar_shows_progress_bar ... ok [INFO] [stdout] test ui::tests::test_status_bar_shows_stop_hint ... ok [INFO] [stdout] test ui::tests::test_status_bar_zero_total ... ok [INFO] [stdout] test ui::tests::test_title_rendering_active_tab ... ok [INFO] [stdout] test ui::tests::test_status_bar_shows_task_counts ... ok [INFO] [stdout] test ui::tests::test_indented_code_block_rendered ... ok [INFO] [stdout] test app::tests::test_spawn_run_finished_command_runs_when_set ... ok [INFO] [stdout] test ui::tests::test_code_blocks_rendered_with_highlighting ... ok [INFO] [stdout] test runner::tests::test_start_apply_cancel_flag_works ... ok [INFO] [stdout] test runner::tests::test_loop_continues_past_failed_runs_with_eventual_progress ... ok [INFO] [stdout] test runner::tests::test_loop_sends_stalled_after_three_no_progress_runs ... ok [INFO] [stdout] test runner::tests::test_stall_counter_resets_on_progress ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- app::tests::test_poll_implementation_fires_hook_on_single_run_finish stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'app::tests::test_poll_implementation_fires_hook_on_single_run_finish' (104) panicked at src/app.rs:3595:9: [INFO] [stdout] Hook should fire on single run finish [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x60e9a48f49ca - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x60e9a48f49ca - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x60e9a48f49ca - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x60e9a48f49ca - <::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x60e9a490aada - ::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x60e9a490aada - core[c1f1a4ba060b9bfa]::fmt::write [INFO] [stdout] 6: 0x60e9a48f9522 - std[e28293b1aa0f68bd]::io::default_write_fmt::> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x60e9a48f9522 - as std[e28293b1aa0f68bd]::io::Write>::write_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x60e9a48d0fdf - ::print [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x60e9a48d0fdf - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x60e9a48eba39 - std[e28293b1aa0f68bd]::panicking::default_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x60e9a47f6e1c - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x60e9a47f6e1c - test[273d7611820c9051]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x60e9a48ebbf2 - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x60e9a48ebbf2 - std[e28293b1aa0f68bd]::panicking::panic_with_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x60e9a48d10ca - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x60e9a48c86e9 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x60e9a48d1dad - __rustc[b7974e8690430dd9]::rust_begin_unwind [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x60e9a490b3bc - core[c1f1a4ba060b9bfa]::panicking::panic_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x60e9a44aa8cb - openspec_tui::app::tests::test_poll_implementation_fires_hook_on_single_run_finish::h4f31c90814621e21 [INFO] [stdout] at /opt/rustwide/workdir/src/app.rs:3595:9 [INFO] [stdout] 20: 0x60e9a44aaa27 - openspec_tui::app::tests::test_poll_implementation_fires_hook_on_single_run_finish::{{closure}}::h9619812fc2df46ad [INFO] [stdout] at /opt/rustwide/workdir/src/app.rs:3554:66 [INFO] [stdout] 21: 0x60e9a45821a6 - core::ops::function::FnOnce::call_once::h8daaf0383b979211 [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x60e9a47eaefb - core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x60e9a47eaefb - test[273d7611820c9051]::__rust_begin_short_backtrace::, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x60e9a47f78eb - test[273d7611820c9051]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x60e9a47f78eb - as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x60e9a47f78eb - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 27: 0x60e9a47f78eb - std[e28293b1aa0f68bd]::panicking::catch_unwind::, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 28: 0x60e9a47f78eb - std[e28293b1aa0f68bd]::panic::catch_unwind::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x60e9a47f78eb - test[273d7611820c9051]::run_test_in_process [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x60e9a47f78eb - test[273d7611820c9051]::run_test::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x60e9a47f3004 - test[273d7611820c9051]::run_test::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x60e9a47f3004 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x60e9a47fa4f2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 34: 0x60e9a47fa4f2 - ::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x60e9a47fa4f2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 36: 0x60e9a47fa4f2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 37: 0x60e9a47fa4f2 - std[e28293b1aa0f68bd]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x60e9a47fa4f2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 39: 0x60e9a47fa4f2 - ::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x60e9a48f3a8f - + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 41: 0x60e9a48f3a8f - ::new::thread_start [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 42: 0x7010e6652aa4 - [INFO] [stdout] 43: 0x7010e66dfa64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] app::tests::test_poll_implementation_fires_hook_on_single_run_finish [INFO] [stdout] [INFO] [stdout] test result: FAILED. 355 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.96s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin openspec-tui` [INFO] running `Command { std: "docker" "inspect" "4872a991f9f3e887b3d9c6b8aa6b7bba8a962e94e2324740781552950e883aff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4872a991f9f3e887b3d9c6b8aa6b7bba8a962e94e2324740781552950e883aff", kill_on_drop: false }` [INFO] [stdout] 4872a991f9f3e887b3d9c6b8aa6b7bba8a962e94e2324740781552950e883aff