[INFO] fetching crate mana-cli 0.3.0... [INFO] testing mana-cli-0.3.0 against 1.95.0 for beta-1.96-1 [INFO] extracting crate mana-cli 0.3.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate mana-cli 0.3.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate mana-cli 0.3.0 [INFO] tweaked toml for crates.io crate mana-cli 0.3.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mana-cli 0.3.0 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 crates.io crate mana-cli 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded strict v0.2.0 [INFO] [stderr] Downloaded crokey-proc_macros v1.4.0 [INFO] [stderr] Downloaded minimad v0.14.0 [INFO] [stderr] Downloaded crossbeam-queue v0.3.12 [INFO] [stderr] Downloaded crossbeam v0.8.4 [INFO] [stderr] Downloaded dialoguer v0.12.0 [INFO] [stderr] Downloaded mana-review v0.1.0 [INFO] [stderr] Downloaded console v0.16.2 [INFO] [stderr] Downloaded crokey v1.4.0 [INFO] [stderr] Downloaded libyml v0.0.5 [INFO] [stderr] Downloaded mana-core v0.3.0 [INFO] [stderr] Downloaded ntapi v0.4.3 [INFO] [stderr] Downloaded sysinfo v0.33.1 [INFO] [stderr] Downloaded coolor v1.1.0 [INFO] [stderr] Downloaded serde_yml v0.0.12 [INFO] [stderr] Downloaded termimad v0.34.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 6c918b93c1d824a03a30a8b647b5f44b1c28a5f6d10b451c5b23f165d8886506 [INFO] running `Command { std: "docker" "start" "-a" "6c918b93c1d824a03a30a8b647b5f44b1c28a5f6d10b451c5b23f165d8886506", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6c918b93c1d824a03a30a8b647b5f44b1c28a5f6d10b451c5b23f165d8886506", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c918b93c1d824a03a30a8b647b5f44b1c28a5f6d10b451c5b23f165d8886506", kill_on_drop: false }` [INFO] [stdout] 6c918b93c1d824a03a30a8b647b5f44b1c28a5f6d10b451c5b23f165d8886506 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 10963dcd33ebc521f5a49a2730d7fdfb48396027aa32ef1eac96796c4c819b0f [INFO] running `Command { std: "docker" "start" "-a" "10963dcd33ebc521f5a49a2730d7fdfb48396027aa32ef1eac96796c4c819b0f", kill_on_drop: false }` [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling serde_yml v0.0.12 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling libyml v0.0.5 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling strict v0.2.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling shell-escape v0.1.5 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling minimad v0.14.0 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling sysinfo v0.33.1 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling clap_complete v4.5.66 [INFO] [stderr] Compiling coolor v1.1.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling crokey-proc_macros v1.4.0 [INFO] [stderr] Compiling lazy-regex-proc_macros v3.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling lazy-regex v3.6.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling crokey v1.4.0 [INFO] [stderr] Compiling termimad v0.34.1 [INFO] [stderr] Compiling mana-core v0.3.0 [INFO] [stderr] Compiling mana-review v0.1.0 [INFO] [stderr] Compiling mana-cli v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.72s [INFO] running `Command { std: "docker" "inspect" "10963dcd33ebc521f5a49a2730d7fdfb48396027aa32ef1eac96796c4c819b0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10963dcd33ebc521f5a49a2730d7fdfb48396027aa32ef1eac96796c4c819b0f", kill_on_drop: false }` [INFO] [stdout] 10963dcd33ebc521f5a49a2730d7fdfb48396027aa32ef1eac96796c4c819b0f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] b32c0ca04d877e067d290dc94d9676cd837b164f611192cdd68b3bcc1163ecf5 [INFO] running `Command { std: "docker" "start" "-a" "b32c0ca04d877e067d290dc94d9676cd837b164f611192cdd68b3bcc1163ecf5", kill_on_drop: false }` [INFO] [stderr] Compiling mana-cli v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 13.95s [INFO] running `Command { std: "docker" "inspect" "b32c0ca04d877e067d290dc94d9676cd837b164f611192cdd68b3bcc1163ecf5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b32c0ca04d877e067d290dc94d9676cd837b164f611192cdd68b3bcc1163ecf5", kill_on_drop: false }` [INFO] [stdout] b32c0ca04d877e067d290dc94d9676cd837b164f611192cdd68b3bcc1163ecf5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 7ba5d5b77b8054ccc4560828c74ebe6f53ba83e4382049ab38d7e6628c9a4cd6 [INFO] running `Command { std: "docker" "start" "-a" "7ba5d5b77b8054ccc4560828c74ebe6f53ba83e4382049ab38d7e6628c9a4cd6", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mana-c6b6f10a12d7ddda) [INFO] [stdout] [INFO] [stdout] running 671 tests [INFO] [stdout] test commands::adopt::tests::next_child_number_empty ... ok [INFO] [stdout] test commands::adopt::tests::adopt_fails_for_missing_parent ... ok [INFO] [stdout] test commands::adopt::tests::adopt_fails_for_missing_child ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_false_for_nonexistent ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_false_for_overflowed_pid ... ok [INFO] [stdout] test commands::adopt::tests::adopt_single_unit ... ok [INFO] [stdout] test commands::adopt::tests::next_child_number_ignores_other_parents ... ok [INFO] [stdout] test commands::agents::tests::agent_entry_roundtrip ... ok [INFO] [stdout] test commands::agents::tests::format_elapsed_hours ... ok [INFO] [stdout] test commands::agents::tests::format_elapsed_seconds ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_true_for_current ... ok [INFO] [stdout] test commands::agents::tests::load_agents_empty_file ... ok [INFO] [stdout] test commands::adopt::tests::next_child_number_with_existing ... ok [INFO] [stdout] test commands::agents::tests::agents_empty_persistence_shows_no_agents ... ok [INFO] [stdout] test commands::agents::tests::truncate_title_multibyte_utf8 ... ok [INFO] [stdout] test commands::claim::tests::test_claim_nonexistent_unit_fails ... ok [INFO] [stdout] test commands::claim::tests::test_claim_closed_unit_fails ... ok [INFO] [stdout] test commands::claim::tests::test_claim_open_unit ... ok [INFO] [stdout] test commands::claim::tests::test_claim_unit_with_verify_succeeds ... ok [INFO] [stdout] test commands::adopt::tests::adopt_updates_dependencies ... ok [INFO] [stdout] test commands::claim::tests::release_marks_attempt_abandoned ... ok [INFO] [stdout] test commands::agents::tests::truncate_title_exact_length ... ok [INFO] [stdout] test commands::agents::tests::truncate_title_long_string ... ok [INFO] [stdout] test commands::claim::tests::test_claim_rebuilds_index ... ok [INFO] [stdout] test commands::adopt::tests::adopt_with_existing_children ... ok [INFO] [stdout] test commands::claim::tests::test_claim_unit_with_empty_verify_warns ... ok [INFO] [stdout] test commands::adopt::tests::adopt_multiple_units ... ok [INFO] [stdout] test commands::claim::tests::test_release_nonexistent_unit_fails ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_no_verify_skips_check ... ok [INFO] [stdout] test commands::agents::tests::truncate_title_short_string ... ok [INFO] [stdout] test commands::claim::tests::test_claim_non_open_unit_fails ... ok [INFO] [stdout] test commands::claim::tests::multiple_claims_accumulate_attempts ... ok [INFO] [stdout] test commands::adopt::tests::adopt_rebuilds_index ... ok [INFO] [stdout] test commands::claim::tests::test_claim_unit_without_verify_succeeds_with_warning ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_passing_verify_rejected ... ok [INFO] [stdout] test commands::claim::tests::test_release_claimed_unit ... ok [INFO] [stdout] test commands::claim::tests::test_release_rebuilds_index ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_force_overrides ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_failing_verify_succeeds ... ok [INFO] [stdout] test commands::claim::tests::test_claim_without_by ... ok [INFO] [stdout] test commands::claim::tests::claim_starts_attempt ... ok [INFO] [stdout] test commands::close::tests::history_no_record_when_force_skip ... ok [INFO] [stdout] test commands::close::tests::history_no_record_without_verify ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_does_not_trigger_below_limit ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_skips_on_fail_retry ... ok [INFO] [stdout] test commands::close::tests::history_agent_from_env_var ... ok [INFO] [stdout] test commands::close::tests::history_failure_creates_run_record ... ok [INFO] [stdout] test commands::close::tests::max_loops_per_unit_overrides_config ... ok [INFO] [stdout] test commands::close::tests::history_failure_then_success_accumulates ... ok [INFO] [stdout] test commands::close::tests::max_loops_standalone_unit_uses_own_max_loops ... ok [INFO] [stdout] test commands::close::tests::history_records_exit_code ... ok [INFO] [stdout] test commands::close::tests::max_loops_no_duplicate_label ... ok [INFO] [stdout] test commands::close::tests::on_close_runs_in_project_root ... ok [INFO] [stdout] test commands::close::tests::on_close_run_failure_does_not_prevent_close ... ok [INFO] [stdout] test commands::close::tests::on_close_notify_action_prints_message ... ok [INFO] [stdout] test commands::close::tests::max_loops_counts_across_siblings ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_no_duplicate_label ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_triggers_at_limit ... ok [INFO] [stdout] test commands::close::tests::on_close_run_action_executes_command ... ok [INFO] [stdout] test commands::close::tests::max_loops_no_config_defaults_to_10 ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_releases_claim_when_under_max ... ok [INFO] [stdout] test commands::close::tests::on_close_run_skipped_without_trust ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_keeps_claim_when_at_max ... ok [INFO] [stdout] test commands::close::tests::on_close_multiple_actions_all_run ... ok [INFO] [stdout] test commands::close::tests::history_success_creates_run_record ... ok [INFO] [stdout] test commands::close::tests::max_loops_zero_disables_circuit_breaker ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_updates_priority ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_appends_message_to_notes ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_adds_label ... ok [INFO] [stdout] test commands::close::tests::on_fail_none_existing_behavior_unchanged ... ok [INFO] [stdout] test commands::close::tests::output_capture_empty_stdout_no_outputs ... ok [INFO] [stdout] test commands::close::tests::history_multiple_attempts_accumulate ... ok [INFO] [stdout] test commands::close::tests::output_capture_failure_unchanged ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_with_delay_releases_claim ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_with_no_parent ... ok [INFO] [stdout] test commands::close::tests::output_capture_stderr_not_captured_as_outputs ... ok [INFO] [stdout] test commands::close::tests::output_capture_json_stdout_stored_as_outputs ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_checkpoint_sha_stored ... ok [INFO] [stdout] test commands::close::tests::test_close_failed_appends_to_notes ... ok [INFO] [stdout] test commands::close::tests::test_close_failed_without_reason ... ok [INFO] [stdout] test commands::close::tests::history_has_correct_duration ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_disabled_via_config ... ok [INFO] [stdout] test commands::close::tests::test_close_no_ids ... ok [INFO] [stdout] test commands::close::tests::output_capture_mixed_stdout_stderr ... ok [INFO] [stdout] test commands::close::tests::test_close_failed_marks_attempt_as_failed ... ok [INFO] [stdout] test commands::close::tests::output_capture_json_array ... ok [INFO] [stdout] test commands::close::tests::test_close_nonexistent_unit ... ok [INFO] [stdout] test commands::close::tests::test_close_multiple_units ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_parent_when_all_children_closed ... ok [INFO] [stdout] test commands::close::tests::test_all_children_closed_checks_archived_units ... ok [INFO] [stdout] test commands::close::tests::output_capture_non_json_stdout_stored_as_text ... ok [INFO] [stdout] test commands::close::tests::test_close_failure_appends_to_notes ... ok [INFO] [stdout] test commands::close::tests::test_close_failure_creates_notes_if_none ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_max_defaults_to_max_attempts ... ok [INFO] [stdout] test commands::close::tests::test_close_passes_reason_to_pre_close_hook ... ok [INFO] [stdout] test commands::close::tests::test_close_with_empty_verify_still_closes ... ok [INFO] [stdout] test commands::close::tests::test_close_single_unit ... ok [INFO] [stdout] test commands::close::tests::test_close_with_missing_hook_silently_succeeds ... ok [INFO] [stdout] test commands::close::tests::test_close_with_reason ... ok [INFO] [stdout] test commands::close::tests::test_close_with_untrusted_hooks_silently_skips ... ok [INFO] [stdout] test commands::close::tests::test_close_rebuilds_index ... ok [INFO] [stdout] test commands::close::tests::test_close_sets_updated_at ... ok [INFO] [stdout] test commands::close::tests::test_close_with_pipe_propagates_exit_code ... ok [INFO] [stdout] test commands::close::tests::test_close_with_force_skips_verify ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_recursive_grandparent ... ok [INFO] [stdout] test commands::close::tests::test_feature_unit_force_still_blocked_in_non_tty ... ok [INFO] [stdout] test commands::close::tests::test_close_without_verify_still_works ... ok [INFO] [stdout] test commands::close::tests::test_close_with_failing_verify_increments_attempts ... ok [INFO] [stdout] test commands::close::tests::test_close_with_shell_operators_work ... ok [INFO] [stdout] test commands::close::tests::test_truncate_to_char_boundary_ascii ... ok [INFO] [stdout] test commands::close::tests::test_close_with_whitespace_verify_still_closes ... ok [INFO] [stdout] test commands::close::tests::test_truncate_to_char_boundary_beyond_len ... ok [INFO] [stdout] test commands::close::tests::test_truncate_to_char_boundary_multibyte ... ok [INFO] [stdout] test commands::close::tests::test_truncate_to_char_boundary_zero ... ok [INFO] [stdout] test commands::close::tests::test_feature_parent_not_auto_closed ... ok [INFO] [stdout] test commands::close::tests::test_feature_grandparent_blocks_recursive_auto_close ... ok [INFO] [stdout] test commands::close::tests::test_non_feature_parent_still_auto_closes ... ok [INFO] [stdout] test commands::close::tests::test_no_auto_close_when_children_still_open ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_both_none ... ok [INFO] [stdout] test commands::close::tests::worktree_merge_tests::test_close_outside_git_repo_works ... ok [INFO] [stdout] test commands::close::tests::test_close_with_passing_pre_close_hook ... ok [INFO] [stdout] test commands::close::tests::worktree_merge_tests::test_close_in_main_worktree_skips_merge ... ok [INFO] [stdout] test commands::close::tests::test_post_close_hook_failure_does_not_prevent_close ... ok [INFO] [stdout] test commands::close::tests::test_close_with_failing_pre_close_hook_blocks_close ... ok [INFO] [stdout] test commands::close::tests::test_close_with_passing_verify ... ok [INFO] [stdout] test commands::config_cmd::tests::get_run_returns_empty_when_unset ... ok [INFO] [stdout] test commands::config_cmd::tests::get_unknown_key_returns_error ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_unit_wins_over_config ... ok [INFO] [stdout] test commands::config_cmd::tests::set_auto_commit_persists_bool ... ok [INFO] [stdout] test commands::config_cmd::tests::set_run_stores_command_template ... ok [INFO] [stdout] test commands::config_cmd::tests::set_run_to_empty_clears_it ... ok [INFO] [stdout] test commands::config_cmd::tests::set_run_to_none_clears_it ... ok [INFO] [stdout] test commands::config_cmd::tests::set_unknown_key_returns_error ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_config_fallback ... ok [INFO] [stdout] test commands::context::tests::context_unit_not_found ... ok [INFO] [stdout] test commands::context::tests::context_includes_attempt_notes_in_json_output ... ok [INFO] [stdout] test commands::context::tests::context_includes_attempt_notes_in_text_output ... ok [INFO] [stdout] test commands::close::tests::test_close_with_failing_verify_multiple_attempts ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_includes_unit_notes ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_returns_none_when_attempts_have_no_notes ... ok [INFO] [stdout] test commands::context::tests::context_with_paths_in_description ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_includes_attempt_log_notes ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_returns_none_when_no_notes ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_skips_empty_notes_strings ... ok [INFO] [stdout] test commands::context::tests::format_rules_section_wraps_with_delimiters ... ok [INFO] [stdout] test commands::context::tests::load_rules_returns_content_when_present ... ok [INFO] [stdout] test commands::context::tests::load_rules_returns_none_when_file_missing ... ok [INFO] [stdout] test commands::create::tests::assign_child_id_finds_existing_children ... ok [INFO] [stdout] test commands::context::tests::load_rules_returns_none_when_file_empty ... ok [INFO] [stdout] test commands::context::tests::load_rules_uses_custom_rules_file_path ... ok [INFO] [stdout] test commands::create::tests::assign_child_id_starts_at_1 ... ok [INFO] [stdout] test commands::create::tests::create_allows_unit_without_verify_or_acceptance ... ok [INFO] [stdout] test commands::context::tests::context_with_no_paths_in_description ... ok [INFO] [stdout] test commands::create::tests::create_claim_accepts_with_acceptance ... ok [INFO] [stdout] test commands::close::tests::output_capture_large_stdout_truncated ... ok [INFO] [stdout] test commands::create::tests::create_claim_rejects_missing_validation_criteria ... ok [INFO] [stdout] test commands::close::tests::test_feature_unit_not_closed_in_non_tty ... ok [INFO] [stdout] test commands::create::tests::create_accepts_valid_priorities ... ok [INFO] [stdout] test commands::create::tests::create_claim_accepts_with_verify ... ok [INFO] [stdout] test commands::create::tests::create_feature_sets_feature_flag ... ok [INFO] [stdout] test commands::create::tests::create_multiple_children ... ok [INFO] [stdout] test commands::create::tests::create_feature_works_without_verify ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_does_not_affect_fast_commands ... ok [INFO] [stdout] test commands::create::tests::create_next_fails_with_no_units ... ok [INFO] [stdout] test commands::create::tests::create_rejects_priority_too_high ... ok [INFO] [stdout] test commands::create::tests::create_increments_id ... ok [INFO] [stdout] test commands::create::tests::create_updates_index ... ok [INFO] [stdout] test commands::create::tests::create_next_depends_on_latest ... ok [INFO] [stdout] test commands::create::tests::create_claim_with_parent_exempt_from_validation ... ok [INFO] [stdout] test commands::create::tests::create_with_all_fields ... ok [INFO] [stdout] test commands::create::tests::create_minimal_unit ... ok [INFO] [stdout] test commands::create::tests::create_without_claim_exempt_from_validation ... ok [INFO] [stdout] test commands::create::tests::create_with_parent_assigns_child_id ... ok [INFO] [stdout] test commands::create::tests::create_next_merges_explicit_deps ... ok [INFO] [stdout] test commands::create::tests::create_without_claim_stays_open ... ok [INFO] [stdout] test commands::create::tests::create_without_feature_preserves_existing_behavior ... ok [INFO] [stdout] test commands::create::tests::default_rejects_passing_verify ... ok [INFO] [stdout] test commands::create::tests::default_accepts_failing_verify ... ok [INFO] [stdout] test commands::create::tests::lint::create_allows_verify_lint_warnings ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_and_parent ... ok [INFO] [stdout] test commands::create::tests::lint::create_rejects_verify_lint_errors_without_force ... ok [INFO] [stdout] test commands::create::tests::no_verify_skips_fail_first_check ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_escalate_bare ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_escalate_with_priority_lowercase ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_escalate_with_priority_number ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_escalate_with_priority_uppercase ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_rejects_invalid_action ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_rejects_invalid_retry_max ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_rejects_priority_out_of_range ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_retry_with_max ... ok [INFO] [stdout] test commands::create::tests::parse_on_fail_retry_bare ... ok [INFO] [stdout] test commands::create::tests::lint::create_allows_verify_lint_errors_with_force ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_without_by ... ok [INFO] [stdout] test commands::create::tests::pass_ok_skips_fail_first_check ... ok [INFO] [stdout] test commands::create::tests::pre_create_hook_rejects_unit_creation ... ok [INFO] [stdout] test commands::create::tests::untrusted_hooks_are_silently_skipped ... ok [INFO] [stdout] test commands::delete::tests::test_cleanup_does_not_modify_unrelated_units ... ok [INFO] [stdout] test commands::delete::tests::test_delete_ignores_excluded_files ... ok [INFO] [stdout] test commands::delete::tests::test_delete_nonexistent_unit ... ok [INFO] [stdout] test commands::delete::tests::test_delete_rebuilds_index ... ok [INFO] [stdout] test commands::delete::tests::test_delete_unit ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_sets_in_progress ... ok [INFO] [stdout] test commands::delete::tests::test_delete_cleans_dependencies ... ok [INFO] [stdout] test commands::delete::tests::test_delete_with_complex_dependency_graph ... ok [INFO] [stdout] test commands::create::tests::create_next_chain_three_units ... ok [INFO] [stdout] test commands::close::tests::test_post_close_hook_fires_after_successful_close ... ok [INFO] [stdout] test commands::close::tests::test_close_batch_with_mixed_hook_results ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_simple ... ok [INFO] [stdout] test commands::dep::tests::test_dep_list_with_dependencies ... ok [INFO] [stdout] test commands::dep::tests::test_dep_remove ... ok [INFO] [stdout] test commands::diff::tests::add_output_flags_full_default ... ok [INFO] [stdout] test commands::diff::tests::add_output_flags_name_only_no_color ... ok [INFO] [stdout] test commands::diff::tests::add_output_flags_stat ... ok [INFO] [stdout] test commands::create::tests::post_create_hook_failure_does_not_break_creation ... ok [INFO] [stdout] test commands::create::tests::pre_create_hook_accepts_unit_creation ... FAILED [INFO] [stdout] test commands::dep::tests::test_dep_add_duplicate_rejected ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_nonexistent_unit ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_self_dependency_rejected ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_cycle_detection ... ok [INFO] [stdout] test commands::dep::tests::test_dep_remove_not_found ... ok [INFO] [stdout] test commands::diff::tests::cmd_diff_no_git_repo_fails ... ok [INFO] [stdout] test commands::diff::tests::is_git_repo_false_for_non_git_dir ... ok [INFO] [stdout] test commands::doctor::tests::doctor_clean_project ... ok [INFO] [stdout] test commands::create::tests::post_create_hook_runs_after_creation ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_cycle ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_duplicate_ids ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_missing_parent ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_mixed_formats ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_orphaned_dep ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_stale_index_entries ... ok [INFO] [stdout] test commands::doctor::tests::doctor_fix_rebuilds_index ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_archived_parent ... ok [INFO] [stdout] test commands::doctor::tests::doctor_no_warning_for_single_format ... ok [INFO] [stdout] test commands::edit::tests::test_backup_preserves_exact_content ... ok [INFO] [stdout] test commands::edit::tests::test_backup_backup_before_edit_workflow ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_finds_unit_by_id ... ok [INFO] [stdout] test commands::diff::tests::cmd_diff_nonexistent_unit_fails ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_fails_for_nonexistent_unit ... ok [INFO] [stdout] test commands::close::tests::worktree_merge_tests::test_close_in_worktree_commits_and_merges ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_loads_backup_correctly ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_preserves_unit_naming_convention ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_index_rebuild_includes_edited_unit ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_validates_schema_before_save ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_nonexistent_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_binary_content ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_large_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_content ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_empty_file ... ok [INFO] [stdout] test commands::edit::tests::test_open_editor_nonexistent_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_multiline_content ... ok [INFO] [stdout] /tmp/.tmpBL3mXT/test.md [INFO] [stdout] test commands::edit::tests::test_prompt_rollback_backup_preserves_content ... ok [INFO] [stdout] test commands::edit::tests::test_open_editor_success_with_echo ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_creates_index ... ok [INFO] [stdout] test commands::edit::tests::test_prompt_rollback_restores_file_from_backup ... ok [INFO] [stdout] test commands::diff::tests::is_git_repo_true_for_git_dir ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_empty_directory ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_invalid_mana_dir ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_workflow_backup_edit_save ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_saves_to_correct_location ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_missing_required_field ... ok [INFO] [stdout] test commands::edit::tests::test_open_editor_success_with_true ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_parses_and_validates_yaml ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_persists_to_disk ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_rejects_invalid_yaml ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_includes_all_units ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_workflow_full ... ok [INFO] [stdout] test commands::fact::tests::create_fact_requires_verify ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_with_markdown_frontmatter ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_reflects_recent_edits ... ok [INFO] [stdout] test commands::graph::tests::ascii_long_title_not_truncated ... ok [INFO] [stdout] test commands::fact::tests::create_fact_sets_unit_type ... ok [INFO] [stdout] test commands::diff::tests::find_commit_at_time_returns_none_for_future ... ok [INFO] [stdout] test commands::close::tests::worktree_merge_tests::test_close_with_merge_conflict_aborts ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_updates_timestamp ... ok [INFO] [stdout] test commands::graph::tests::ascii_status_badges ... ok [INFO] [stdout] test commands::fact::tests::create_fact_with_custom_ttl ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_diamond_dependencies ... ok [INFO] [stdout] test commands::graph::tests::ascii_output_valid ... ok [INFO] [stdout] test commands::fact::tests::create_fact_with_paths ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_empty_graph ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_multiple_isolated_units ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_single_isolated_unit ... ok [INFO] [stdout] test commands::graph::tests::escaping_special_chars ... ok [INFO] [stdout] test commands::graph::tests::mermaid_escape ... ok [INFO] [stdout] test commands::init::tests::find_preset_is_case_insensitive ... ok [INFO] [stdout] test commands::graph::tests::dot_output_valid ... ok [INFO] [stdout] test commands::init::tests::init_config_is_valid_yaml ... ok [INFO] [stdout] test commands::graph::tests::mermaid_output_valid ... ok [INFO] [stdout] test commands::init::tests::init_auto_detects_project_name_from_dir ... ok [INFO] [stdout] test commands::init::tests::init_creates_config_with_explicit_name ... ok [INFO] [stdout] test commands::init::tests::init_creates_mana_dir ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_cycle_warning ... ok [INFO] [stdout] test commands::init::tests::init_creates_rules_md_stub ... ok [INFO] [stdout] test commands::init::tests::init_idempotent ... ok [INFO] [stdout] test commands::init::tests::init_preserves_next_id_on_setup ... ok [INFO] [stdout] test commands::init::tests::init_does_not_overwrite_existing_rules_md ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_aider_sets_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::init_with_custom_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::init_with_no_agent_skips_setup ... ok [INFO] [stdout] test commands::init::tests::init_with_run_only ... ok [INFO] [stdout] test commands::init::tests::detect_agents_returns_all_presets ... ok [INFO] [stdout] test commands::init::tests::init_with_unknown_agent_errors ... ok [INFO] [stdout] test commands::init::tests::reinit_without_setup_shows_config ... ok [INFO] [stdout] test commands::graph::tests::default_format_is_ascii ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_claude_sets_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::init_setup_on_existing_reconfigures ... ok [INFO] [stdout] test commands::list::tests::parse_status_valid ... ok [INFO] [stdout] test commands::list::tests::status_indicator_closed ... ok [INFO] [stdout] test commands::list::tests::status_indicator_in_progress ... ok [INFO] [stdout] test commands::diff::tests::find_commits_ignores_partial_id_matches ... ok [INFO] [stdout] test commands::list::tests::blocked_by_open_dependency ... ok [INFO] [stdout] test commands::list::tests::status_indicator_oversized_shows_warning ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_empty_dir ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_matches_raw_id ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_nonexistent_dir ... ok [INFO] [stdout] test commands::logs::tests::find_latest_log_returns_most_recent ... ok [INFO] [stdout] test commands::list::tests::parse_status_invalid ... ok [INFO] [stdout] test commands::list::tests::status_indicator_unscoped_no_warning ... ok [INFO] [stdout] test commands::list::tests::status_indicator_open ... ok [INFO] [stdout] test commands::logs::tests::find_latest_log_returns_none_for_unknown ... ok [INFO] [stdout] test commands::list::tests::render_tree_hierarchy ... ok [INFO] [stdout] test commands::list::tests::not_blocked_when_no_dependencies ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_empty ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_matches_unit_id ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_pi_sets_run_and_plan ... ok [INFO] [stdout] test commands::logs::tests::log_dir_creates_directory ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_json_output ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_shows_claimed_units ... ok [INFO] [stdout] test commands::move_units::tests::move_fails_for_same_directory ... ok [INFO] [stdout] commit f5e4fdca6c97e02959122898e4a0de766669f12c [INFO] [stdout] Author: Test [INFO] [stdout] Date: Fri Apr 24 19:19:40 2026 +0000 [INFO] [stdout] [INFO] [stdout] feat(unit-3): Add login [INFO] [stdout] [INFO] [stdout] .mana/3-test.md | 8 ++++++++ [INFO] [stdout] login.rs | 1 + [INFO] [stdout] 2 files changed, 9 insertions(+) [INFO] [stdout] test commands::memory_context::tests::memory_context_shows_stale_facts ... ok [INFO] [stdout] test commands::move_units::tests::move_fails_for_missing_unit ... ok [INFO] [stdout] test commands::move_units::tests::move_from_with_project_dir_path ... ok [INFO] [stdout] test commands::move_units::tests::move_to_fails_for_invalid_dest ... ok [INFO] [stdout] test commands::move_units::tests::move_from_with_mana_dir_path ... ok [INFO] [stdout] test commands::move_units::tests::move_clears_parent_and_deps ... ok [INFO] [stdout] test commands::move_units::tests::resolve_fails_for_no_units ... ok [INFO] [stdout] test commands::move_units::tests::move_updates_destination_config_next_id ... ok [INFO] [stdout] test commands::move_units::tests::resolve_with_project_dir ... ok [INFO] [stdout] test commands::move_units::tests::move_rebuilds_both_indices ... ok [INFO] [stdout] test commands::next::tests::direct_unblocks_returns_correct_ids ... ok [INFO] [stdout] test commands::next::tests::higher_priority_scores_higher ... ok [INFO] [stdout] test commands::next::tests::more_attempts_scores_lower ... ok [INFO] [stdout] test commands::next::tests::more_unblocks_scores_higher ... ok [INFO] [stdout] test commands::next::tests::older_unit_scores_higher ... ok [INFO] [stdout] test commands::move_units::tests::resolve_with_mana_dir ... ok [INFO] [stdout] test commands::next::tests::transitive_unblock_count ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_includes_decomposition_rules ... ok [INFO] [stdout] test commands::diff::tests::find_commits_for_unit_finds_matching_commits ... ok [INFO] [stdout] test commands::move_units::tests::move_to_with_project_dir_path ... ok [INFO] [stdout] test commands::move_units::tests::move_preserves_unit_content ... ok [INFO] [stdout] test commands::move_units::tests::move_multiple_units ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_includes_produces_requires ... ok [INFO] [stdout] test commands::plan::tests::builtin_research_command_includes_model_when_set ... ok [INFO] [stdout] test commands::plan::tests::builtin_plan_command_includes_model_when_set ... ok [INFO] [stdout] test commands::diff::tests::cmd_diff_with_tagged_commit_succeeds ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_with_strategy ... ok [INFO] [stdout] test commands::plan::tests::plan_builtin_dry_run_shows_prompt ... ok [INFO] [stdout] test commands::plan::tests::plan_help_contains_plan ... ok [INFO] [stdout] test commands::plan::tests::plan_template_prefers_unit_model_override ... ok [INFO] [stdout] test commands::plan::tests::plan_template_substitutes_model_and_strategy ... ok [INFO] [stdout] test commands::plan::tests::research_template_command_replaces_parent_id_and_model ... ok [INFO] [stdout] test commands::plan::tests::research_template_without_model_keeps_placeholder ... ok [INFO] [stdout] test commands::plan::tests::plan_force_overrides_size_check ... ok [INFO] [stdout] test commands::plan::tests::shell_escape_simple ... ok [INFO] [stdout] test commands::plan::tests::shell_escape_with_quotes ... ok [INFO] [stdout] test commands::plan::tests::plan_research_dry_run_shows_prompt ... ok [INFO] [stdout] test commands::move_units::tests::move_to_pushes_units ... ok [INFO] [stdout] test commands::plan::tests::plan_no_template_without_auto_errors ... ok [INFO] [stdout] test commands::quick::tests::default_rejects_passing_verify ... ok [INFO] [stdout] test commands::quick::tests::default_accepts_failing_verify ... ok [INFO] [stdout] test commands::move_units::tests::move_single_unit ... ok [INFO] [stdout] test commands::plan::tests::plan_research_falls_back_to_plan_template ... ok [INFO] [stdout] test commands::quick::tests::lint::quick_verify_lint_rejects_errors_without_force ... ok [INFO] [stdout] test commands::quick::tests::quick_rejects_missing_validation_criteria ... ok [INFO] [stdout] test commands::quick::tests::no_verify_skips_fail_first_check ... ok [INFO] [stdout] test commands::plan::tests::plan_small_unit_suggests_run ... ok [INFO] [stdout] diff --git a/.mana/7-test.md b/.mana/7-test.md [INFO] [stdout] new file mode 100644 [INFO] [stdout] index 0000000..806cd22 [INFO] [stdout] --- /dev/null [INFO] [stdout] +++ b/.mana/7-test.md [INFO] [stdout] @@ -0,0 +1,9 @@ [INFO] [stdout] +--- [INFO] [stdout] +id: '7' [INFO] [stdout] +title: Refactor auth [INFO] [stdout] +status: open [INFO] [stdout] +priority: 2 [INFO] [stdout] +created_at: '2026-04-24T19:19:40.046058122Z' [INFO] [stdout] +updated_at: '2026-04-24T19:19:40.046058122Z' [INFO] [stdout] +checkpoint: d9be25a77abdcc0ef0485c36b5b97689a239b66b [INFO] [stdout] +--- [INFO] [stdout] diff --git a/auth.rs b/auth.rs [INFO] [stdout] new file mode 100644 [INFO] [stdout] index 0000000..9a054a0 [INFO] [stdout] --- /dev/null [INFO] [stdout] +++ b/auth.rs [INFO] [stdout] @@ -0,0 +1 @@ [INFO] [stdout] +fn auth() {} [INFO] [stdout] \ No newline at end of file [INFO] [stdout] test commands::recall::tests::score_match_close_reason ... ok [INFO] [stdout] test commands::plan::tests::plan_dry_run_does_not_spawn ... ok [INFO] [stdout] test commands::recall::tests::score_match_description ... ok [INFO] [stdout] test commands::recall::tests::score_match_notes ... ok [INFO] [stdout] test commands::recall::tests::score_match_paths ... ok [INFO] [stdout] test commands::recall::tests::score_match_title ... ok [INFO] [stdout] test commands::recall::tests::title_scores_higher_than_description ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_nonexistent_unit ... ok [INFO] [stdout] test commands::quick::tests::lint::quick_verify_lint_allows_errors_with_force ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_open_unit ... ok [INFO] [stdout] test commands::diff::tests::cmd_diff_with_checkpoint_succeeds ... ok [INFO] [stdout] test commands::quick::tests::quick_with_all_fields ... ok [INFO] [stdout] test commands::quick::tests::quick_updates_index ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_closed_unit ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_rebuilds_index ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_approve_adds_reviewed_label ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_updates_updated_at ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_request_changes_injects_notes ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_request_changes_reopens_unit ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_approve ... ok [INFO] [stdout] test commands::review::tests::max_reopens_check_prevents_infinite_loops ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_defaults_to_approve_when_no_keyword ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_flag_captures_notes ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_request_changes_captures_notes ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_request_changes_takes_priority_over_approve ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_flag_adds_needs_human_review_label ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_flag_injects_notes ... ok [INFO] [stdout] test commands::run::memory::tests::allows_when_enough_memory ... ok [INFO] [stdout] test commands::run::memory::tests::blocks_when_memory_low ... ok [INFO] [stdout] test commands::run::memory::tests::disabled_when_reserve_is_zero ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_appends_to_existing_notes ... ok [INFO] [stdout] test commands::run::memory::tests::allows_when_unavailable ... ok [INFO] [stdout] test commands::run::memory::tests::available_memory_returns_something ... ok [INFO] [stdout] test commands::run::plan::tests::oversized_unit_dispatched_with_warning ... ok [INFO] [stdout] test commands::run::plan::tests::dry_run_simulate_respects_produces_requires ... ok [INFO] [stdout] test commands::run::plan::tests::dry_run_simulate_shows_all_waves ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_no_ready_units ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_approve_case_insensitive ... ok [INFO] [stdout] test commands::quick::tests::quick_creates_and_claims_unit ... ok [INFO] [stdout] test commands::plan::tests::plan_research_creates_parent_unit ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_approve_removes_review_failed_label ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_file_conflict_in_wave ... ok [INFO] [stdout] test commands::quick::tests::quick_works_without_by ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_returns_ready_units ... ok [INFO] [stdout] test commands::quick::tests::pass_ok_skips_fail_first_check ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_includes_unit_model_override ... ok [INFO] [stdout] test commands::quick::tests::quick_increments_id ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_filters_by_id ... ok [INFO] [stdout] test commands::run::plan::tests::print_plan_shows_critical_path ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_mixed_active_and_archived_deps ... ok [INFO] [stdout] test commands::run::plan::tests::print_plan_shows_effective_concurrency ... ok [INFO] [stdout] test commands::run::plan::tests::unscoped_unit_dispatched_normally ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_with_missing_dep ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_with_requires_and_archived_producer ... ok [INFO] [stdout] test commands::run::ready_queue::tests::critical_path_unit_scheduled_first ... ok [INFO] [stdout] test commands::run::ready_queue::tests::direct_pi_command_includes_model_flag ... ok [INFO] [stdout] test commands::run::ready_queue::tests::direct_pi_command_omits_model_flag_when_unset ... ok [INFO] [stdout] test commands::run::ready_queue::tests::file_conflict_detected ... ok [INFO] [stdout] test commands::run::ready_queue::tests::file_conflict_empty_paths ... ok [INFO] [stdout] test commands::run::plan::tests::print_plan_shows_file_conflicts ... ok [INFO] [stdout] test commands::run::ready_queue::tests::file_conflict_multiple_running ... ok [INFO] [stdout] test commands::run::ready_queue::tests::file_conflict_no_overlap ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_with_archived_dep ... ok [INFO] [stdout] test commands::run::ready_queue::tests::build_prompt_returns_err_for_missing_unit ... ok [INFO] [stdout] test commands::run::plan::tests::print_plan_no_conflicts_shows_full_concurrency ... ok [INFO] [stdout] test commands::run::plan::tests::well_scoped_unit_dispatched ... ok [INFO] [stdout] test commands::run::ready_queue::tests::file_conflict_partial_overlap ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_diamond_both_deps_needed ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_explicit_dep_not_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_dep_outside_set_treated_as_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_no_deps ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_explicit_dep_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_requires_not_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_unit_ready_requires_met ... ok [INFO] [stdout] test commands::run::tests::agent_result_tracks_tokens_and_cost ... ok [INFO] [stdout] test commands::run::tests::child_pid_tracking ... ok [INFO] [stdout] test commands::run::ready_queue::tests::ready_queue_starts_independent_units_immediately ... ok [INFO] [stdout] test commands::run::tests::determine_spawn_mode_direct_when_no_run ... ok [INFO] [stdout] test commands::run::tests::determine_spawn_mode_template_when_run_set ... ok [INFO] [stdout] test commands::run::tests::collect_decision_warnings_only_returns_dispatch_units_with_decisions ... ok [INFO] [stdout] test commands::run::tests::format_decision_warning_message_matches_single_unit_prompt ... ok [INFO] [stdout] test commands::run::tests::dry_run_with_json_stream ... ok [INFO] [stdout] test commands::run::tests::signal_flag_can_be_toggled ... ok [INFO] [stdout] test commands::run::tests::dry_run_does_not_spawn ... ok [INFO] [stdout] test commands::run::tests::signal_flag_defaults_to_false ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_no_deps ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_sorts_by_downstream_weight ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_weight_sorting_preserves_priority ... ok [INFO] [stdout] test commands::run::wave::tests::critical_path_independent_units ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_diamond ... ok [INFO] [stdout] test commands::run::wave::tests::critical_path_linear_chain ... ok [INFO] [stdout] test commands::run::wave::tests::critical_path_picks_heaviest_branch ... ok [INFO] [stdout] test commands::run::wave::tests::critical_path_single_unit ... ok [INFO] [stdout] test commands::run::wave::tests::downstream_weights_diamond ... ok [INFO] [stdout] test commands::run::wave::tests::downstream_weights_independent ... ok [INFO] [stdout] test commands::run::wave::tests::downstream_weights_linear_chain ... ok [INFO] [stdout] test commands::run::wave::tests::downstream_weights_single_unit ... ok [INFO] [stdout] test commands::run::wave::tests::downstream_weights_wide_fan ... ok [INFO] [stdout] test commands::run::wave::tests::effective_parallelism_all_conflict ... ok [INFO] [stdout] test commands::run::wave::tests::effective_parallelism_empty_input ... ok [INFO] [stdout] test commands::run::wave::tests::effective_parallelism_empty_paths_no_conflict ... ok [INFO] [stdout] test commands::run::wave::tests::effective_parallelism_with_conflict ... ok [INFO] [stdout] test commands::run::wave::tests::effective_parallelism_no_conflicts ... ok [INFO] [stdout] test commands::run::wave::tests::file_conflicts_empty_when_no_overlap ... ok [INFO] [stdout] test commands::run::wave::tests::file_conflicts_detected ... ok [INFO] [stdout] test commands::run::wave::tests::file_conflicts_multiple_files ... ok [INFO] [stdout] 1 [INFO] [stdout] test commands::run::tests::format_duration_formats_correctly ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_linear_chain ... ok [INFO] [stdout] test commands::run::tests::cmd_run_errors_when_no_run_template_and_no_pi ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_parent_id_gets_children ... ok [INFO] [stdout] test commands::show::tests::history_displays_formatted_table ... ok [INFO] [stdout] test commands::show::tests::history_format_cost ... ok [INFO] [stdout] test commands::show::tests::history_format_duration_hours ... ok [INFO] [stdout] test commands::show::tests::history_format_duration_minutes ... ok [INFO] [stdout] test commands::show::tests::history_format_duration_seconds ... ok [INFO] [stdout] test commands::show::tests::history_format_tokens_small ... ok [INFO] [stdout] test commands::show::tests::format_short_test ... ok [INFO] [stdout] test commands::show::tests::history_format_tokens_thousands ... ok [INFO] [stdout] test commands::show::tests::history_handles_missing_optional_fields ... ok [INFO] [stdout] test commands::show::tests::history_not_shown_when_empty ... ok [INFO] [stdout] test commands::run::wave::tests::critical_path_diamond ... ok [INFO] [stdout] test commands::show::tests::history_totals_sum_correctly ... ok [INFO] [stdout] test commands::show::tests::history_truncate_agent_long ... ok [INFO] [stdout] 1 [INFO] [stdout] test commands::show::tests::history_limits_entries_default ... ok [INFO] [stdout] test commands::run::ready_queue::tests::build_prompt_includes_rules ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_with_active_open_dep ... ok [INFO] [stdout] test commands::run::ready_queue::tests::all_deps_closed_with_active_closed_dep ... ok [INFO] [stdout] test commands::show::tests::history_show_all_flag ... ok [INFO] [stdout] test commands::show::tests::history_truncate_agent_short ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_parent_when_set ... ok [INFO] [stdout] test commands::show::tests::outputs_shows_pretty_printed_json ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_dependencies ... ok [INFO] [stdout] test commands::show::tests::outputs_not_shown_when_none ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_id_and_status ... ok [INFO] [stdout] test commands::show::tests::outputs_long_truncated_at_50_lines ... ok [INFO] [stdout] test commands::show::tests::history_cmd_show_with_history ... ok [INFO] [stdout] test commands::show::tests::show_json ... ok [INFO] [stdout] test commands::show::tests::show_not_found ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_sorts_wave_by_downstream_weight ... ok [INFO] [stdout] test commands::show::tests::show_short ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_most_expensive_and_retried ... ok [INFO] [stdout] test commands::show::tests::show_works_with_hierarchical_ids ... ok [INFO] [stdout] test commands::show::tests::show_renders_beautifully_default ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_with_history ... ok [INFO] [stdout] test commands::stats::tests::empty_project ... ok [INFO] [stdout] test commands::show::tests::render_unit_with_description ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_no_history ... ok [INFO] [stdout] test commands::sync::tests::sync_does_not_create_archive_yaml_when_no_archive ... ok [INFO] [stdout] test commands::stats::tests::stats_calculates_counts ... ok [INFO] [stdout] test commands::sync::tests::sync_empty_project ... ok [INFO] [stdout] test commands::sync::tests::sync_rebuilds_archive_yaml ... ok [INFO] [stdout] test commands::tidy::tests::tidy_dry_run_does_not_create_archive_yaml ... ok [INFO] [stdout] test commands::sync::tests::sync_rebuilds_index ... ok [INFO] [stdout] test commands::tidy::tests::tidy_empty_project ... ok [INFO] [stdout] test commands::tidy::tests::tidy_dry_run_does_not_move_files ... ok [INFO] [stdout] test commands::sync::tests::sync_counts_units ... ok [INFO] [stdout] test commands::tidy::tests::tidy_archives_closed_units ... ok [INFO] [stdout] test commands::tidy::tests::tidy_dry_run_does_not_release_stale_units ... ok [INFO] [stdout] test commands::tidy::tests::tidy_handles_mix_of_open_closed_and_in_progress ... ok [INFO] [stdout] test commands::stats::tests::stats_command_json ... ok [INFO] [stdout] test commands::tidy::tests::tidy_idempotent ... ok [INFO] [stdout] test commands::stats::tests::stats_command_works ... ok [INFO] [stdout] test commands::tidy::tests::tidy_leaves_open_units_alone ... ok [INFO] [stdout] test commands::tidy::tests::tidy_archives_parent_when_all_children_closed ... ok [INFO] [stdout] test commands::tidy::tests::tidy_skips_closed_parent_with_open_children ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_in_progress_with_claimed_by ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_in_progress_unit_without_claimed_at ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_stale_in_progress_units ... ok [INFO] [stdout] test commands::tidy::tests::tidy_skips_in_progress_when_agents_running ... ok [INFO] [stdout] test commands::tidy::tests::tidy_handles_mix_of_stale_and_closed ... ok [INFO] [stdout] test commands::tidy::tests::tidy_rebuilds_index ... ok [INFO] [stdout] test commands::tidy::tests::tidy_updates_archive_yaml ... ok [INFO] [stdout] test commands::trace::tests::test_trace_no_parent_no_deps ... ok [INFO] [stdout] test commands::tree::tests::status_indicators ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_check_reports_disabled ... ok [INFO] [stdout] test commands::trace::tests::test_trace_json_output ... ok [INFO] [stdout] test commands::trace::tests::test_trace_with_parent_and_deps ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_enables_hooks ... ok [INFO] [stdout] test commands::tree::tests::full_tree_displays ... ok [INFO] [stdout] test commands::tidy::tests::tidy_uses_closed_at_for_archive_date ... ok [INFO] [stdout] test commands::trace::tests::test_trace_not_found ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_check_reports_enabled ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_revoke_with_check ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_revoke_disables_hooks ... ok [INFO] [stdout] test commands::tree::tests::subtree_works ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_already_in_main_dir ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_basic ... ok [INFO] [stdout] test commands::tree::tests::subtree_not_found ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_nested_year_month_structure ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_not_marked_archived ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_preserves_slug ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_preserves_unit_data ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_nonexistent_unit ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_removes_from_archive_yaml ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_updates_index ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_updates_updated_at ... ok [INFO] [stdout] test commands::update::tests::test_update_multiple_fields ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_skipped_when_not_trusted ... ok [INFO] [stdout] test commands::update::tests::test_update_add_label ... ok [INFO] [stdout] test commands::update::tests::test_update_notes_appends ... ok [INFO] [stdout] test commands::update::tests::test_update_nonexistent_unit ... ok [INFO] [stdout] test commands::update::tests::test_update_notes_creates_with_timestamp ... ok [INFO] [stdout] test commands::update::tests::test_update_rejects_priority_too_high ... ok [INFO] [stdout] test commands::update::tests::test_update_remove_label ... ok [INFO] [stdout] test commands::update::tests::test_update_rebuilds_index ... ok [INFO] [stdout] test commands::update::tests::test_update_status ... ok [INFO] [stdout] test commands::update::tests::test_update_title ... ok [INFO] [stdout] test output::tests::output_default_is_not_quiet ... ok [INFO] [stdout] test output::tests::output_new_is_not_quiet ... ok [INFO] [stdout] test output::tests::output_with_quiet_false ... ok [INFO] [stdout] test output::tests::output_with_quiet_true ... ok [INFO] [stdout] test pi_output::tests::pi_output_empty_object_returns_none ... ok [INFO] [stdout] test commands::update::tests::test_update_accepts_valid_priorities ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_no_file ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_with_file ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_edit_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_missing_path_field ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_read_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_unknown_tool ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_write_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_finished ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_with_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_finished_missing_fields ... ok [INFO] [stdout] test pi_output::tests::pi_output_text_delta ... ok [INFO] [stdout] test pi_output::tests::pi_output_token_update ... ok [INFO] [stdout] test pi_output::tests::pi_output_token_update_zero_tokens_ignored ... ok [INFO] [stdout] test pi_output::tests::pi_output_tool_result ... ok [INFO] [stdout] test pi_output::tests::pi_output_toolcall_end ... ok [INFO] [stdout] test pi_output::tests::pi_output_thinking_delta ... ok [INFO] [stdout] test pi_output::tests::pi_output_unknown_event_returns_none ... ok [INFO] [stdout] test pi_output::tests::pi_output_toolcall_start ... ok [INFO] [stdout] test commands::update::tests::test_update_priority ... ok [INFO] [stdout] test project::tests::detect_python_project_pyproject ... ok [INFO] [stdout] test project::tests::detect_go_project ... ok [INFO] [stdout] test project::tests::detect_python_project_requirements ... ok [INFO] [stdout] test project::tests::detect_node_project ... ok [INFO] [stdout] test project::tests::detect_ruby_project ... ok [INFO] [stdout] test project::tests::detect_unknown_project ... ok [INFO] [stdout] test project::tests::rust_verify_suggestions ... ok [INFO] [stdout] test project::tests::suggest_verify_returns_command ... ok [INFO] [stdout] test project::tests::node_verify_suggestions ... ok [INFO] [stdout] test project::tests::unknown_has_no_suggestions ... ok [INFO] [stdout] test spawner::tests::agent_action_display ... ok [INFO] [stdout] test spawner::tests::build_log_path_simple_id ... ok [INFO] [stdout] test spawner::tests::build_log_path_uses_safe_id ... ok [INFO] [stdout] test spawner::tests::can_spawn_respects_max_concurrent ... ok [INFO] [stdout] test spawner::tests::can_spawn_false_when_full ... ok [INFO] [stdout] test commands::update::tests::test_post_update_hook_runs_after_successful_update ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_allows_update_when_passes ... ok [INFO] [stdout] test spawner::tests::check_completed_on_empty_spawner ... ok [INFO] [stdout] test spawner::tests::default_creates_empty_spawner ... ok [INFO] [stdout] test spawner::tests::find_all_logs_empty_for_unknown ... ok [INFO] [stdout] test spawner::tests::find_latest_log_returns_none_for_unknown ... ok [INFO] [stdout] test spawner::tests::log_dir_creates_directory ... ok [INFO] [stdout] test spawner::tests::spawn_errors_without_plan_template ... ok [INFO] [stdout] test spawner::tests::kill_all_clears_running ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_rejects_update_when_fails ... ok [INFO] [stdout] test spawner::tests::spawner_starts_empty ... ok [INFO] [stdout] test spawner::tests::template_substitution_multiple_placeholders ... ok [INFO] [stdout] test spawner::tests::spawn_errors_without_run_template ... ok [INFO] [stdout] test spawner::tests::template_substitution_replaces_id ... ok [INFO] [stdout] test spawner::tests::template_with_model_no_model_placeholder ... ok [INFO] [stdout] test spawner::tests::template_substitution_no_placeholder ... ok [INFO] [stdout] test spawner::tests::template_with_model_none_leaves_placeholder ... ok [INFO] [stdout] test spawner::tests::template_with_model_substitution ... ok [INFO] [stdout] test commands::update::tests::test_post_update_hook_failure_does_not_prevent_update ... ok [INFO] [stdout] test stream::tests::stream_dry_run_with_round_plans ... ok [INFO] [stdout] test stream::tests::stream_emit_error_convenience ... ok [INFO] [stdout] test stream::tests::stream_emit_writes_json_line ... ok [INFO] [stdout] test stream::tests::stream_event_serializes_with_type_tag ... ok [INFO] [stdout] test stream::tests::stream_file_overlap_info_serializes ... ok [INFO] [stdout] test stream::tests::stream_unit_done_serializes_optional_fields ... ok [INFO] [stdout] test stream::tests::stream_unit_done_with_enriched_fields ... ok [INFO] [stdout] test stream::tests::stream_run_plan_serializes ... ok [INFO] [stdout] test stream::tests::stream_unit_ready_serializes ... ok [INFO] [stdout] test stream::tests::stream_unit_start_omits_none_fields ... ok [INFO] [stdout] test stream::tests::stream_unit_start_with_enriched_fields ... ok [INFO] [stdout] test timeout::tests::timeout_completed_fast_process ... ok [INFO] [stdout] test stream::tests::stream_error_event ... ok [INFO] [stdout] test timeout::tests::timeout_zero_timeouts_means_no_limit ... ok [INFO] [stdout] test timeout::tests::timeout_callback_receives_all_lines ... ok [INFO] [stdout] test commands::update::tests::test_update_with_multiple_fields_triggers_hooks ... ok [INFO] [stdout] test spawner::tests::check_completed_detects_failed_process ... ok [INFO] [stdout] test spawner::tests::check_completed_detects_finished_process ... ok [INFO] [stdout] test project::tests::detect_rust_project ... ok [INFO] [stdout] test timeout::tests::timeout_total_timeout_kills_process ... ok [INFO] [stdout] test timeout::tests::timeout_idle_timeout_kills_slow_writer ... ok [INFO] [stdout] test commands::run::wave::tests::template_wave_execution_with_echo ... ok [INFO] [stdout] test commands::run::wave::tests::template_wave_failed_command ... ok [INFO] [stdout] test commands::run::wave::tests::template_wave_runs_implement_action ... ok [INFO] [stdout] test commands::close::tests::test_close_batch_partial_rejection_by_hook ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_appends_to_notes has been running for over 60 seconds [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_config_level_applies_when_unit_has_none has been running for over 60 seconds [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_kills_slow_process_and_records_timeout has been running for over 60 seconds [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_unit_level_overrides_config has been running for over 60 seconds [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_appends_to_notes ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_kills_slow_process_and_records_timeout ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_unit_level_overrides_config ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_config_level_applies_when_unit_has_none ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- commands::create::tests::pre_create_hook_accepts_unit_creation stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'commands::create::tests::pre_create_hook_accepts_unit_creation' (514) panicked at src/commands/create/tests.rs:567:5: [INFO] [stdout] Creation should succeed with accepting pre-create hook [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5dde4d2206da - 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: 0x5dde4d2206da - 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: 0x5dde4d2206da - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5dde4d2206da - <::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5dde4d2387ba - ::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5dde4d2387ba - core[c1f1a4ba060b9bfa]::fmt::write [INFO] [stdout] 6: 0x5dde4d225d02 - std[e28293b1aa0f68bd]::io::default_write_fmt::> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5dde4d225d02 - as std[e28293b1aa0f68bd]::io::Write>::write_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x5dde4d1fa9ef - ::print [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5dde4d1fa9ef - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5dde4d2166f9 - std[e28293b1aa0f68bd]::panicking::default_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x5dde4cbac25c - 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: 0x5dde4cbac25c - test[273d7611820c9051]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5dde4d216972 - 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: 0x5dde4d216972 - std[e28293b1aa0f68bd]::panicking::panic_with_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5dde4d1faada - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x5dde4d1f1a19 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5dde4d1fbc3d - __rustc[b7974e8690430dd9]::rust_begin_unwind [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5dde4d23911c - core[c1f1a4ba060b9bfa]::panicking::panic_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5dde4caf126b - mana::commands::create::tests::pre_create_hook_accepts_unit_creation::hfbc5859fe3261d22 [INFO] [stdout] at /opt/rustwide/workdir/src/commands/create/tests.rs:567:5 [INFO] [stdout] 20: 0x5dde4caf1527 - mana::commands::create::tests::pre_create_hook_accepts_unit_creation::{{closure}}::hf6d709ec67d899d7 [INFO] [stdout] at /opt/rustwide/workdir/src/commands/create/tests.rs:524:43 [INFO] [stdout] 21: 0x5dde4c939e16 - core::ops::function::FnOnce::call_once::h0ebfd0f3aae803d1 [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5dde4cba033b - 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: 0x5dde4cba033b - 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: 0x5dde4cbacd2b - test[273d7611820c9051]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5dde4cbacd2b - 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: 0x5dde4cbacd2b - 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: 0x5dde4cbacd2b - 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: 0x5dde4cbacd2b - 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: 0x5dde4cbacd2b - test[273d7611820c9051]::run_test_in_process [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5dde4cbacd2b - test[273d7611820c9051]::run_test::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5dde4cba8444 - test[273d7611820c9051]::run_test::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5dde4cba8444 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x5dde4cbaf932 - 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: 0x5dde4cbaf932 - ::{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: 0x5dde4cbaf932 - 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: 0x5dde4cbaf932 - 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: 0x5dde4cbaf932 - std[e28293b1aa0f68bd]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5dde4cbaf932 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 39: 0x5dde4cbaf932 - ::{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: 0x5dde4d21f70f - + 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: 0x5dde4d21f70f - ::new::thread_start [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 42: 0x7cdff8ca6aa4 - [INFO] [stdout] 43: 0x7cdff8d33a64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] commands::create::tests::pre_create_hook_accepts_unit_creation [INFO] [stdout] [INFO] [stdout] test result: FAILED. 670 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.66s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "7ba5d5b77b8054ccc4560828c74ebe6f53ba83e4382049ab38d7e6628c9a4cd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ba5d5b77b8054ccc4560828c74ebe6f53ba83e4382049ab38d7e6628c9a4cd6", kill_on_drop: false }` [INFO] [stdout] 7ba5d5b77b8054ccc4560828c74ebe6f53ba83e4382049ab38d7e6628c9a4cd6