[INFO] fetching crate beans-cli 0.2.0... [INFO] testing beans-cli-0.2.0 against try#8da20828b6ea601dfd8e2448cb50ace88876bd78 for pr-150933 [INFO] extracting crate beans-cli 0.2.0 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate beans-cli 0.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate beans-cli 0.2.0 [INFO] tweaked toml for crates.io crate beans-cli 0.2.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate beans-cli 0.2.0 on toolchain 8da20828b6ea601dfd8e2448cb50ace88876bd78 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate beans-cli 0.2.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" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5ff51901353c4cb3fd5da2ee3520809316b3e8f106af2f0fb1021865bda483e [INFO] running `Command { std: "docker" "start" "-a" "f5ff51901353c4cb3fd5da2ee3520809316b3e8f106af2f0fb1021865bda483e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5ff51901353c4cb3fd5da2ee3520809316b3e8f106af2f0fb1021865bda483e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5ff51901353c4cb3fd5da2ee3520809316b3e8f106af2f0fb1021865bda483e", kill_on_drop: false }` [INFO] [stdout] f5ff51901353c4cb3fd5da2ee3520809316b3e8f106af2f0fb1021865bda483e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b53f93257d9e01845d2de7b00defa709e24f48ad0e03de9bdd2bed8949ae853 [INFO] running `Command { std: "docker" "start" "-a" "9b53f93257d9e01845d2de7b00defa709e24f48ad0e03de9bdd2bed8949ae853", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling serde_yml v0.0.12 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling minimad v0.13.1 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling shell-escape v0.1.5 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling libyml v0.0.5 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling crossterm v0.23.2 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling coolor v0.5.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling dialoguer v0.11.0 [INFO] [stderr] Compiling lazy-regex-proc_macros v3.6.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling clap_complete v4.5.66 [INFO] [stderr] Compiling lazy-regex v3.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling termimad v0.24.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling beans-cli v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.69s [INFO] running `Command { std: "docker" "inspect" "9b53f93257d9e01845d2de7b00defa709e24f48ad0e03de9bdd2bed8949ae853", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b53f93257d9e01845d2de7b00defa709e24f48ad0e03de9bdd2bed8949ae853", kill_on_drop: false }` [INFO] [stdout] 9b53f93257d9e01845d2de7b00defa709e24f48ad0e03de9bdd2bed8949ae853 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] da604b54a2d53d3c8fccab7ba99b0a2f94954d5466cd33654d3130bd07caa6b9 [INFO] running `Command { std: "docker" "start" "-a" "da604b54a2d53d3c8fccab7ba99b0a2f94954d5466cd33654d3130bd07caa6b9", kill_on_drop: false }` [INFO] [stderr] Compiling beans-cli v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 15.97s [INFO] running `Command { std: "docker" "inspect" "da604b54a2d53d3c8fccab7ba99b0a2f94954d5466cd33654d3130bd07caa6b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da604b54a2d53d3c8fccab7ba99b0a2f94954d5466cd33654d3130bd07caa6b9", kill_on_drop: false }` [INFO] [stdout] da604b54a2d53d3c8fccab7ba99b0a2f94954d5466cd33654d3130bd07caa6b9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f7ac6064ce205bc7ae156b8de29480c38abd041784118e396eae363406992d0c [INFO] running `Command { std: "docker" "start" "-a" "f7ac6064ce205bc7ae156b8de29480c38abd041784118e396eae363406992d0c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bn-bc39b80f55ebbe86) [INFO] [stdout] [INFO] [stdout] running 887 tests [INFO] [stdout] test bean::tests::defaults_are_correct ... ok [INFO] [stdout] test bean::tests::deserialize_with_missing_optional_fields ... ok [INFO] [stdout] test bean::tests::history_empty_not_serialized ... ok [INFO] [stdout] test bean::tests::history_deserialized_from_yaml ... ok [INFO] [stdout] test bean::tests::history_with_cancelled_result ... ok [INFO] [stdout] test bean::tests::max_loops_effective_returns_bean_value_when_set ... ok [INFO] [stdout] test bean::tests::max_loops_effective_returns_config_value_when_none ... ok [INFO] [stdout] test bean::tests::history_round_trip_yaml ... ok [INFO] [stdout] test bean::tests::max_loops_defaults_to_none ... ok [INFO] [stdout] test bean::tests::max_loops_overrides_config_when_set ... ok [INFO] [stdout] test bean::tests::max_loops_zero_means_unlimited ... ok [INFO] [stdout] test bean::tests::on_close_empty_vec_not_serialized ... ok [INFO] [stdout] test bean::tests::on_close_round_trip_notify_action ... ok [INFO] [stdout] test bean::tests::on_fail_deserialized_from_yaml ... ok [INFO] [stdout] test bean::tests::on_fail_escalate_minimal_round_trip ... ok [INFO] [stdout] test bean::tests::on_fail_none_not_serialized ... ok [INFO] [stdout] test bean::tests::on_close_deserialized_from_yaml ... ok [INFO] [stdout] test bean::tests::on_fail_escalate_deserialized_from_yaml ... ok [INFO] [stdout] test bean::tests::on_close_round_trip_run_action ... ok [INFO] [stdout] test bean::tests::on_close_round_trip_multiple_actions ... ok [INFO] [stdout] test bean::tests::on_fail_escalate_round_trip ... ok [INFO] [stdout] test bean::tests::on_fail_retry_round_trip ... ok [INFO] [stdout] test bean::tests::outputs_deserialized_from_yaml ... ok [INFO] [stdout] test bean::tests::on_fail_retry_minimal_round_trip ... ok [INFO] [stdout] test bean::tests::file_round_trip ... ok [INFO] [stdout] test bean::tests::outputs_none_not_serialized ... ok [INFO] [stdout] test bean::tests::run_record_minimal_round_trip ... ok [INFO] [stdout] test bean::tests::outputs_round_trip_array ... ok [INFO] [stdout] test bean::tests::test_fallback_to_yaml_parsing ... ok [INFO] [stdout] test bean::tests::status_serializes_as_lowercase ... ok [INFO] [stdout] test bean::tests::round_trip_minimal_bean ... ok [INFO] [stdout] test bean::tests::run_record_full_round_trip ... ok [INFO] [stdout] test bean::tests::outputs_round_trip_nested_object ... ok [INFO] [stdout] test bean::tests::test_hash_changes_with_content ... ok [INFO] [stdout] test bean::tests::optional_fields_omitted_when_none ... ok [INFO] [stdout] test bean::tests::test_hash_consistency ... ok [INFO] [stdout] test bean::tests::run_result_serializes_as_snake_case ... ok [INFO] [stdout] test bean::tests::test_file_round_trip_with_markdown ... ok [INFO] [stdout] test bean::tests::test_parse_md_description_does_not_override_yaml_description ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_empty_body ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_missing_closing_delimiter ... ok [INFO] [stdout] test bean::tests::test_from_file_with_hash ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_multiline_fields ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_preserves_metadata_fields ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_with_body_containing_dashes ... ok [INFO] [stdout] test bean::tests::round_trip_full_bean ... ok [INFO] [stdout] test bean::tests::outputs_round_trip_simple_values ... ok [INFO] [stdout] test bean::tests::test_parse_md_with_crlf_line_endings ... ok [INFO] [stdout] test bean::tests::test_parse_md_frontmatter_with_whitespace_in_body ... ok [INFO] [stdout] test bean::tests::validate_priority_accepts_valid_range ... ok [INFO] [stdout] test bean::tests::timestamps_serialize_as_iso8601 ... ok [INFO] [stdout] test bean::tests::validate_priority_rejects_out_of_range ... 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::adopt::tests::next_child_number_empty ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_false_for_overflowed_pid ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_true_for_current ... ok [INFO] [stdout] test commands::agents::tests::agent_entry_roundtrip ... 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::agents::tests::truncate_title_multibyte_utf8 ... ok [INFO] [stdout] test commands::agents::tests::truncate_title_short_string ... ok [INFO] [stdout] test commands::claim::tests::release_marks_attempt_abandoned ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_at_exact_limit_succeeds ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_exceeding_max_tokens_fails ... 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::adopt::tests::next_child_number_ignores_other_parents ... ok [INFO] [stdout] test commands::agents::tests::process_alive_returns_false_for_nonexistent ... ok [INFO] [stdout] test commands::claim::tests::multiple_claims_accumulate_attempts ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_under_max_tokens_succeeds ... ok [INFO] [stdout] test commands::claim::tests::test_claim_non_open_bean_fails ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_with_empty_verify_warns ... ok [INFO] [stdout] test commands::adopt::tests::next_child_number_with_existing ... ok [INFO] [stdout] test commands::adopt::tests::adopt_updates_dependencies ... ok [INFO] [stdout] test commands::agents::tests::load_agents_empty_file ... ok [INFO] [stdout] test commands::claim::tests::claim_starts_attempt ... ok [INFO] [stdout] test commands::agents::tests::agents_empty_persistence_shows_no_agents ... ok [INFO] [stdout] test commands::claim::tests::test_claim_nonexistent_bean_fails ... ok [INFO] [stdout] test commands::claim::tests::test_claim_open_bean ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_without_verify_succeeds_with_warning ... ok [INFO] [stdout] test commands::claim::tests::test_claim_closed_bean_fails ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_without_tokens_succeeds ... ok [INFO] [stdout] test commands::claim::tests::test_release_nonexistent_bean_fails ... ok [INFO] [stdout] test commands::adopt::tests::adopt_single_bean ... ok [INFO] [stdout] test commands::claim::tests::test_claim_bean_with_verify_succeeds ... ok [INFO] [stdout] test commands::claim::tests::test_release_claimed_bean ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_no_verify_skips_check ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_force_overrides ... ok [INFO] [stdout] test commands::claim::tests::test_release_rebuilds_index ... ok [INFO] [stdout] test commands::adopt::tests::adopt_with_existing_children ... ok [INFO] [stdout] test commands::claim::tests::test_claim_rebuilds_index ... ok [INFO] [stdout] test commands::adopt::tests::adopt_multiple_beans ... ok [INFO] [stdout] test commands::adopt::tests::adopt_rebuilds_index ... ok [INFO] [stdout] test commands::claim::tests::test_claim_without_by ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_passing_verify_rejected ... ok [INFO] [stdout] test commands::close::tests::history_failure_creates_run_record ... ok [INFO] [stdout] test commands::close::tests::max_loops_no_config_defaults_to_10 ... ok [INFO] [stdout] test commands::close::tests::max_loops_no_duplicate_label ... ok [INFO] [stdout] test commands::close::tests::history_success_creates_run_record ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_does_not_trigger_below_limit ... ok [INFO] [stdout] test commands::close::tests::history_failure_then_success_accumulates ... ok [INFO] [stdout] test commands::close::tests::max_loops_zero_disables_circuit_breaker ... ok [INFO] [stdout] test commands::close::tests::max_loops_standalone_bean_uses_own_max_loops ... ok [INFO] [stdout] test commands::close::tests::history_agent_from_env_var ... ok [INFO] [stdout] test commands::close::tests::on_close_run_action_executes_command ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_failing_verify_succeeds ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_skips_on_fail_retry ... ok [INFO] [stdout] test commands::close::tests::on_close_notify_action_prints_message ... ok [INFO] [stdout] test commands::close::tests::max_loops_per_bean_overrides_config ... ok [INFO] [stdout] test commands::close::tests::max_loops_circuit_breaker_triggers_at_limit ... ok [INFO] [stdout] test commands::close::tests::history_no_record_without_verify ... ok [INFO] [stdout] test commands::close::tests::max_loops_counts_across_siblings ... ok [INFO] [stdout] test commands::claim::tests::verify_on_claim_checkpoint_sha_stored ... ok [INFO] [stdout] test commands::close::tests::history_no_record_when_force_skip ... ok [INFO] [stdout] test commands::close::tests::on_close_runs_in_project_root ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_adds_label ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_appends_message_to_notes ... ok [INFO] [stdout] test commands::close::tests::on_close_run_failure_does_not_prevent_close ... ok [INFO] [stdout] test commands::close::tests::on_close_multiple_actions_all_run ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_keeps_claim_when_at_max ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_no_duplicate_label ... ok [INFO] [stdout] test commands::close::tests::on_close_run_skipped_without_trust ... ok [INFO] [stdout] test commands::close::tests::history_multiple_attempts_accumulate ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_with_delay_releases_claim ... ok [INFO] [stdout] test commands::close::tests::output_capture_json_stdout_stored_as_outputs ... ok [INFO] [stdout] test commands::close::tests::output_capture_json_array ... ok [INFO] [stdout] test commands::close::tests::history_records_exit_code ... ok [INFO] [stdout] test commands::close::tests::output_capture_empty_stdout_no_outputs ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_recursive_grandparent ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_with_no_parent ... ok [INFO] [stdout] test commands::close::tests::output_capture_non_json_stdout_stored_as_text ... ok [INFO] [stdout] test commands::close::tests::test_close_failed_marks_attempt_as_failed ... 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::on_fail_none_existing_behavior_unchanged ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_releases_claim_when_under_max ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_disabled_via_config ... ok [INFO] [stdout] test commands::close::tests::test_all_children_closed_checks_archived_beans ... ok [INFO] [stdout] test commands::close::tests::on_fail_escalate_updates_priority ... ok [INFO] [stdout] test commands::close::tests::output_capture_failure_unchanged ... ok [INFO] [stdout] test commands::close::tests::test_close_no_ids ... ok [INFO] [stdout] test commands::close::tests::test_close_nonexistent_bean ... ok [INFO] [stdout] test commands::close::tests::test_close_rebuilds_index ... ok [INFO] [stdout] test commands::close::tests::test_close_with_empty_verify_still_closes ... ok [INFO] [stdout] test commands::close::tests::test_close_single_bean ... 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_failing_verify_increments_attempts ... ok [INFO] [stdout] test commands::close::tests::output_capture_mixed_stdout_stderr ... ok [INFO] [stdout] test commands::close::tests::test_close_sets_updated_at ... ok [INFO] [stdout] test commands::close::tests::on_fail_retry_max_defaults_to_max_attempts ... ok [INFO] [stdout] test commands::close::tests::test_close_with_force_skips_verify ... ok [INFO] [stdout] test commands::close::tests::output_capture_stderr_not_captured_as_outputs ... ok [INFO] [stdout] test commands::close::tests::test_close_with_reason ... ok [INFO] [stdout] test commands::close::tests::test_close_with_passing_verify ... ok [INFO] [stdout] test commands::close::tests::test_close_failure_appends_to_notes ... ok [INFO] [stdout] test commands::close::tests::history_has_correct_duration ... ok [INFO] [stdout] test commands::close::tests::test_close_with_missing_hook_silently_succeeds ... ok [INFO] [stdout] test commands::close::tests::test_format_failure_note ... ok [INFO] [stdout] test commands::close::tests::test_close_with_whitespace_verify_still_closes ... ok [INFO] [stdout] test commands::close::tests::test_no_auto_close_when_children_still_open ... ok [INFO] [stdout] test commands::close::tests::test_truncate_output_exact_boundary ... ok [INFO] [stdout] test commands::close::tests::test_truncate_output_long ... ok [INFO] [stdout] test commands::close::tests::test_truncate_output_short ... ok [INFO] [stdout] test commands::close::tests::test_truncate_to_char_boundary_ascii ... 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_close_failure_creates_notes_if_none ... ok [INFO] [stdout] test commands::close::tests::test_close_multiple_beans ... ok [INFO] [stdout] test commands::close::tests::test_close_with_untrusted_hooks_silently_skips ... ok [INFO] [stdout] test commands::close::tests::test_close_with_pipe_propagates_exit_code ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_bean_wins_over_config ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_both_none ... ok [INFO] [stdout] test commands::close::tests::test_auto_close_parent_when_all_children_closed ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::effective_verify_timeout_config_fallback ... ok [INFO] [stdout] test commands::close::tests::test_close_without_verify_still_works ... ok [INFO] [stdout] test commands::close::tests::test_close_passes_reason_to_pre_close_hook ... ok [INFO] [stdout] test commands::close::tests::worktree_merge::test_close_in_main_worktree_skips_merge ... ok [INFO] [stdout] test commands::close::tests::test_close_with_passing_pre_close_hook ... ok [INFO] [stdout] test commands::config_cmd::tests::get_max_tokens_returns_value ... 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::config_cmd::tests::set_max_tokens_updates_config ... ok [INFO] [stdout] test commands::config_cmd::tests::set_max_tokens_with_invalid_value_returns_error ... 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::close::tests::test_close_with_failing_verify_multiple_attempts ... ok [INFO] [stdout] test commands::close::tests::test_post_close_hook_failure_does_not_prevent_close ... ok [INFO] [stdout] test commands::config_cmd::tests::set_unknown_key_returns_error ... ok [INFO] [stdout] test commands::config_cmd::tests::set_run_to_none_clears_it ... ok [INFO] [stdout] test commands::close::tests::test_post_close_hook_fires_after_successful_close ... ok [INFO] [stdout] test commands::context::tests::context_includes_attempt_notes_in_text_output ... ok [INFO] [stdout] test commands::context::tests::context_includes_attempt_notes_in_json_output ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_includes_attempt_log_notes ... ok [INFO] [stdout] test commands::context::tests::format_attempt_notes_includes_bean_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_no_paths_in_description ... 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::context_with_paths_in_description ... 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_empty ... ok [INFO] [stdout] test commands::context::tests::load_rules_returns_none_when_file_missing ... ok [INFO] [stdout] test commands::context::tests::load_rules_uses_custom_rules_file_path ... ok [INFO] [stdout] test commands::context::tests::context_bean_not_found ... ok [INFO] [stdout] test commands::create::tests::assign_child_id_finds_existing_children ... ok [INFO] [stdout] test commands::create::tests::assign_child_id_starts_at_1 ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_does_not_affect_fast_commands ... ok [INFO] [stdout] test commands::create::tests::create_claim_rejects_missing_validation_criteria ... ok [INFO] [stdout] test commands::create::tests::create_claim_accepts_with_verify ... ok [INFO] [stdout] test commands::close::tests::test_close_with_shell_operators_work ... ok [INFO] [stdout] test commands::create::tests::create_allows_bean_without_verify_or_acceptance ... ok [INFO] [stdout] test commands::create::tests::create_claim_accepts_with_acceptance ... ok [INFO] [stdout] test commands::create::tests::create_minimal_bean ... ok [INFO] [stdout] test commands::create::tests::create_increments_id ... ok [INFO] [stdout] test commands::create::tests::create_next_fails_with_no_beans ... ok [INFO] [stdout] test commands::close::tests::test_close_batch_with_mixed_hook_results ... ok [INFO] [stdout] test commands::create::tests::create_rejects_priority_too_high ... ok [INFO] [stdout] test commands::create::tests::create_claim_with_parent_exempt_from_validation ... ok [INFO] [stdout] test commands::create::tests::create_next_depends_on_latest ... ok [INFO] [stdout] test commands::create::tests::create_updates_index ... ok [INFO] [stdout] test commands::create::tests::create_next_chain_three_beans ... ok [INFO] [stdout] test commands::create::tests::create_with_all_fields ... ok [INFO] [stdout] test commands::create::tests::create_next_merges_explicit_deps ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_sets_in_progress ... ok [INFO] [stdout] test commands::create::tests::create_without_claim_exempt_from_validation ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_without_by ... ok [INFO] [stdout] test commands::create::tests::default_rejects_passing_verify ... ok [INFO] [stdout] test commands::create::tests::create_multiple_children ... ok [INFO] [stdout] test commands::create::tests::create_with_claim_and_parent ... 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::create_accepts_valid_priorities ... ok [INFO] [stdout] test commands::close::tests::output_capture_large_stdout_truncated ... 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_retry_bare ... 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::close::tests::worktree_merge::test_close_in_worktree_commits_and_merges ... ok [INFO] [stdout] test commands::create::tests::create_without_claim_stays_open ... ok [INFO] [stdout] test commands::close::tests::worktree_merge::test_close_outside_git_repo_works ... ok [INFO] [stdout] test commands::create::tests::pass_ok_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_uppercase ... ok [INFO] [stdout] test commands::create::tests::default_accepts_failing_verify ... ok [INFO] [stdout] test commands::delete::tests::test_delete_bean ... ok [INFO] [stdout] test commands::delete::tests::test_cleanup_does_not_modify_unrelated_beans ... ok [INFO] [stdout] test commands::create::tests::no_verify_skips_fail_first_check ... ok [INFO] [stdout] test commands::delete::tests::test_delete_ignores_excluded_files ... ok [INFO] [stdout] test commands::delete::tests::test_delete_nonexistent_bean ... ok [INFO] [stdout] test commands::delete::tests::test_delete_cleans_dependencies ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_cycle_detection ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_nonexistent_bean ... ok [INFO] [stdout] test commands::delete::tests::test_delete_with_complex_dependency_graph ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_self_dependency_rejected ... ok [INFO] [stdout] test commands::create::tests::post_create_hook_failure_does_not_break_creation ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_duplicate_rejected ... ok [INFO] [stdout] test commands::delete::tests::test_delete_rebuilds_index ... ok [INFO] [stdout] test commands::dep::tests::test_dep_remove_not_found ... ok [INFO] [stdout] test commands::dep::tests::test_dep_remove ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_cycle ... ok [INFO] [stdout] test commands::create::tests::create_with_parent_assigns_child_id ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_archived_parent ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_missing_parent ... ok [INFO] [stdout] test commands::doctor::tests::doctor_clean_project ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_duplicate_ids ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_orphaned_dep ... ok [INFO] [stdout] test commands::doctor::tests::doctor_detects_mixed_formats ... ok [INFO] [stdout] test commands::dep::tests::test_dep_list_with_dependencies ... ok [INFO] [stdout] test commands::doctor::tests::doctor_fix_rebuilds_index ... 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::doctor::tests::doctor_detects_stale_index_entries ... ok [INFO] [stdout] test commands::dep::tests::test_dep_add_simple ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_fails_for_nonexistent_bean ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_loads_backup_correctly ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_finds_bean_by_id ... ok [INFO] [stdout] test commands::doctor::tests::doctor_no_warning_for_single_format ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_validates_schema_before_save ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_workflow_backup_edit_save ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_index_rebuild_includes_edited_bean ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_binary_content ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_content ... ok [INFO] [stdout] test commands::edit::tests::test_cmd_edit_preserves_bean_naming_convention ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_large_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_nonexistent_file ... ok [INFO] [stdout] test commands::edit::tests::test_open_editor_nonexistent_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_empty_file ... ok [INFO] [stdout] test commands::edit::tests::test_load_backup_reads_multiline_content ... ok [INFO] [stdout] /tmp/.tmpKDekt9/test.md [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_empty_directory ... ok [INFO] [stdout] /tmp/.tmpfAft8I/test.md [INFO] [stdout] test commands::edit::tests::test_prompt_rollback_restores_file_from_backup ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_creates_index ... 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_invalid_beans_dir ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_missing_required_field ... ok [INFO] [stdout] test commands::edit::tests::test_prompt_rollback_backup_preserves_content ... ok [INFO] [stdout] test commands::edit::tests::test_open_editor_success_with_true ... 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_saves_to_correct_location ... ok [INFO] [stdout] test commands::edit::tests::test_rebuild_index_after_edit_includes_all_beans ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_parses_and_validates_yaml ... ok [INFO] [stdout] test commands::create::tests::pre_create_hook_rejects_bean_creation ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_persists_to_disk ... ok [INFO] [stdout] test commands::create::tests::untrusted_hooks_are_silently_skipped ... ok [INFO] [stdout] test commands::fact::tests::create_fact_requires_verify ... 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::edit::tests::test_validate_and_save_with_markdown_frontmatter ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_workflow_full ... ok [INFO] [stdout] test commands::edit::tests::test_validate_and_save_updates_timestamp ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_cycle_warning ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_empty_graph ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_single_isolated_bean ... ok [INFO] [stdout] test commands::graph::tests::ascii_status_badges ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_diamond_dependencies ... ok [INFO] [stdout] test commands::graph::tests::escaping_special_chars ... ok [INFO] [stdout] test commands::graph::tests::mermaid_escape ... ok [INFO] [stdout] test commands::graph::tests::ascii_with_multiple_isolated_beans ... ok [INFO] [stdout] test commands::fact::tests::create_fact_sets_bean_type ... ok [INFO] [stdout] test commands::init::tests::find_preset_is_case_insensitive ... ok [INFO] [stdout] test commands::graph::tests::mermaid_output_valid ... ok [INFO] [stdout] test commands::graph::tests::dot_output_valid ... ok [INFO] [stdout] test commands::graph::tests::ascii_output_valid ... ok [INFO] [stdout] test commands::init::tests::init_config_is_valid_yaml ... ok [INFO] [stdout] test commands::graph::tests::default_format_is_ascii ... ok [INFO] [stdout] test commands::init::tests::init_creates_beans_dir ... ok [INFO] [stdout] test commands::init::tests::init_creates_rules_md_stub ... ok [INFO] [stdout] test commands::init::tests::detect_agents_returns_all_presets ... ok [INFO] [stdout] test commands::init::tests::init_does_not_overwrite_existing_rules_md ... 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_auto_detects_project_name_from_dir ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_aider_sets_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::init_setup_on_existing_reconfigures ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_pi_sets_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::init_with_custom_run_and_plan ... ok [INFO] [stdout] test commands::init::tests::reinit_without_setup_shows_config ... ok [INFO] [stdout] test commands::init::tests::init_with_no_agent_skips_setup ... ok [INFO] [stdout] test commands::list::tests::is_not_blocked_when_no_dependencies ... ok [INFO] [stdout] test commands::list::tests::parse_status_invalid ... ok [INFO] [stdout] test commands::list::tests::parse_status_valid ... ok [INFO] [stdout] test commands::list::tests::is_blocked_by_open_dependency ... 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::list::tests::status_indicator_open ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_empty_dir ... ok [INFO] [stdout] test commands::list::tests::render_tree_hierarchy ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_matches_bean_id ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_in_matches_raw_id ... ok [INFO] [stdout] test commands::logs::tests::find_latest_log_returns_most_recent ... ok [INFO] [stdout] test commands::logs::tests::find_latest_log_returns_none_for_unknown ... ok [INFO] [stdout] test commands::logs::tests::log_dir_creates_directory ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_empty ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_json_output ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_shows_claimed_beans ... ok [INFO] [stdout] test commands::memory_context::tests::memory_context_shows_stale_facts ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_includes_decomposition_rules ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_includes_produces_requires ... ok [INFO] [stdout] test commands::plan::tests::build_prompt_with_strategy ... ok [INFO] [stdout] test commands::plan::tests::format_tokens_k_exact_boundary ... ok [INFO] [stdout] test commands::plan::tests::format_tokens_k_large ... ok [INFO] [stdout] test commands::plan::tests::format_tokens_k_small ... ok [INFO] [stdout] test commands::logs::tests::find_all_logs_nonexistent_dir ... ok [INFO] [stdout] test commands::create::tests::post_create_hook_runs_after_creation ... ok [INFO] [stdout] test commands::init::tests::init_creates_config_with_explicit_name ... ok [INFO] [stdout] test commands::plan::tests::plan_builtin_dry_run_shows_prompt ... ok [INFO] [stdout] test commands::init::tests::init_with_agent_claude_sets_run_and_plan ... ok [INFO] [stdout] test commands::plan::tests::plan_help_contains_plan ... ok [INFO] [stdout] test commands::plan::tests::plan_force_overrides_size_check ... ok [INFO] [stdout] test commands::plan::tests::plan_dry_run_does_not_spawn ... 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::create::tests::pre_create_hook_accepts_bean_creation ... ok [INFO] [stdout] test commands::quick::tests::default_rejects_passing_verify ... ok [INFO] [stdout] test commands::plan::tests::plan_auto_pick_none_needed ... ok [INFO] [stdout] test commands::init::tests::init_with_run_only ... ok [INFO] [stdout] test commands::quick::tests::no_verify_skips_fail_first_check ... ok [INFO] [stdout] test commands::quick::tests::default_accepts_failing_verify ... ok [INFO] [stdout] test commands::quick::tests::quick_rejects_missing_validation_criteria ... ok [INFO] [stdout] test commands::quick::tests::pass_ok_skips_fail_first_check ... ok [INFO] [stdout] test commands::quick::tests::quick_creates_and_claims_bean ... ok [INFO] [stdout] test commands::quick::tests::quick_updates_index ... ok [INFO] [stdout] test commands::quick::tests::quick_with_all_fields ... ok [INFO] [stdout] test commands::recall::tests::score_match_close_reason ... ok [INFO] [stdout] test commands::recall::tests::score_match_description ... ok [INFO] [stdout] test commands::quick::tests::quick_works_without_by ... 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_bean ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_rebuilds_index ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_open_bean ... ok [INFO] [stdout] test commands::reopen::tests::test_reopen_closed_bean ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_appends_to_existing_notes ... 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::quick::tests::quick_increments_id ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_approve_removes_review_failed_label ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_flag_adds_needs_human_review_label ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_request_changes_reopens_bean ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_flag_injects_notes ... ok [INFO] [stdout] test commands::review::tests::max_reopens_check_prevents_infinite_loops ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_approve ... ok [INFO] [stdout] test commands::review::tests::apply_verdict_request_changes_injects_notes ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_approve_case_insensitive ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_request_changes_captures_notes ... 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::plan::tests::plan_auto_pick_finds_largest ... ok [INFO] [stdout] test commands::review::tests::parse_verdict_request_changes_takes_priority_over_approve ... ok [INFO] [stdout] test commands::plan::tests::plan_small_bean_suggests_run ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_no_ready_beans ... ok [INFO] [stdout] test commands::close::tests::worktree_merge::test_close_with_merge_conflict_aborts ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_filters_by_id ... ok [INFO] [stdout] test commands::run::plan::tests::large_bean_classified_as_plan ... ok [INFO] [stdout] test commands::plan::tests::plan_no_template_without_auto_errors ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_dep_outside_set_treated_as_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_diamond_both_deps_needed ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_explicit_dep_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_explicit_dep_not_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_no_deps ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_requires_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::is_bean_ready_requires_not_met ... ok [INFO] [stdout] test commands::run::ready_queue::tests::ready_queue_starts_independent_beans_immediately ... ok [INFO] [stdout] test commands::run::plan::tests::auto_plan_includes_large_beans_in_waves ... ok [INFO] [stdout] test commands::run::ready_queue::tests::assemble_bean_context_includes_rules ... ok [INFO] [stdout] test commands::run::tests::agent_result_tracks_tokens_and_cost ... ok [INFO] [stdout] test commands::run::ready_queue::tests::assemble_bean_context_returns_empty_for_missing_bean ... ok [INFO] [stdout] test commands::run::tests::determine_spawn_mode_template_when_run_set ... ok [INFO] [stdout] test commands::run::tests::determine_spawn_mode_direct_when_no_run ... ok [INFO] [stdout] test commands::run::tests::cmd_run_errors_when_no_run_template_and_no_pi ... ok [INFO] [stdout] test commands::run::tests::format_duration_formats_correctly ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_diamond ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_linear_chain ... ok [INFO] [stdout] test commands::init::tests::init_with_unknown_agent_errors ... ok [INFO] [stdout] test commands::run::wave::tests::compute_waves_no_deps ... ok [INFO] [stdout] 1 [INFO] [stdout] test commands::run::wave::tests::template_wave_plan_without_template_errors ... ok [INFO] [stdout] test commands::run::tests::dry_run_with_json_stream ... ok [INFO] [stdout] test commands::run::wave::tests::template_wave_failed_command ... 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::history_format_tokens_thousands ... ok [INFO] [stdout] test commands::show::tests::format_short_test ... ok [INFO] [stdout] test commands::show::tests::history_handles_missing_optional_fields ... ok [INFO] [stdout] test commands::show::tests::history_cmd_show_with_history ... ok [INFO] [stdout] test commands::run::plan::tests::dry_run_simulate_respects_produces_requires ... ok [INFO] [stdout] test commands::show::tests::history_not_shown_when_empty ... ok [INFO] [stdout] test commands::show::tests::history_limits_entries_default ... ok [INFO] [stdout] test commands::show::tests::history_show_all_flag ... ok [INFO] [stdout] test commands::show::tests::history_truncate_agent_long ... ok [INFO] [stdout] test commands::show::tests::history_truncate_agent_short ... ok [INFO] [stdout] test commands::show::tests::history_totals_sum_correctly ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_id_and_status ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_dependencies ... ok [INFO] [stdout] test commands::show::tests::outputs_long_truncated_at_50_lines ... ok [INFO] [stdout] test commands::show::tests::metadata_header_includes_parent_when_set ... ok [INFO] [stdout] test commands::show::tests::outputs_not_shown_when_none ... ok [INFO] [stdout] test commands::show::tests::show_not_found ... ok [INFO] [stdout] test commands::show::tests::show_json ... ok [INFO] [stdout] test commands::show::tests::show_renders_beautifully_default ... ok [INFO] [stdout] test commands::fact::tests::create_fact_with_paths ... ok [INFO] [stdout] test commands::fact::tests::create_fact_with_custom_ttl ... ok [INFO] [stdout] test commands::show::tests::show_short ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_no_history ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_with_history ... ok [INFO] [stdout] test commands::stats::tests::aggregate_cost_most_expensive_and_retried ... ok [INFO] [stdout] test commands::stats::tests::empty_project ... ok [INFO] [stdout] test commands::stats::tests::stats_calculates_counts ... ok [INFO] [stdout] test commands::show::tests::outputs_shows_pretty_printed_json ... ok [INFO] [stdout] test commands::show::tests::show_works_with_hierarchical_ids ... ok [INFO] [stdout] test commands::sync::tests::sync_empty_project ... ok [INFO] [stdout] test commands::stats::tests::stats_command_json ... ok [INFO] [stdout] test commands::run::tests::dry_run_does_not_spawn ... ok [INFO] [stdout] test commands::sync::tests::sync_rebuilds_index ... ok [INFO] [stdout] test commands::tidy::tests::tidy_dry_run_does_not_move_files ... ok [INFO] [stdout] test commands::tidy::tests::tidy_dry_run_does_not_release_stale_beans ... ok [INFO] [stdout] test commands::tidy::tests::tidy_empty_project ... ok [INFO] [stdout] test commands::tidy::tests::tidy_archives_closed_beans ... ok [INFO] [stdout] test commands::tidy::tests::tidy_archives_parent_when_all_children_closed ... ok [INFO] [stdout] test commands::sync::tests::sync_counts_beans ... ok [INFO] [stdout] test commands::stats::tests::stats_command_works ... ok [INFO] [stdout] test commands::tidy::tests::tidy_idempotent ... ok [INFO] [stdout] test commands::tidy::tests::tidy_handles_mix_of_open_closed_and_in_progress ... ok [INFO] [stdout] test commands::show::tests::render_bean_with_description ... ok [INFO] [stdout] test commands::tidy::tests::tidy_handles_mix_of_stale_and_closed ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_in_progress_with_claimed_by ... ok [INFO] [stdout] test commands::tidy::tests::tidy_skips_in_progress_when_agents_running ... ok [INFO] [stdout] test commands::trace::tests::test_trace_json_output ... ok [INFO] [stdout] test commands::tidy::tests::tidy_leaves_open_beans_alone ... ok [INFO] [stdout] test commands::tidy::tests::tidy_uses_closed_at_for_archive_date ... ok [INFO] [stdout] test commands::trace::tests::test_trace_with_parent_and_deps ... ok [INFO] [stdout] test commands::tidy::tests::tidy_rebuilds_index ... ok [INFO] [stdout] test commands::tidy::tests::tidy_skips_closed_parent_with_open_children ... ok [INFO] [stdout] test commands::trace::tests::test_trace_not_found ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_stale_in_progress_beans ... ok [INFO] [stdout] test commands::tidy::tests::tidy_releases_in_progress_bean_without_claimed_at ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_returns_ready_beans ... 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_enabled ... ok [INFO] [stdout] test commands::trust::tests::test_cmd_trust_enables_hooks ... 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::trust::tests::test_cmd_trust_check_reports_disabled ... ok [INFO] [stdout] test commands::tree::tests::subtree_not_found ... ok [INFO] [stdout] test commands::run::plan::tests::plan_dispatch_parent_id_gets_children ... 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::unarchive::tests::test_unarchive_nonexistent_bean ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_nested_year_month_structure ... ok [INFO] [stdout] test commands::tree::tests::subtree_works ... ok [INFO] [stdout] test commands::tree::tests::full_tree_displays ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_updates_index ... 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_bean_data ... ok [INFO] [stdout] test commands::unarchive::tests::test_unarchive_updates_updated_at ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_skipped_when_not_trusted ... ok [INFO] [stdout] test commands::update::tests::test_post_update_hook_failure_does_not_prevent_update ... ok [INFO] [stdout] test commands::update::tests::test_update_add_label ... ok [INFO] [stdout] test commands::update::tests::test_update_nonexistent_bean ... ok [INFO] [stdout] test commands::update::tests::test_update_label_does_not_recalculate_tokens ... ok [INFO] [stdout] test commands::update::tests::test_update_description_recalculates_tokens ... ok [INFO] [stdout] test commands::update::tests::test_update_notes_creates_with_timestamp ... ok [INFO] [stdout] test commands::update::tests::test_update_multiple_fields ... ok [INFO] [stdout] test commands::update::tests::test_update_rebuilds_index ... ok [INFO] [stdout] test commands::update::tests::test_update_notes_appends ... ok [INFO] [stdout] test commands::update::tests::test_update_rejects_priority_too_high ... ok [INFO] [stdout] test commands::run::plan::tests::dry_run_simulate_shows_all_waves ... ok [INFO] [stdout] test commands::update::tests::test_update_remove_label ... ok [INFO] [stdout] test commands::update::tests::test_update_title ... ok [INFO] [stdout] test commands::update::tests::test_update_accepts_valid_priorities ... ok [INFO] [stdout] test commands::update::tests::test_update_priority ... ok [INFO] [stdout] test commands::update::tests::test_update_title_does_not_recalculate_tokens ... ok [INFO] [stdout] test config::tests::auto_close_parent_can_be_disabled ... ok [INFO] [stdout] test commands::update::tests::test_update_status ... ok [INFO] [stdout] test config::tests::auto_close_parent_defaults_to_true ... ok [INFO] [stdout] test config::tests::extends_defaults_to_empty ... ok [INFO] [stdout] test config::tests::extends_circular_detected_and_skipped ... ok [INFO] [stdout] test config::tests::config_round_trips_through_yaml ... ok [INFO] [stdout] test config::tests::extends_empty_loads_normally ... ok [INFO] [stdout] test config::tests::extends_inherits_max_concurrent ... ok [INFO] [stdout] test config::tests::extends_inherits_poll_interval ... ok [INFO] [stdout] test config::tests::extends_local_overrides_new_fields ... ok [INFO] [stdout] test config::tests::extends_inherits_plan ... ok [INFO] [stdout] test config::tests::extends_missing_file_errors ... ok [INFO] [stdout] test config::tests::extends_local_overrides_parent ... ok [INFO] [stdout] test config::tests::extends_not_serialized_when_empty ... ok [INFO] [stdout] test config::tests::extends_project_and_next_id_never_inherited ... ok [INFO] [stdout] test config::tests::extends_tilde_resolves_to_home_dir ... ok [INFO] [stdout] test config::tests::increment_id_returns_current_and_bumps ... ok [INFO] [stdout] test config::tests::extends_recursive_a_extends_b_extends_c ... ok [INFO] [stdout] test config::tests::extends_single_merges_fields ... ok [INFO] [stdout] test config::tests::load_returns_error_for_invalid_yaml ... ok [INFO] [stdout] test config::tests::load_returns_error_for_missing_file ... ok [INFO] [stdout] test config::tests::max_concurrent_can_be_customized ... ok [INFO] [stdout] test config::tests::max_concurrent_defaults_to_4 ... ok [INFO] [stdout] test config::tests::max_loops_can_be_customized ... ok [INFO] [stdout] test config::tests::max_loops_defaults_to_10 ... ok [INFO] [stdout] test config::tests::max_tokens_defaults_to_30000 ... ok [INFO] [stdout] test config::tests::max_tokens_can_be_customized ... ok [INFO] [stdout] test config::tests::plan_can_be_set ... ok [INFO] [stdout] test config::tests::plan_defaults_to_none ... ok [INFO] [stdout] test config::tests::new_fields_round_trip_through_yaml ... ok [INFO] [stdout] test config::tests::plan_not_serialized_when_none ... ok [INFO] [stdout] test config::tests::poll_interval_can_be_customized ... ok [INFO] [stdout] test config::tests::poll_interval_defaults_to_30 ... ok [INFO] [stdout] test config::tests::run_can_be_set ... ok [INFO] [stdout] test config::tests::run_defaults_to_none ... ok [INFO] [stdout] test config::tests::run_not_serialized_when_none ... ok [INFO] [stdout] test config::tests::save_creates_file_that_is_valid_yaml ... ok [INFO] [stdout] test ctx_assembler::tests::test_adjacent_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_allows_dots_in_filenames ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_empty_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_multiple_files ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_single_file ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_skips_missing_files ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_preserves_content ... ok [INFO] [stdout] test ctx_assembler::tests::test_assemble_context_rejects_symlink_escape ... ok [INFO] [stdout] test ctx_assembler::tests::test_deduplicate_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_go ... ok [INFO] [stdout] test ctx_assembler::tests::test_deeply_nested_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_java ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_json ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_markdown ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_python ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_shell ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_toml ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_tsx ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_typescript ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_rust ... ok [INFO] [stdout] test commands::update::tests::test_update_notes_recalculates_tokens ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_yaml ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_yml ... ok [INFO] [stdout] test ctx_assembler::tests::test_format_file_block_multiline ... ok [INFO] [stdout] test ctx_assembler::tests::test_empty_string ... ok [INFO] [stdout] test ctx_assembler::tests::test_format_file_block_python ... ok [INFO] [stdout] test ctx_assembler::tests::test_format_file_block_rust ... ok [INFO] [stdout] test ctx_assembler::tests::test_go_and_java_extensions ... ok [INFO] [stdout] test commands::update::tests::test_post_update_hook_runs_after_successful_update ... ok [INFO] [stdout] test ctx_assembler::tests::test_ignores_absolute_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_detect_language_unknown ... ok [INFO] [stdout] test ctx_assembler::tests::test_format_file_block_json ... ok [INFO] [stdout] test ctx_assembler::tests::test_mixed_valid_and_invalid ... ok [INFO] [stdout] test ctx_assembler::tests::test_no_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_multiple_paths ... ok [INFO] [stdout] test ctx_assembler::tests::test_path_at_end_of_string ... ok [INFO] [stdout] test ctx_assembler::tests::test_path_in_middle_of_sentence ... ok [INFO] [stdout] test ctx_assembler::tests::test_path_at_start_of_string ... ok [INFO] [stdout] test ctx_assembler::tests::test_paths_with_hyphens ... ok [INFO] [stdout] test ctx_assembler::tests::test_paths_with_numbers ... ok [INFO] [stdout] test ctx_assembler::tests::test_paths_with_underscores ... ok [INFO] [stdout] test ctx_assembler::tests::test_read_file_binary ... ok [INFO] [stdout] test ctx_assembler::tests::test_read_file_missing ... ok [INFO] [stdout] test ctx_assembler::tests::test_read_file_rejects_non_utf8 ... ok [INFO] [stdout] test ctx_assembler::tests::test_read_file_success ... ok [INFO] [stdout] test ctx_assembler::tests::test_rejects_mid_path_traversal ... ok [INFO] [stdout] test ctx_assembler::tests::test_rejects_traversal_keeps_valid ... ok [INFO] [stdout] test ctx_assembler::tests::test_shell_script_extension ... ok [INFO] [stdout] test ctx_assembler::tests::test_rejects_parent_traversal ... ok [INFO] [stdout] test ctx_assembler::tests::test_read_file_rejects_oversized ... ok [INFO] [stdout] test ctx_assembler::tests::test_various_extensions ... ok [INFO] [stdout] test ctx_assembler::tests::test_tsx_extension ... ok [INFO] [stdout] test ctx_assembler::tests::test_order_of_appearance ... ok [INFO] [stdout] test ctx_assembler::tests::test_with_punctuation ... ok [INFO] [stdout] test ctx_assembler::tests::test_yaml_and_json_extensions ... ok [INFO] [stdout] test commands::update::tests::test_update_tokens_updated_timestamp_changes ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_basic ... ok [INFO] [stdout] test ctx_assembler::tests::test_yml_extension ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_hierarchical_id ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_long_slug ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_three_level_id ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_single_digit_month ... ok [INFO] [stdout] test discovery::tests::archive_path_for_bean_yaml_extension ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_ignores_non_matching_ids ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_multiple_years ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_hierarchical_id ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_multiple_months ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_not_found ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_validates_id ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_with_long_slug ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_no_archive_dir ... ok [INFO] [stdout] test discovery::tests::find_bean_file_handles_numeric_id_prefix_matching ... ok [INFO] [stdout] test discovery::tests::find_bean_file_hierarchical_id ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_rejects_update_when_fails ... ok [INFO] [stdout] test discovery::tests::find_bean_file_ignores_files_without_proper_prefix ... ok [INFO] [stdout] test ctx_assembler::tests::test_ignores_urls ... ok [INFO] [stdout] test commands::update::tests::test_pre_update_hook_allows_update_when_passes ... ok [INFO] [stdout] test discovery::tests::find_bean_file_prefers_md_over_yaml ... ok [INFO] [stdout] test discovery::tests::find_bean_file_returns_first_match ... ok [INFO] [stdout] test discovery::tests::find_bean_file_simple_id ... ok [INFO] [stdout] test discovery::tests::find_bean_file_three_level_id ... ok [INFO] [stdout] test discovery::tests::find_bean_file_supports_legacy_yaml_files ... ok [INFO] [stdout] test discovery::tests::find_bean_file_validates_empty_id ... ok [INFO] [stdout] test discovery::tests::find_bean_file_not_found ... ok [INFO] [stdout] test discovery::tests::find_bean_file_validates_id ... ok [INFO] [stdout] test discovery::tests::find_bean_file_rejects_special_chars_in_id ... ok [INFO] [stdout] test discovery::tests::find_bean_file_with_long_slug ... ok [INFO] [stdout] test discovery::tests::find_bean_file_with_special_chars_in_slug ... ok [INFO] [stdout] test discovery::tests::prefers_closest_beans_dir ... ok [INFO] [stdout] test discovery::tests::finds_beans_in_current_dir ... ok [INFO] [stdout] test graph::tests::detect_self_cycle ... ok [INFO] [stdout] test discovery::tests::finds_beans_in_grandparent_dir ... ok [INFO] [stdout] test graph::tests::detect_three_node_cycle ... ok [INFO] [stdout] test discovery::tests::finds_beans_in_parent_dir ... ok [INFO] [stdout] test discovery::tests::returns_error_when_no_beans_exists ... ok [INFO] [stdout] test ctx_assembler::tests::test_single_path ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_simple_id ... ok [INFO] [stdout] test graph::tests::no_cycle_linear_chain ... ok [INFO] [stdout] test discovery::tests::find_archived_bean_three_level_id ... ok [INFO] [stdout] test graph::tests::subtree_attempts_single_bean_no_children ... ok [INFO] [stdout] test graph::tests::subtree_attempts_includes_root ... ok [INFO] [stdout] test graph::tests::subtree_attempts_includes_archived_beans ... ok [INFO] [stdout] test graph::tests::subtree_attempts_unknown_root_returns_zero ... ok [INFO] [stdout] test hooks::tests::test_create_trust_creates_trust_file ... ok [INFO] [stdout] test commands::update::tests::test_update_acceptance_recalculates_tokens ... ok [INFO] [stdout] test graph::tests::subtree_attempts_zero_attempts_everywhere ... ok [INFO] [stdout] test graph::tests::subtree_attempts_subtree_only ... ok [INFO] [stdout] test graph::tests::subtree_attempts_sums_all_descendants ... ok [INFO] [stdout] test hooks::tests::test_expand_template_missing_vars_left_as_is ... ok [INFO] [stdout] test hooks::tests::test_expand_template_empty_template ... ok [INFO] [stdout] test hooks::tests::test_expand_template_multiple_same_var ... ok [INFO] [stdout] test hooks::tests::test_expand_template_no_placeholders ... ok [INFO] [stdout] test hooks::tests::test_expand_template_output_truncated_to_1000_chars ... ok [INFO] [stdout] test hooks::tests::test_expand_template_with_all_vars ... ok [INFO] [stdout] test hooks::tests::test_hook_event_string_representation ... ok [INFO] [stdout] test hooks::tests::test_execute_hook_skips_when_not_trusted ... ok [INFO] [stdout] test hooks::tests::test_hook_payload_serializes_to_json ... ok [INFO] [stdout] test hooks::tests::test_get_hook_path ... ok [INFO] [stdout] test hooks::tests::test_hook_payload_with_all_bean_fields ... ok [INFO] [stdout] test hooks::tests::test_hook_payload_with_reason ... ok [INFO] [stdout] test hooks::tests::test_hook_receives_json_payload_on_stdin ... ok [INFO] [stdout] test graph::tests::detect_two_node_cycle ... ok [INFO] [stdout] test hooks::tests::test_is_hook_executable_with_executable_file ... ok [INFO] [stdout] test hooks::tests::test_is_hook_executable_with_non_executable_file ... ok [INFO] [stdout] test hooks::tests::test_is_trusted_returns_false_when_trust_file_does_not_exist ... ok [INFO] [stdout] test hooks::tests::test_is_trusted_returns_true_when_trust_file_exists ... ok [INFO] [stdout] test hooks::tests::test_missing_hook_returns_ok_true ... ok [INFO] [stdout] test hooks::tests::test_non_executable_hook_returns_error ... ok [INFO] [stdout] test hooks::tests::test_is_hook_executable_with_missing_file ... ok [INFO] [stdout] test hooks::tests::test_execute_config_hook_failure_does_not_panic ... ok [INFO] [stdout] test hooks::tests::test_revoke_trust_removes_trust_file ... ok [INFO] [stdout] test index::archive_tests::collect_archived_empty_when_no_archive ... ok [INFO] [stdout] test hooks::tests::test_revoke_trust_errors_if_file_does_not_exist ... ok [INFO] [stdout] test index::archive_tests::collect_archived_finds_beans ... ok [INFO] [stdout] test index::format_count_tests::count_bean_formats_empty_dir ... ok [INFO] [stdout] test hooks::tests::test_execute_hook_respects_non_trusted_status ... ok [INFO] [stdout] test index::format_count_tests::count_bean_formats_excludes_config_files ... ok [INFO] [stdout] test index::format_count_tests::count_bean_formats_only_md ... ok [INFO] [stdout] test index::format_count_tests::count_bean_formats_mixed ... ok [INFO] [stdout] test index::format_count_tests::count_bean_formats_only_yaml ... ok [INFO] [stdout] test index::tests::build_detects_duplicate_ids ... ok [INFO] [stdout] test index::tests::build_empty_directory ... ok [INFO] [stdout] test index::tests::build_excludes_index_and_bean_yaml ... ok [INFO] [stdout] test index::tests::build_extracts_fields_correctly ... ok [INFO] [stdout] test index::tests::build_reads_all_beans_and_excludes_config ... ok [INFO] [stdout] test index::tests::is_stale_when_index_missing ... ok [INFO] [stdout] test index::tests::build_detects_multiple_duplicate_ids ... ok [INFO] [stdout] test index::tests::load_or_rebuild_builds_when_no_index ... ok [INFO] [stdout] test index::tests::load_or_rebuild_loads_when_fresh ... ok [INFO] [stdout] test index::tests::locked_index_acquire_and_save ... ok [INFO] [stdout] test index::tests::is_stale_ignores_non_yaml ... ok [INFO] [stdout] test index::tests::locked_index_creates_lock_file ... ok [INFO] [stdout] test hooks::tests::test_hook_execution_with_failure_exit_code ... ok [INFO] [stdout] test hooks::tests::test_execute_hook_runs_when_trusted ... ok [INFO] [stdout] test index::tests::natural_sort_basic ... ok [INFO] [stdout] test index::tests::locked_index_released_on_drop ... ok [INFO] [stdout] test index::tests::natural_sort_full_sequence ... ok [INFO] [stdout] test index::tests::natural_sort_dotted_ids ... ok [INFO] [stdout] test index::tests::natural_sort_numeric_not_lexicographic ... ok [INFO] [stdout] test locks::tests::acquire_and_release_via_bean ... ok [INFO] [stdout] test index::tests::is_stale_when_yaml_newer_than_index ... ok [INFO] [stdout] test index::tests::not_stale_when_index_is_fresh ... ok [INFO] [stdout] test index::tests::save_and_load_round_trip ... ok [INFO] [stdout] test locks::tests::acquire_cleans_stale_and_succeeds ... ok [INFO] [stdout] test locks::tests::clear_all_removes_everything ... ok [INFO] [stdout] test locks::tests::different_owner_blocked_by_live_lock ... ok [INFO] [stdout] test hooks::tests::test_successful_hook_execution ... ok [INFO] [stdout] test locks::tests::same_owner_reacquire_is_idempotent ... ok [INFO] [stdout] test locks::tests::stale_lock_is_cleaned ... ok [INFO] [stdout] test pi_output::tests::pi_output_empty_object_returns_none ... ok [INFO] [stdout] test locks::tests::release_all_for_bean_works ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_with_file ... ok [INFO] [stdout] test locks::tests::list_locks_returns_all ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_edit_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_with_path ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_missing_path_field ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_unknown_tool ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_read_path ... ok [INFO] [stdout] test locks::tests::list_locks_filters_stale ... ok [INFO] [stdout] test pi_output::tests::pi_output_finished_missing_fields ... 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_text_delta ... ok [INFO] [stdout] test pi_output::tests::pi_output_thinking_delta ... 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_token_update ... ok [INFO] [stdout] test pi_output::tests::pi_output_toolcall_end ... ok [INFO] [stdout] test pi_output::tests::pi_output_toolcall_start ... ok [INFO] [stdout] test pi_output::tests::pi_output_unknown_event_returns_none ... 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_python_project_pyproject ... ok [INFO] [stdout] test project::tests::detect_ruby_project ... ok [INFO] [stdout] test project::tests::detect_rust_project ... ok [INFO] [stdout] test project::tests::node_verify_suggestions ... ok [INFO] [stdout] test project::tests::rust_verify_suggestions ... ok [INFO] [stdout] test project::tests::detect_unknown_project ... ok [INFO] [stdout] test project::tests::unknown_has_no_suggestions ... ok [INFO] [stdout] test relevance::tests::test_paths_overlap_exact ... ok [INFO] [stdout] test relevance::tests::test_relevance_score_combined ... ok [INFO] [stdout] test project::tests::suggest_verify_returns_command ... ok [INFO] [stdout] test relevance::tests::test_relevance_score_path_overlap ... ok [INFO] [stdout] test stream::tests::stream_bean_done_serializes_optional_fields ... ok [INFO] [stdout] test relevance::tests::test_paths_overlap_prefix ... ok [INFO] [stdout] test relevance::tests::test_paths_no_overlap ... 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_error_event ... ok [INFO] [stdout] test stream::tests::stream_event_serializes_with_type_tag ... ok [INFO] [stdout] test timeout::tests::timeout_completed_fast_process ... ok [INFO] [stdout] test timeout::tests::timeout_callback_receives_all_lines ... ok [INFO] [stdout] test relevance::tests::test_relevance_score_dependency_match ... ok [INFO] [stdout] test timeout::tests::timeout_zero_timeouts_means_no_limit ... ok [INFO] [stdout] test pi_output::tests::pi_output_extract_bash_no_file ... ok [INFO] [stdout] test stream::tests::stream_dry_run_with_round_plans ... ok [INFO] [stdout] test tokens::tests::chars_to_tokens_basic ... ok [INFO] [stdout] test tokens::tests::calculate_tokens_basic ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_backticks ... ok [INFO] [stdout] test tokens::tests::calculate_tokens_with_description ... ok [INFO] [stdout] test commands::run::wave::tests::template_wave_execution_with_echo ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_basic ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_home ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_multiple_extensions ... ok [INFO] [stdout] test util::tests::natural_cmp_alpha_ids ... ok [INFO] [stdout] test util::tests::natural_cmp_different_prefix ... ok [INFO] [stdout] test util::tests::natural_cmp_mixed_segments ... ok [INFO] [stdout] test util::tests::natural_cmp_multi_digit ... ok [INFO] [stdout] test util::tests::natural_cmp_multi_level ... ok [INFO] [stdout] test util::tests::natural_cmp_numeric_before_alpha ... ok [INFO] [stdout] test util::tests::natural_cmp_single_digit ... ok [INFO] [stdout] test util::tests::natural_cmp_three_level ... ok [INFO] [stdout] test util::tests::parse_id_segments_alpha ... ok [INFO] [stdout] test util::tests::parse_id_segments_leading_zeros ... ok [INFO] [stdout] test util::tests::parse_id_segments_multi_level ... ok [INFO] [stdout] test util::tests::parse_id_segments_single ... ok [INFO] [stdout] test util::tests::parse_status_invalid ... ok [INFO] [stdout] test util::tests::parse_status_valid_closed ... ok [INFO] [stdout] test util::tests::parse_status_valid_in_progress ... ok [INFO] [stdout] test util::tests::parse_status_valid_open ... ok [INFO] [stdout] test util::tests::parse_status_whitespace ... ok [INFO] [stdout] test util::tests::status_from_str_closed ... ok [INFO] [stdout] test util::tests::status_from_str_in_progress ... ok [INFO] [stdout] test util::tests::status_from_str_invalid ... ok [INFO] [stdout] test util::tests::status_from_str_open ... ok [INFO] [stdout] test util::tests::test_atomic_write_creates_file_with_correct_contents ... ok [INFO] [stdout] test util::tests::test_atomic_write_no_temp_file_left_behind ... ok [INFO] [stdout] test util::tests::test_atomic_write_overwrites_existing_file ... ok [INFO] [stdout] test util::tests::title_to_slug_all_whitespace_types ... ok [INFO] [stdout] test util::tests::title_to_slug_consecutive_hyphens ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_no_duplicates ... ok [INFO] [stdout] test util::tests::title_to_slug_exactly_50_chars ... ok [INFO] [stdout] test util::tests::title_to_slug_leading_trailing_spaces ... ok [INFO] [stdout] test util::tests::title_to_slug_mixed_case ... ok [INFO] [stdout] test util::tests::title_to_slug_multiple_spaces ... ok [INFO] [stdout] test util::tests::title_to_slug_numbers_preserved ... ok [INFO] [stdout] test util::tests::title_to_slug_only_spaces ... ok [INFO] [stdout] test util::tests::title_to_slug_only_special_chars ... ok [INFO] [stdout] test util::tests::title_to_slug_simple_case ... ok [INFO] [stdout] test util::tests::title_to_slug_single_character ... ok [INFO] [stdout] test util::tests::title_to_slug_truncate_50_chars ... ok [INFO] [stdout] test util::tests::title_to_slug_truncate_with_hyphens ... ok [INFO] [stdout] test util::tests::title_to_slug_unicode_removed ... ok [INFO] [stdout] test util::tests::title_to_slug_with_backticks ... ok [INFO] [stdout] test util::tests::title_to_slug_with_exclamation ... ok [INFO] [stdout] test util::tests::title_to_slug_with_numbers_and_dots ... ok [INFO] [stdout] test util::tests::title_to_slug_with_special_chars ... ok [INFO] [stdout] test util::tests::validate_bean_id_absolute_path_fails ... ok [INFO] [stdout] test util::tests::validate_bean_id_alphanumeric ... ok [INFO] [stdout] test util::tests::validate_bean_id_dotted ... ok [INFO] [stdout] test util::tests::validate_bean_id_empty_fails ... ok [INFO] [stdout] test util::tests::validate_bean_id_path_traversal_fails ... ok [INFO] [stdout] test util::tests::validate_bean_id_simple_numeric ... ok [INFO] [stdout] test util::tests::validate_bean_id_spaces_fail ... ok [INFO] [stdout] test util::tests::validate_bean_id_special_chars_fail ... ok [INFO] [stdout] test util::tests::validate_bean_id_too_long ... ok [INFO] [stdout] test util::tests::validate_bean_id_with_hyphens ... ok [INFO] [stdout] test util::tests::validate_bean_id_with_underscores ... ok [INFO] [stdout] test worktree::tests::detect_worktree_runs_without_panic ... ok [INFO] [stdout] test timeout::tests::timeout_total_timeout_kills_process ... ok [INFO] [stdout] test worktree::tests::merge::test_commit_worktree_changes_type_signature ... ok [INFO] [stdout] test worktree::tests::merge::test_merge_result_variants ... ok [INFO] [stdout] test worktree::tests::merge::test_merge_to_main_requires_branch ... ok [INFO] [stdout] test worktree::tests::merge::test_parse_conflict_files_content_conflict ... ok [INFO] [stdout] test worktree::tests::merge::test_parse_conflict_files_empty ... ok [INFO] [stdout] test worktree::tests::merge::test_parse_conflict_files_multiple ... ok [INFO] [stdout] test worktree::tests::merge::test_parse_conflict_files_no_conflicts ... ok [INFO] [stdout] test worktree::tests::merge::test_cleanup_worktree_type_signature ... ok [INFO] [stdout] test commands::update::tests::test_update_with_multiple_fields_triggers_hooks ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_ignores_non_file_text ... ok [INFO] [stdout] test util::tests::title_to_slug_empty_string ... ok [INFO] [stdout] test worktree::tests::test_parse_worktree_list_detached_head ... ok [INFO] [stdout] test worktree::tests::test_parse_worktree_list_multiple ... ok [INFO] [stdout] test worktree::tests::merge::test_worktree_info_for_merge ... ok [INFO] [stdout] test worktree::tests::test_parse_worktree_list_single ... ok [INFO] [stdout] test tokens::tests::extract_file_paths_relative ... ok [INFO] [stdout] test index::tests::locked_index_blocks_concurrent_access ... ok [INFO] [stdout] test timeout::tests::timeout_idle_timeout_kills_slow_writer ... ok [INFO] [stdout] test hooks::tests::test_execute_config_hook_writes_to_file ... ok [INFO] [stdout] test hooks::tests::test_execute_config_hook_with_template_expansion ... ok [INFO] [stdout] test commands::close::tests::test_close_batch_partial_rejection_by_hook ... ok [INFO] [stdout] test hooks::tests::test_hook_timeout ... 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_bean_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_config_level_applies_when_bean_has_none has been running for over 60 seconds [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_bean_level_overrides_config ... ok [INFO] [stdout] test commands::close::verify_timeout_tests::verify_timeout_config_level_applies_when_bean_has_none ... ok [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_kills_slow_process_and_records_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 887 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.37s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bn-3c609cfe95d73913) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/adopt_test.rs (/opt/rustwide/target/debug/deps/adopt_test-1196d20cf8db4da9) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_adopt_error_missing_parent ... ok [INFO] [stdout] test test_adopt_updates_index ... ok [INFO] [stdout] test test_adopt_error_missing_child ... ok [INFO] [stdout] test test_adopt_basic_single ... ok [INFO] [stdout] test test_adopt_preserves_bean_fields ... ok [INFO] [stdout] test test_adopt_multiple_children ... ok [INFO] [stdout] test test_adopt_bean_already_has_parent ... ok [INFO] [stdout] test test_adopt_files_renamed_correctly ... ok [INFO] [stdout] test test_adopt_updates_dependency_references ... ok [INFO] [stdout] test test_adopt_continues_numbering_after_existing_children ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/api_test.rs (/opt/rustwide/target/debug/deps/api_test-55d8117d98c0383e) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test api_re_exports_core_types ... ok [INFO] [stdout] test api_types_are_serializable ... ok [INFO] [stdout] test api_find_beans_dir_discovers_directory ... ok [INFO] [stdout] test api_graph_functions_accessible ... ok [INFO] [stdout] test api_load_index_returns_entries ... ok [INFO] [stdout] test api_get_bean_loads_by_id ... ok [INFO] [stdout] test api_get_bean_not_found ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-89ddbb192e669ceb) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test create_claim_without_criteria_shows_error ... ok [INFO] [stdout] test create_without_claim_no_criteria_succeeds ... ok [INFO] [stdout] test create_claim_with_verify_succeeds ... ok [INFO] [stdout] test create_claim_with_acceptance_succeeds ... ok [INFO] [stderr] Running tests/mcp_test.rs (/opt/rustwide/target/debug/deps/mcp_test-f2ce1334f429ca90) [INFO] [stdout] test create_claim_with_parent_no_criteria_succeeds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test mcp_json_rpc_request_without_id_is_notification ... ok [INFO] [stdout] test mcp_json_rpc_request_deserializes ... ok [INFO] [stdout] test mcp_json_rpc_response_error_serializes ... ok [INFO] [stdout] test mcp_json_rpc_response_success_serializes ... ok [INFO] [stdout] test mcp_resource_definitions_present ... ok [INFO] [stdout] test mcp_required_tools_have_required_params ... ok [INFO] [stdout] test mcp_create_bean_missing_title_returns_error ... ok [INFO] [stdout] test mcp_error_result_has_is_error_flag ... ok [INFO] [stdout] test mcp_list_beans_returns_all_open ... ok [INFO] [stdout] test mcp_claim_bean_sets_in_progress ... ok [INFO] [stdout] test mcp_resource_read_rules_present ... ok [INFO] [stdout] test mcp_resource_read_unknown_uri_returns_error ... ok [INFO] [stdout] test mcp_close_bean_with_failing_verify_returns_error ... ok [INFO] [stdout] test mcp_close_bean_with_passing_verify ... ok [INFO] [stdout] test mcp_resource_read_status ... ok [INFO] [stdout] test mcp_ready_beans_excludes_blocked ... ok [INFO] [stdout] test mcp_list_beans_filter_by_priority ... ok [INFO] [stdout] test mcp_resource_read_bean ... ok [INFO] [stdout] test mcp_claim_bean_already_claimed_returns_error ... ok [INFO] [stdout] test mcp_create_then_close_roundtrip ... ok [INFO] [stdout] test mcp_context_bean_no_paths ... ok [INFO] [stdout] test mcp_server_dispatch_initialize ... ok [INFO] [stdout] test mcp_resource_read_rules_missing ... ok [INFO] [stdout] test mcp_close_bean_force_skips_verify ... ok [INFO] [stdout] test mcp_tool_definitions_returns_all_ten_tools ... ok [INFO] [stdout] test mcp_show_bean_missing_id_returns_error ... ok [INFO] [stdout] test mcp_show_bean_invalid_id_returns_error ... ok [INFO] [stdout] test mcp_verify_bean_no_verify_command ... ok [INFO] [stdout] test mcp_tool_definitions_have_valid_json_schemas ... ok [INFO] [stdout] test mcp_show_bean_returns_full_details ... ok [INFO] [stdout] test mcp_create_bean_with_priority ... ok [INFO] [stdout] test mcp_verify_bean_passing ... ok [INFO] [stdout] test mcp_tool_call_result_format_matches_spec ... ok [INFO] [stdout] test mcp_create_bean_basic ... ok [INFO] [stdout] test mcp_tree_shows_all_beans ... ok [INFO] [stdout] test mcp_unknown_tool_returns_error ... ok [INFO] [stdout] test mcp_status_overview ... ok [INFO] [stdout] test mcp_tree_with_parent_child ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running tests/test_ctx_assembler.rs (/opt/rustwide/target/debug/deps/test_ctx_assembler-d945e50f7cd491cb) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test test_empty_string ... ok [INFO] [stdout] test test_deeply_nested_paths ... ok [INFO] [stdout] test test_adjacent_paths ... ok [INFO] [stdout] test test_ignores_urls ... ok [INFO] [stdout] test test_ignores_absolute_paths ... ok [INFO] [stdout] test test_multiple_paths ... ok [INFO] [stdout] test test_mixed_valid_and_invalid ... ok [INFO] [stdout] test test_go_and_java_extensions ... ok [INFO] [stdout] test test_no_paths ... ok [INFO] [stdout] test test_path_at_end_of_string ... ok [INFO] [stdout] test test_paths_with_hyphens ... ok [INFO] [stdout] test test_paths_with_numbers ... ok [INFO] [stdout] test test_deduplicate_paths ... ok [INFO] [stdout] test test_with_punctuation ... ok [INFO] [stdout] test test_paths_with_underscores ... ok [INFO] [stdout] test test_single_path ... ok [INFO] [stdout] test test_yaml_and_json_extensions ... ok [INFO] [stdout] test test_path_at_start_of_string ... ok [INFO] [stdout] test test_path_in_middle_of_sentence ... ok [INFO] [stdout] test test_order_of_appearance ... ok [INFO] [stdout] test test_various_extensions ... ok [INFO] [stdout] test test_shell_script_extension ... ok [INFO] [stderr] Doc-tests bn [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/commands/edit.rs - commands::edit::cmd_edit (line 264) ... ignored [INFO] [stdout] test src/commands/edit.rs - commands::edit::load_backup (line 229) ... ignored [INFO] [stdout] test src/commands/edit.rs - commands::edit::open_editor (line 171) ... ignored [INFO] [stdout] test src/commands/edit.rs - commands::edit::prompt_rollback (line 107) ... ignored [INFO] [stdout] test src/commands/edit.rs - commands::edit::rebuild_index_after_edit (line 78) ... ignored [INFO] [stdout] test src/commands/edit.rs - commands::edit::validate_and_save (line 39) ... ignored [INFO] [stdout] test src/discovery.rs - discovery::archive_path_for_bean (line 81) ... ignored [INFO] [stdout] test src/discovery.rs - discovery::find_archived_bean (line 122) ... ignored [INFO] [stdout] test src/api/mod.rs - api (line 16) - compile ... ok [INFO] [stdout] test src/index.rs - index::LockedIndex (line 334) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f7ac6064ce205bc7ae156b8de29480c38abd041784118e396eae363406992d0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7ac6064ce205bc7ae156b8de29480c38abd041784118e396eae363406992d0c", kill_on_drop: false }` [INFO] [stdout] f7ac6064ce205bc7ae156b8de29480c38abd041784118e396eae363406992d0c