mac02: building 9hfjfi9zjbyxdcl9wys4p60g1a8nr001-tilth-0.14.0.drv Using versionCheckHook Running phase: unpackPhase unpacking source archive /nix/store/k34b0x7l84yf33hylsz2jcn4pr7diiny-source source root is source Executing cargoSetupPostUnpackHook Finished cargoSetupPostUnpackHook Running phase: patchPhase Executing cargoSetupPostPatchHook Validating consistency between /nix/var/nix/builds/nix-10593-1164633637/source/Cargo.lock and /nix/var/nix/builds/nix-10593-1164633637/tilth-0.14.0-vendor/Cargo.lock Finished cargoSetupPostPatchHook Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase Running phase: buildPhase Executing cargoBuildHook cargoBuildHook flags: -j 10 --target aarch64-apple-darwin --offline --profile release Compiling shlex v2.0.1 Compiling find-msvc-tools v0.1.12 Compiling tree-sitter-language v0.1.9 Compiling libc v0.2.191 Compiling memchr v2.8.3 Compiling proc-macro2 v1.0.106 Compiling quote v1.0.45 Compiling unicode-ident v1.0.24 Compiling cfg-if v1.0.4 Compiling crossbeam-utils v0.8.21 Compiling zmij v1.0.21 Compiling regex-syntax v0.8.11 Compiling cc v1.4.6 Compiling serde_core v1.0.229 Compiling getrandom v0.3.4 Compiling zerocopy v0.8.48 Compiling aho-corasick v1.1.4 Compiling hashbrown v0.16.1 Compiling serde_json v1.0.154 Compiling equivalent v1.0.2 Compiling syn v3.0.3 Compiling indexmap v2.13.0 Compiling crossbeam-epoch v0.9.18 Compiling itoa v1.0.17 Compiling foldhash v0.2.0 Compiling log v0.4.29 Compiling regex-automata v0.4.18 Compiling utf8parse v0.2.2 Compiling anstyle-parse v1.0.0 Compiling rand_core v0.9.5 Compiling crossbeam-deque v0.8.6 Compiling colorchoice v1.0.4 Compiling portable-atomic v1.13.1 Compiling rustix v1.1.4 Compiling anstyle v1.0.14 Compiling is_terminal_polyfill v1.70.2 Compiling parking_lot_core v0.9.12 Compiling libm v0.2.16 Compiling anstyle-query v1.1.5 Compiling anstream v1.0.0 Compiling errno v0.3.14 Compiling heck v0.5.0 Compiling strsim v0.11.1 Compiling rayon-core v1.13.0 Compiling bitflags v2.11.0 Compiling thiserror v2.0.21 Compiling clap_lex v1.0.0 Compiling same-file v1.0.6 Compiling smallvec v1.15.1 Compiling scopeguard v1.2.0 Compiling lock_api v0.4.14 Compiling clap_builder v4.6.7 Compiling walkdir v2.5.0 Compiling grep-matcher v0.1.8 Compiling encoding_rs v0.8.35 Compiling serde v1.0.229 Compiling ppv-lite86 v0.2.21 Compiling hashbrown v0.14.5 Compiling siphasher v1.0.3 Compiling rand_chacha v0.9.0 Compiling once_cell v1.21.4 Compiling rand v0.9.4 Compiling winnow v1.0.3 Compiling bstr v1.12.1 Compiling regex v1.12.3 Compiling streaming-iterator v0.1.9 Compiling tree-sitter-javascript v0.25.0 Compiling tree-sitter-go v0.25.0 Compiling tree-sitter-cpp v0.23.4 Compiling tree-sitter v0.27.1 Compiling tree-sitter-c v0.24.2 Compiling tree-sitter-ruby v0.23.1 Compiling tree-sitter-swift v0.7.4 Compiling tree-sitter-php v0.25.1 Compiling tree-sitter-kotlin-ng v1.1.0 Compiling tree-sitter-java v0.23.5 Compiling tree-sitter-elixir v0.3.5 Compiling tree-sitter-c-sharp v0.23.5 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-rust v0.24.2 Compiling tree-sitter-typescript v0.23.2 Compiling tree-sitter-python v0.25.0 Compiling tree-sitter-scala v0.26.4 Compiling tree-sitter-md v0.5.4 Compiling globset v0.4.21 Compiling ignore v0.4.34 Compiling encoding_rs_io v0.1.7 Compiling fastbloom v0.17.0 Compiling dashmap v6.2.1 Compiling toml_parser v1.1.5+spec-1.1.0 Compiling toml_datetime v1.1.2+spec-1.1.0 Compiling serde_spanned v1.1.2 Compiling memmap2 v0.9.12 Compiling either v1.15.0 Compiling toml_writer v1.2.0+spec-1.1.0 Compiling grep-searcher v0.1.17 Compiling toml v1.2.0+spec-1.1.0 Compiling rayon v1.12.0 Compiling grep-regex v0.1.14 Compiling terminal_size v0.4.4 Compiling crossbeam-channel v0.5.17 Compiling percent-encoding v2.3.2 Compiling home v0.5.12 Compiling clap_derive v4.6.7 Compiling thiserror-impl v2.0.21 Compiling serde_derive v1.0.229 Compiling tilth-core v0.14.0 (/nix/var/nix/builds/nix-10593-1164633637/source/crates/tilth-core) Compiling clap v4.6.7 Compiling clap_complete v4.6.11 Compiling tilth v0.14.0 (/nix/var/nix/builds/nix-10593-1164633637/source) Finished `release` profile [optimized] target(s) in 3m 31s Executing cargoInstallPostBuildHook Finished cargoInstallPostBuildHook Finished cargoBuildHook buildPhase completed in 3 minutes 32 seconds Running phase: checkPhase Executing cargoCheckHook cargoCheckHook flags: -j 10 --profile release --target aarch64-apple-darwin --offline -- Compiling cfg-if v1.0.4 Compiling tree-sitter-language v0.1.9 Compiling libc v0.2.191 Compiling memchr v2.8.3 Compiling regex-syntax v0.8.11 Compiling crossbeam-utils v0.8.21 Compiling zerocopy v0.8.48 Compiling serde_core v1.0.229 Compiling utf8parse v0.2.2 Compiling log v0.4.29 Compiling anstyle-query v1.1.5 Compiling bitflags v2.11.0 Compiling anstyle-parse v1.0.0 Compiling is_terminal_polyfill v1.70.2 Compiling colorchoice v1.0.4 Compiling anstyle v1.0.14 Compiling clap_lex v1.0.0 Compiling once_cell v1.21.4 Compiling smallvec v1.15.1 Compiling anstream v1.0.0 Compiling proc-macro2 v1.0.106 Compiling scopeguard v1.2.0 Compiling same-file v1.0.6 Compiling strsim v0.11.1 Compiling walkdir v2.5.0 Compiling clap_builder v4.6.7 Compiling aho-corasick v1.1.4 Compiling crossbeam-epoch v0.9.18 Compiling grep-matcher v0.1.8 Compiling lock_api v0.4.14 Compiling crossbeam-deque v0.8.6 Compiling encoding_rs v0.8.35 Compiling portable-atomic v1.13.1 Compiling libm v0.2.16 Compiling unicode-ident v1.0.24 Compiling getrandom v0.4.2 Compiling getrandom v0.3.4 Compiling rand_core v0.9.5 Compiling errno v0.3.14 Compiling rustix v1.1.4 Compiling parking_lot_core v0.9.12 Compiling siphasher v1.0.3 Compiling winnow v1.0.3 Compiling quote v1.0.45 Compiling foldhash v0.2.0 Compiling streaming-iterator v0.1.9 Compiling hashbrown v0.14.5 Compiling toml_parser v1.1.5+spec-1.1.0 Compiling dashmap v6.2.1 Compiling encoding_rs_io v0.1.7 Compiling regex-automata v0.4.18 Compiling memmap2 v0.9.12 Compiling rayon-core v1.13.0 Compiling serde_spanned v1.1.2 Compiling toml_datetime v1.1.2+spec-1.1.0 Compiling clap v4.6.7 Compiling tree-sitter-md v0.5.4 Compiling tree-sitter-elixir v0.3.5 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-scala v0.26.4 Compiling tree-sitter-php v0.25.1 Compiling tree-sitter-go v0.25.0 Compiling tree-sitter-java v0.23.5 Compiling tree-sitter-c v0.24.2 Compiling tree-sitter-swift v0.7.4 Compiling tree-sitter-python v0.25.0 Compiling tree-sitter-javascript v0.25.0 Compiling tree-sitter-c-sharp v0.23.5 Compiling tree-sitter-typescript v0.23.2 Compiling tree-sitter-ruby v0.23.1 Compiling tree-sitter-kotlin-ng v1.1.0 Compiling tree-sitter-cpp v0.23.4 Compiling tree-sitter-rust v0.24.2 Compiling zmij v1.0.21 Compiling thiserror v2.0.21 Compiling toml_writer v1.2.0+spec-1.1.0 Compiling itoa v1.0.17 Compiling either v1.15.0 Compiling serde_json v1.0.154 Compiling rayon v1.12.0 Compiling toml v1.2.0+spec-1.1.0 Compiling clap_complete v4.6.11 Compiling serde v1.0.229 Compiling ppv-lite86 v0.2.21 Compiling rand_chacha v0.9.0 Compiling terminal_size v0.4.4 Compiling crossbeam-channel v0.5.17 Compiling rand v0.9.4 Compiling percent-encoding v2.3.2 Compiling fastrand v2.3.0 Compiling fastbloom v0.17.0 Compiling home v0.5.12 Compiling tempfile v3.27.0 Compiling syn v2.0.117 Compiling tilth-core v0.14.0 (/nix/var/nix/builds/nix-10593-1164633637/source/crates/tilth-core) Compiling bstr v1.12.1 Compiling regex v1.12.3 Compiling tree-sitter v0.27.1 Compiling globset v0.4.21 Compiling grep-searcher v0.1.17 Compiling grep-regex v0.1.14 Compiling ignore v0.4.34 Compiling tilth v0.14.0 (/nix/var/nix/builds/nix-10593-1164633637/source) Finished `release` profile [optimized] target(s) in 3m 01s Running unittests src/lib.rs (target/aarch64-apple-darwin/release/deps/tilth-c148ccf090fc5c1d) running 733 tests test budget::tests::apply_roomy_budget_returns_input_unchanged ... ok test budget::tests::apply_emoji_no_newline_does_not_panic ... ok test budget::tests::apply_code_format_survives_header_separator ... ok test budget::tests::single_long_line_body_does_not_collapse ... ok test classify::tests::glob_patterns ... ok test classify::tests::file_globs_stay_globs ... ok test classify::tests::content_queries ... ok test classify::tests::double_colon_paths_are_symbols ... ok test classify::tests::concept_queries ... ok test budget::tests::apply_tight_budget_truncates_with_marker ... ok test classify::tests::identifiers ... ok test classify::tests::regex_patterns ... ok test classify::tests::regex_shaped_queries_are_not_globs ... ok test classify::tests::symbol_not_concept ... ok test classify::tests::is_identifier_checks ... ok test diff::format::tests::test_conflict_format ... ok test diff::format::tests::test_file_detail_header ... ok test diff::format::tests::test_function_detail_found ... ok test diff::format::tests::test_function_detail_not_found ... ok test diff::format::tests::test_file_detail_before_after ... ok test diff::format::tests::test_file_detail_unchanged_context ... ok test diff::format::tests::test_function_detail_qualified ... ok test diff::format::tests::test_file_detail_diff_lines ... ok test classify::tests::regex_with_trailing_flags ... ok test diff::format::tests::test_log_format ... ok test diff::format::tests::test_overview_ambiguous_marker ... ok test diff::format::tests::test_overview_binary ... ok test diff::format::tests::test_overview_generated ... ok test diff::format::tests::test_overview_budget ... ok test diff::format::tests::test_overview_multiple_files ... ok test diff::format::tests::test_overview_signature_annotation ... ok test diff::format::tests::test_overview_unchanged_hidden ... ok test diff::format::tests::test_overview_warnings ... ok test diff::format::tests::test_overview_markers ... ok test diff::matching::tests::build_diff_symbols_rust ... ok test diff::matching::tests::added_and_deleted ... ok test diff::matching::tests::ambiguity_multiple_structural ... ok test diff::matching::tests::build_diff_symbols_impl_children ... ok test diff::matching::tests::below_fuzzy_threshold ... ok test diff::matching::tests::a_path_in_an_impl_header_stays_in_its_qualifier ... ok test diff::matching::tests::empty_inputs ... ok test diff::matching::tests::fuzzy_match ... ok test diff::matching::tests::identity_match_body_changed ... ok test diff::matching::tests::identity_match_signature_changed ... ok test diff::matching::tests::impl_block_parent_path ... ok test diff::matching::tests::overload_reorder_matches_unchanged_twin ... ok test diff::matching::tests::overloaded_methods ... ok test diff::matching::tests::rename_detection_structural_hash ... ok test diff::matching::tests::structural_hash_differs_for_bodies ... ok test diff::matching::tests::prefilter_token_ratio ... ok test diff::matching::tests::multiline_headers_compare_by_tokens ... ok test diff::matching::tests::initializer_lists_and_a_closing_end_are_body ... ok test diff::matching::tests::structural_hash_excludes_name ... ok test diff::matching::tests::structural_hash_skips_comments ... ok test diff::matching::tests::unchanged_symbol ... ok test diff::overlay::tests::count_changed_lines_skips_context ... ok test diff::overlay::tests::revision_ranges_pick_both_sides ... ok test diff::matching::tests::trait_impls_of_one_type_keep_their_trait ... ok test diff::overlay::tests::each_side_is_parsed_in_its_own_language ... ok test diff::parse::tests::hunk_lines_that_look_like_file_headers_are_content ... ok test diff::overlay::tests::unreadable_side_skips_symbol_analysis_but_keeps_lines ... ok test diff::overlay::tests::working_tree_side_reads_the_file_on_disk ... ok test diff::parse::tests::lines_carry_their_file_line_numbers ... ok test diff::parse::tests::test_binary_file ... ok test diff::parse::tests::test_basic_modified_file ... ok test diff::parse::tests::test_context_lines ... ok test diff::parse::tests::test_deleted_file ... ok test diff::parse::tests::test_added_file ... ok test diff::parse::tests::test_empty_input ... ok test diff::parse::tests::test_generated_file ... ok test diff::parse::tests::test_hunk_omitted_count ... ok test diff::parse::tests::test_hunk_trailing_context ... ok test diff::parse::tests::test_malformed_hunk_skipped ... ok test diff::parse::tests::test_multi_file_diff ... ok test diff::parse::tests::test_multiple_hunks ... ok test diff::parse::tests::test_renamed_file ... ok test diff::parse::tests::test_no_newline_marker_skipped ... ok test diff::matching::tests::body_and_signature_edits_across_languages ... ok test diff::tests::diff_blast_counts_callers_under_root_only ... ok test diff::tests::a_move_across_files_keeps_the_symbol_s_owner ... ok test diff::tests::diff_blast_names_a_big_file_it_did_not_search ... ok test diff::tests::directory_scope_resolves_against_the_working_directory ... ok test diff::tests::diff_blast_that_stopped_says_which_symbols_it_did_not_count ... ok test diff::tests::bad_ref_is_an_error_not_no_changes ... ok test diff::tests::diff_blast_under_the_bound_gives_the_exact_count ... ok test diff::tests::diff_blast_that_hits_the_bound_says_at_least ... ok test diff::tests::generated_file_counts_its_changed_lines ... ok test diff::tests::function_scope_ignores_unchanged_symbols_of_the_same_name ... ok test diff::tests::formatting_a_signature_is_not_a_signature_change ... ok test diff::tests::git_revision_arguments_cannot_act_as_options ... ok test diff::tests::directory_scope_lists_the_changed_files_under_it ... ok test diff::tests::multiline_signature_change_is_a_signature_change ... ok test diff::tests::log_refuses_a_function_in_a_directory_the_range_never_touched ... ok test diff::tests::log_includes_the_root_commit ... ok test diff::tests::run_git_diff_keeps_blank_context_lines ... ok test diff::tests::repo_without_commits_diffs_against_nothing ... ok test diff::tests::run_git_diff_keeps_repo_relative_paths ... ok test diff::tests::log_function_scope_keeps_commits_that_changed_the_function ... ok test diff::tests::same_named_methods_keep_their_own_changes ... ok test diff::tests::diff_lists_symbols_in_file_order ... ok test diff::tests::scoped_detail_keeps_removed_lines_of_a_function ... ok test diff::tests::scope_on_an_unchanged_directory_says_no_changes ... ok test diff::tests::scope_that_matches_several_files_by_name_is_ambiguous ... ok test diff::tests::search_keeps_each_file_with_its_own_label ... ok test diff::tests::signature_change_names_the_symbol_once ... ok test diff::tests::parent_shorthands_name_the_commit_s_own_change ... ok test diff::tests::scoped_detail_keeps_removed_lines_of_a_text_file ... ok test diff::tests::staged_diff_bypasses_diff_external ... ok test diff::tests::scope_follows_renamed_and_removed_files ... ok test diff::tests::staged_diff_ignores_color_ui_always ... ok test diff::tests::test_empty_diff ... ok test diff::tests::test_file_detail_scope ... ok test diff::tests::test_file_scope_not_found ... ok test diff::tests::test_file_to_file ... ok test diff::tests::test_function_detail_scope ... ok test diff::tests::test_generated_file ... ok test diff::tests::test_resolve_source_variants ... ok test diff::tests::test_log_mode ... ok test diff::tests::test_multiple_files ... ok test diff::tests::test_overview_added ... ok test diff::tests::test_overview_deleted ... ok test edit::tests::apply_batch_no_parse_block_on_clean_edit ... ok test edit::tests::apply_batch_rejects_duplicate_paths ... ok test edit::tests::apply_batch_surfaces_parse_block_on_introduced_error ... ok test edit::tests::batch_all_failed_returns_err ... ok test edit::tests::batch_edit_insertion_shifts_lines ... ok test edit::tests::batch_edit_offset_line_numbers ... ok test edit::tests::batch_parse_error_surfaces_per_file ... ok test edit::tests::batch_partial_failure_does_not_block_siblings ... ok test edit::tests::batch_two_files_succeeds ... ok test diff::tests::test_overview_modified ... ok test edit::tests::dedup_allows_distinct_nonexistent_paths ... ok test edit::tests::dedup_catches_case_aliases_on_macos ... ok test edit::tests::dedup_catches_nonexistent_alias_spellings ... ok test edit::tests::diff_header_format ... ok test edit::tests::empty_edits_no_diff ... ok test edit::tests::lexical_normalize_pops_on_parentdir ... ok test edit::tests::lexical_normalize_preserves_absolute ... ok test edit::tests::lexical_normalize_preserves_unresolved_parentdir ... ok test edit::tests::lexical_normalize_strips_curdir ... ok test edit::tests::line_deletion ... ok test edit::tests::multi_line_replacement_fewer_lines ... ok test edit::tests::multi_line_replacement_more_lines ... ok test edit::tests::multiple_edits_batch ... ok test edit::tests::normalize_path_key_is_cwd_independent ... ok test edit::tests::single_line_replacement ... ok test edit::tests::unicode_content_in_diff ... ok test edit_parse_check::tests::check_total_post_counts_preexisting_plus_new ... ok test edit_parse_check::tests::clean_edit_returns_none ... ok test edit_parse_check::tests::dockerfile_returns_none ... ok test edit_parse_check::tests::edit_inside_preexisting_unterminated_region_is_silent ... ok test edit_parse_check::tests::error_detail_truncated ... ok test edit_parse_check::tests::errors_sorted_by_line_then_col ... ok test edit_parse_check::tests::format_caps_at_ten_with_summary ... ok test edit_parse_check::tests::format_omits_block_header_only_on_no_errors ... ok test edit_parse_check::tests::format_renders_error_with_empty_detail ... ok test edit_parse_check::tests::introduced_error_reported ... ok test edit_parse_check::tests::missing_node_reported ... ok test edit_parse_check::tests::multiset_subtract_distinguishes_kind_and_detail_keys ... ok test edit_parse_check::tests::multiset_subtract_reports_only_the_surplus ... ok test edit_parse_check::tests::no_grammar_returns_none ... ok test edit_parse_check::tests::pre_existing_error_shifted_by_edit_is_silent ... ok test edit_parse_check::tests::preexisting_error_silent ... ok test edit_parse_check::tests::summary_distinguishes_new_from_total ... ok test format::tests::fmt_tokens_rolls_over_at_999_950 ... ok test format::tests::fmt_tokens_thresholds ... ok test format::tests::format_size_covers_every_tier ... ok test format::tests::search_header_qualifies_only_a_capped_count ... ok test install::tests::amp_dotted_key_is_literal_not_nested ... ok test install::tests::amp_error_when_servers_key_not_object ... ok test install::tests::amp_overwrites_existing_tilth ... ok test install::tests::amp_preserves_unrelated_config ... ok test install::tests::amp_resolve_host ... ok test install::tests::antigravity_cli_resolve_host ... ok test install::tests::antigravity_preserves_existing_servers ... ok test install::tests::antigravity_resolve_host ... ok test install::tests::augment_resolve_host ... ok test install::tests::cline_resolve_host ... ok test install::tests::copilot_cli_resolve_host ... ok test install::tests::crush_resolve_host ... ok test install::tests::crush_uses_mcp_not_mcp_servers ... ok test install::tests::droid_preserves_existing_servers ... ok test install::tests::droid_resolve_host ... ok test install::tests::kilo_code_resolve_host ... ok test install::tests::kiro_resolve_host ... ok test install::tests::opencode_entry_uses_local_shape ... ok test install::tests::opencode_entry_with_edit ... ok test install::tests::opencode_resolve_host ... ok test install::tests::opencode_upserts_under_mcp_key ... ok test install::tests::pi_resolve_host ... ok test install::tests::qwen_code_resolve_host ... ok test install::tests::roo_code_resolve_host ... ok test install::tests::standard_entry_format ... ok test install::tests::toml_header_in_comment_is_not_spliced ... ok test install::tests::toml_section_appended_when_absent ... ok test install::tests::toml_section_end_not_truncated_by_value_starting_with_bracket ... ok test install::tests::toml_section_end_unmatched_bracket_does_not_go_negative ... ok test install::tests::toml_section_replaced_at_line_start ... ok test install::tests::toml_section_replaced_at_start_of_file ... ok test install::tests::toml_section_replacement_handles_multiline_arrays_before_next_table ... ok test install::tests::trae_resolve_host ... ok test install::tests::unknown_host_error_includes_amp ... ok test install::tests::unknown_host_error_includes_antigravity ... ok test install::tests::unknown_host_error_includes_droid ... ok test install::tests::zed_resolve_host ... ok test install::tests::zed_uses_context_servers_not_mcp_servers ... ok test map::tests::a_doc_naming_a_kind_is_not_read_as_the_symbol ... ok test map::tests::format_tree_renders_dir_rollups_alongside_files ... ok test map::tests::rollup_handles_empty_directories ... ok test map::tests::rollup_sums_descendants_into_each_ancestor ... ok test mcp::tests::a_scope_that_is_not_a_directory_is_an_error ... ok test mcp::tests::edit_mode_extra_byte_lock ... ok test mcp::tests::extract_root_empty_roots ... ok test mcp::tests::extract_root_multiple_roots_takes_first_valid ... ok test mcp::tests::extract_root_no_result ... ok test mcp::tests::extract_root_nonexistent_path ... ok test mcp::tests::extract_root_percent_encoded_uri ... ok test mcp::tests::extract_root_valid_file_uri ... ok test mcp::tests::instructions_compose_with_single_blank_line_between_sections ... ok test mcp::tests::package_root_finds_project_from_subdirectory ... ok test mcp::tests::roots_handoff_is_confined_to_initialization ... ok test mcp::tests::server_instructions_byte_lock ... ok test mcp::tests::tilth_files_is_not_dispatched ... ok test mcp::tests::tilth_savings_is_not_dispatched ... ok test mcp::tools::definitions::tests::edit_mode_exposes_tilth_write_not_tilth_edit ... ok test mcp::tools::definitions::tests::gitignore_param_only_on_search_and_list ... ok test mcp::tools::definitions::tests::scope_descriptions_state_what_scope_accepts ... ok test mcp::tools::definitions::tests::tilth_files_folded_into_tilth_list ... ok test mcp::tools::definitions::tests::tilth_savings_is_not_advertised ... ok test mcp::tools::definitions::tests::tilth_write_schema_requires_mode_specific_fields ... ok test mcp::tools::deps::tests::absolute_path_explicit_relative_scope_no_root_errors ... ok test mcp::tools::deps::tests::absolute_path_omitted_scope_no_root_defaults_to_cwd ... ok test mcp::tools::deps::tests::file_scope_with_root_is_refused ... ok test mcp::tools::deps::tests::relative_path_no_root_errors ... ok test edit::tests::concurrent_batches_on_one_file_never_lose_an_edit ... ok test mcp::tools::diff::tests::tool_diff_missing_root_dir_refused ... ok test diff::tests::staged_diff_pins_path_prefixes ... ok test mcp::tools::diff::tests::tool_diff_relative_file_pair_without_root_refused ... ok test mcp::tools::diff::tests::tool_diff_relative_root_refused ... ok test diff::tests::test_patch_file ... ok test diff::tests::test_overview_signature_changed ... ok test mcp::tools::grok::tests::file_scope_with_root_is_refused ... ok test mcp::tools::list::tests::tool_list_budget_truncates_output ... ok test mcp::tools::list::tests::tool_list_depth_caps_nesting ... ok test mcp::tools::list::tests::tool_list_explicit_relative_scope_no_root_errors ... ok test mcp::tools::list::tests::tool_list_empty_patterns_errors ... ok test mcp::tools::list::tests::tool_list_missing_patterns_errors ... ok test mcp::tools::list::tests::tool_list_no_match_hints_available_extensions ... ok test mcp::tools::list::tests::tool_list_file_scope_with_root_is_refused ... ok test mcp::tools::list::tests::tool_list_patterns_capped_at_20 ... ok test mcp::tools::list::tests::tool_list_relative_scope_absolute_root_resolves ... ok test mcp::tools::read::tests::fair_share_caps_only_the_files_over_it ... ok test mcp::tools::list::tests::tool_list_renders_tree_with_dirs_files_and_rollups ... ok test mcp::tools::read::tests::no_root_reads_absolute_path_unchanged ... ok test mcp::tools::read::tests::relative_path_no_root_errors ... ok test mcp::tools::read::tests::root_param_anchors_relative_path_under_root ... ok test mcp::tools::read::tests::root_param_absolute_path_unaffected ... ok test mcp::tools::read::tests::signature_and_stripped_views_of_a_non_code_file ... ok test mcp::tools::read::tests::tilth_read_schema_lists_stripped_mode ... ok test mcp::tools::read::tests::tool_read_batch_keeps_files_whole_when_the_batch_fits ... ok test mcp::tools::read::tests::signature_and_stripped_views_show_a_pipe_as_empty ... ok test mcp::tools::diff::tests::tool_diff_refuses_option_shaped_source_and_log ... ok test diff::tests::three_dot_range_compares_from_the_merge_base ... ok test diff::tests::test_search_filter ... ok test mcp::tools::read::tests::tool_read_sections_without_a_budget_stay_under_the_default ... ok test mcp::tools::read::tests::tool_read_signature_beats_full_flag ... ok test mcp::tools::read::tests::tool_read_signature_mode_emits_hash_prefixed_signatures ... ok test mcp::tools::read::tests::tool_read_signature_mode_non_code_falls_back_to_normal_read ... ok test mcp::tools::read::tests::tool_read_signature_mode_prints_an_export_clause_once ... ok test mcp::tools::read::tests::tool_read_signature_mode_rejects_section ... ok test mcp::tools::read::tests::tool_read_stripped_mode_drops_comments_and_keeps_doc_comments ... ok test mcp::tools::read::tests::tool_read_stripped_mode_non_code_falls_back_to_normal_read ... ok test mcp::tools::read::tests::tool_read_unknown_mode_errors ... ok test mcp::tools::read::tests::tool_read_full_flag_is_legacy_alias_for_mode_full ... ok test mcp::tools::search::tests::absolute_file_scope_without_root_names_the_fix ... ok test mcp::tools::search::tests::callers_comma_query_finds_both_targets ... ok test diff::tests::test_ref_diff ... ok test mcp::tools::search::tests::callers_duplicate_target_does_not_render_empty_section ... ok test mcp::tools::search::tests::callers_multi_target_header_matches_single_target_shape ... ok test mcp::tools::search::tests::callers_multi_target_includes_second_hop_impact_per_bucket ... ok test mcp::tools::search::tests::explicit_relative_scope_no_root_errors ... ok test diff::tests::test_search_no_matches ... ok test mcp::tools::search::tests::file_scope_with_root_is_refused_with_glob_hint ... ok test mcp::tools::search::tests::callers_multi_target_later_target_not_starved_by_hit_rich_earlier_target ... ok test mcp::tools::search::tests::file_scope_hint_narrows_to_the_one_file ... ok test mcp::tools::search::tests::full_raises_content_match_cap ... ok test mcp::tools::search::tests::full_raises_regex_match_cap ... ok test mcp::tools::search::tests::full_raises_callers_match_cap_per_target ... ok test mcp::tools::search::tests::later_search_expands_a_definition_cut_from_a_multi_search ... ok test mcp::tools::read::tests::tool_read_keeps_the_fit_note_with_the_related_line ... ok test mcp::tools::search::tests::no_scope_no_root_defaults_to_cwd ... ok test mcp::tools::search::tests::tilth_search_schema_advertises_full ... ok test mcp::tools::tests::anchor_path_dotdot_not_normalized ... ok test mcp::tools::search::tests::missing_dir_scope_with_root_still_falls_back_with_warning ... ok test mcp::tools::tests::apply_budget_none_caps_at_default ... ok test mcp::tools::tests::resolve_read_path_absolute_unaffected_by_root ... ok test mcp::tools::tests::resolve_read_path_relative_no_root_errors ... ok test mcp::tools::tests::resolve_read_path_relative_relative_root_errors ... ok test mcp::tools::tests::resolve_read_path_relative_anchors_under_absolute_root ... ok test mcp::tools::tests::resolve_scope_explicit_absolute_arg ... ok test mcp::tools::tests::resolve_scope_missing_dir_no_root_errors ... ok test mcp::tools::tests::resolve_scope_missing_dir_no_root_error_suggests_the_close_directory ... ok test mcp::tools::tests::resolve_scope_missing_dir_with_root_warns_and_returns_root ... ok test diff::tests::test_staged_diff ... ok test mcp::tools::tests::resolve_scope_no_arg_defaults_to_root_when_given ... ok test mcp::tools::tests::resolve_scope_no_arg_no_root_defaults_to_cwd ... ok test mcp::tools::tests::resolve_scope_no_arg_relative_root_keeps_cwd ... ok test mcp::tools::tests::resolve_scope_no_arg_warns_when_cwd_is_unreadable ... ok test mcp::tools::tests::resolve_scope_relative_arg_no_root_errors ... ok test mcp::tools::tests::resolve_scope_relative_arg_relative_root_errors ... ok test mcp::tools::tests::resolve_scope_missing_dir_warning_suggests_the_close_directory ... ok test mcp::tools::tests::resolve_scope_uses_a_single_cwd_snapshot ... ok test mcp::tools::tests::resolve_scope_with_absolute_root_anchors_relative_scope ... ok test mcp::tools::write::tests::append_creates_and_echoes ... ok test mcp::tools::write::tests::append_echoes_appended_region_with_correct_line_numbers ... ok test mcp::tools::write::tests::cross_worktree_warning_fires_for_different_git_roots ... ok test mcp::tools::write::tests::cross_worktree_warning_fires_for_git_file_worktree ... ok test mcp::tools::write::tests::duplicate_path_rejected_up_front ... ok test mcp::tools::write::tests::cross_worktree_warning_no_false_positive_for_same_root ... ok test mcp::tools::write::tests::hash_mode_no_warning_for_in_tree_write ... ok test mcp::tools::write::tests::hash_mode_cross_worktree_warning_fires ... ok test mcp::tools::write::tests::overwrite_creates_new_file ... ok test mcp::tools::write::tests::mixed_batch_direct_success_survives_hash_failure ... ok test mcp::tools::write::tests::hash_mode_root_anchors_relative_path ... ok test mcp::tools::write::tests::parse_file_edit_rejects_empty_edits_array ... ok test mcp::tools::write::tests::overwrite_existing_without_flag_errors_and_preserves ... ok test mcp::tools::write::tests::parse_overwrite_flag_strict_bool ... ok test mcp::tools::write::tests::refuses_hash_write_outside_scope ... ok test mcp::tools::write::tests::overwrite_existing_with_flag_replaces ... ok test mcp::tools::write::tests::refuses_write_outside_scope ... ok test mcp::tools::write::tests::result_contains_resolved_absolute_path ... ok test mcp::tools::write::tests::root_only_no_scope_write_succeeds_into_root ... ok test mcp::tools::write::tests::root_relative_rejects_non_absolute_root ... ok test mcp::tools::write::tests::root_param_absolute_path_unaffected_by_root ... ok test mcp::tree::tests::render_tree_dir_rollup_equals_sum_of_child_tokens ... ok test mcp::tree::tests::render_tree_groups_dirs_and_files ... ok test mcp::tools::write::tests::unknown_mode_errors_per_file ... ok test mcp::tools::write::tests::root_param_anchors_relative_path_to_root_not_cwd ... ok test mcp::write::tests::write_append_creates_when_absent ... ok test mcp::write::tests::write_append_extends_existing ... ok test mcp::write::tests::write_append_refuses_symlinks ... ok test mcp::write::tests::write_overwrite_create_only_fails_on_existing ... ok test mcp::write::tests::write_overwrite_create_only_refuses_dangling_symlink ... ok test mcp::write::tests::write_overwrite_creates_new_file_atomically ... ok test mcp::write::tests::write_overwrite_empty_content_touches ... ok test mcp::write::tests::write_overwrite_with_overwrite_flag_clobbers ... ok test mcp::write::tests::write_overwrite_with_overwrite_flag_refuses_symlinks ... ok test overview::tests::a_byte_order_mark_keeps_the_manifest ... ok test mcp::write::tests::a_read_during_an_overwrite_sees_one_whole_version ... ok test overview::tests::hot_files_stop_at_the_deadline ... ok test overview::tests::hot_files_count_imports_inside_use_groups ... ok test mcp::tools::search::tests::later_search_expands_a_definition_omitted_by_the_budget ... ok test mcp::tools::search::tests::full_raises_symbol_match_cap_per_query ... ok test overview::tests::test_manifest_parsing ... ok test read::ends::tests::a_line_longer_than_a_piece_is_kept_whole ... ok test read::ends::tests::streamed_line_count_equals_str_lines_count ... ok test read::ends::tests::the_collector_holds_each_byte_it_keeps_once ... ok test read::ends::tests::the_ends_of_a_text_in_memory_borrow_it ... ok test read::ends::tests::ends_match_str_lines_in_pieces_of_any_size ... ok test read::outline::code::tests::export_clause_renders_once_as_written ... ok test read::outline::code::tests::import_summary_names_each_module_of_a_statement ... ok test read::outline::code::tests::import_summary_names_python_from_imports ... ok test mcp::tools::diff::tests::tool_diff_absent_root_diffs_server_cwd ... ok test read::outline::code::tests::kotlin_outline_constructs ... ok test overview::tests::test_fingerprint_empty_dir ... ok test read::outline::code::tests::php_outline_constructs ... ok test read::outline::markdown::tests::basic_headings ... ok test read::outline::markdown::tests::code_block_count ... ok test read::outline::markdown::tests::code_blocks_skipped ... ok test read::outline::markdown::tests::empty_file ... ok test read::outline::markdown::tests::hash_inside_fenced_code_does_not_become_heading ... ok test read::outline::markdown::tests::last_heading_to_eof ... ok test read::outline::markdown::tests::nested_heading_ranges ... ok test read::outline::markdown::tests::setext_headings_silently_ignored ... ok test read::outline::structured::tests::toml_outline_arrays_show_item_count ... ok test read::outline::structured::tests::toml_outline_deep_tables_collapse ... ok test read::outline::structured::tests::toml_outline_parse_error_is_caught ... ok test read::outline::structured::tests::toml_outline_section_headers_and_variants ... ok test read::outline::tests::fit_note_counts_lines_when_the_view_has_no_entries ... ok test read::outline::tests::fit_note_names_cut_lines_when_every_entry_stays ... ok test read::outline::code::tests::scala_outline_constructs ... ok test read::outline::code::tests::ts_export_outline_no_doubled_keyword ... ok test read::outline::tests::no_note_when_uncapped ... ok test read::outline::tests::no_note_when_under_cap ... ok test read::outline::tests::note_appended_when_at_cap ... ok test read::outline::tests::integration_no_note_on_small_code_file ... ok test read::outline::code::tests::import_summary_reads_php_csharp_and_swift_from_the_tree ... ok test read::outline::tests::integration_note_on_capped_code_file ... ok test read::tests::a_budget_the_full_file_overflows_gets_the_outline ... ok test read::tests::a_range_ending_at_the_largest_number_clamps_to_the_last_line ... ok test read::tests::a_header_only_view_counts_lines_like_count_lines ... ok test read::tests::a_range_read_is_the_same_one_byte_at_a_time ... ok test read::tests::a_range_read_stops_after_the_last_requested_line ... ok test read::tests::a_streamed_utf8_check_agrees_with_checking_the_whole ... ok test read::tests::a_section_read_of_an_empty_file_shows_it_as_empty ... ok test mcp::tools::diff::tests::tool_diff_root_selects_caller_worktree_not_server_cwd ... ok test read::tests::a_pipe_or_device_shows_as_empty ... ok test read::tests::budgeted_never_exceeds_budget_even_when_markers_do_not_fit ... ok test read::tests::budgeted_omits_later_sections_when_exhausted ... ok test read::tests::a_malformed_range_fails_even_where_there_is_nothing_to_select ... ok test read::tests::budgeted_passes_through_when_budget_ample ... ok test read::tests::a_streamed_view_that_needs_the_whole_text_gets_it ... ok test read::tests::budgeted_preserves_user_order_until_exhaustion ... ok test read::tests::duplicate_headings ... ok test read::tests::budgeted_truncates_first_section_when_too_large ... ok test read::tests::edit_distance_is_unicode_aware ... ok test read::tests::hashline_view_keeps_the_byte_order_mark ... ok test read::tests::heading_found ... ok test read::tests::heading_in_code_block ... ok test read::tests::heading_not_found ... ok test read::tests::last_heading_to_eof ... ok test read::tests::many_ranges_select_what_slicing_selects ... ok test read::tests::nested_sections ... ok test read::tests::no_hashes ... ok test read::tests::header_counts_lines_like_wc ... ok test read::tests::full_true_size_cap_returns_outline ... ok test read::tests::an_outline_cut_by_entries_counts_them ... ok test read::tests::read_ranges_disjoint_two_blocks ... ok test read::tests::read_ranges_edit_mode_emits_hashlines_per_block ... ok test read::tests::read_ranges_empty_input_errors ... ok test read::tests::read_ranges_invalid_second_range_fails_whole_call ... ok test read::tests::read_ranges_mixed_line_and_heading ... ok test read::tests::read_ranges_overlap_is_emitted_verbatim ... ok test read::tests::read_ranges_preserves_user_order ... ok test read::tests::read_ranges_single_matches_legacy_section ... ok test mcp::write::tests::overwrite_is_never_observable_as_partial ... ok test read::tests::an_outline_over_the_budget_keeps_every_name ... ok test read::tests::section_past_the_end_is_an_error_naming_the_length ... ok test read::tests::streamed_line_ranges_return_the_files_lines ... ok test read::tests::suggest_headings_empty_query_returns_empty ... ok test read::tests::suggest_headings_rejects_hashes_without_space ... ok test read::tests::suggest_headings_rejects_seven_or_more_hashes ... ok test read::tests::suggest_headings_returns_close_matches ... ok test read::tests::suggest_headings_skips_code_blocks ... ok test read::tests::suggest_headings_skips_tilde_fenced_blocks ... ok test read::tests::suggest_headings_top_n_orders_by_distance ... ok test read::tests::tabular_rows_ignore_the_final_newline ... ok test search::alloc::tests::a_block_too_big_to_keep_whole_keeps_its_head ... ok test search::alloc::tests::drops_lower_value_when_over_budget ... ok test search::alloc::tests::empty_input_is_empty ... ok test search::alloc::tests::first_fit_uses_leftover_for_smaller_lower_value_block ... ok test search::alloc::tests::fit_to_budget_drops_low_value_keeps_high_and_structural ... ok test search::alloc::tests::fit_to_budget_passes_through_when_structural_exceeds_budget ... ok test search::alloc::tests::fit_to_budget_under_budget_is_byte_identical ... ok test search::alloc::tests::keeps_all_when_under_budget ... ok test search::alloc::tests::negative_values_are_ordered_correctly ... ok test search::alloc::tests::ties_break_by_original_index ... ok test search::alloc::tests::zero_budget_keeps_nothing_costly ... ok test search::alloc::tests::zero_cost_block_always_kept ... ok test mcp::tools::read::tests::tool_read_batch_over_the_budget_shrinks_the_biggest_file_first ... ok test read::tests::ogate_flat_file_returns_full_when_outline_barely_compresses ... ok test search::blast::tests::a_blast_names_a_big_file_it_did_not_search ... ok test search::blast::tests::a_blast_that_hits_the_bound_says_its_counts_are_lower_bounds ... ok test read::tests::streamed_views_equal_the_whole_text_view ... ok test search::blast::tests::body_edit_does_not_trigger ... ok test search::blast::tests::a_blast_under_the_bound_gives_exact_counts ... ok test search::blast::tests::child_method_triggers ... ok test search::blast::tests::dedup_same_symbol ... ok test search::blast::tests::no_edits_no_results ... ok test search::blast::tests::no_entries_no_results ... ok test search::blast::tests::short_function_clamps_sig_end ... ok test search::blast::tests::signature_edit_triggers ... ok test search::blast::tests::signature_end_triggers ... ok test search::blast::tests::struct_does_not_trigger ... ok test read::tests::ogate_flat_file_over_the_budget_gets_its_outline_cut_to_fit ... ok test search::blast::tests::a_scope_through_a_symlink_keeps_own_calls_out ... ok test search::callers::tests::a_capped_caller_list_says_how_many_are_not_shown ... ok test search::blast::tests::calls_in_the_edited_file_do_not_count_toward_the_bound ... ok test search::blast::tests::a_symbol_the_stopped_walk_found_no_calls_for_is_not_counted ... ok test search::callers::tests::call_text_falls_back_to_the_callee_line_across_languages ... ok test search::callers::tests::callers_sees_calls_inside_macro_arguments ... ok test search::callers::tests::no_callers_message_for_seen_symbol_lists_indirection_modes ... ok test search::callers::tests::no_callers_message_for_unseen_symbol_says_typo_or_scope ... ok test search::callers::tests::no_callers_message_includes_glob_hint_when_glob_set ... ok test search::callers::tests::no_callers_message_omits_glob_hint_when_no_glob ... ok test search::callers::tests::second_hop_counts_a_method_several_types_define_apart ... ok test search::callers::tests::a_second_hop_through_a_method_says_it_matched_by_name ... ok test search::callers::tests::footer_count_uses_pre_truncation_caller_set ... ok test search::callers::tests::second_hop_reaches_the_callers_of_a_method ... ok test search::deps::tests::a_budget_cut_says_how_many_dependents_are_not_listed ... ok test search::deps::tests::default_lists_fifteen_and_counts_the_rest ... ok test search::deps::tests::dependents_matched_by_name_only_are_counted_apart ... ok test search::deps::tests::full_lists_every_dependent ... ok test search::deps::tests::importers_and_unsearched_names_are_shown ... ok test search::glob::tests::binary_probe_window_is_exactly_512_bytes ... ok test search::glob::tests::file_preview_renders_binary_type_not_tokens ... ok test search::callers::tests::a_qualified_target_finds_the_calls_of_its_name ... ok test search::content::completeness_tests::per_file_cap_bounds_collection_without_changing_results ... ok test overview::tests::test_fingerprint_on_tilth ... ok test search::glob::tests::glob_total_found_counts_every_match ... ok test search::content::completeness_tests::content_search_totals_are_complete_and_deterministic ... ok test search::grok::tests::format_grok_marks_ambiguous_target ... ok test search::glob::tests::glob_selection_is_deterministic_and_sorted ... ok test search::grok::tests::format_grok_shows_truncation_tail ... ok test search::grok::tests::an_imported_file_over_the_size_limit_is_named_under_the_callees ... ok test search::grok::tests::format_grok_renders_full_sections ... ok test search::grok::tests::concurrent_groks_of_one_target_inline_the_body_once ... ok test search::grok::tests::format_groups_callers_by_file ... ok test search::grok::tests::format_groups_callees_by_file ... ok test search::callers::tests::caller_totals_are_exact_and_identical_across_runs ... ok test search::grok::tests::grok_assembles_callees_callers_siblings_tests ... ok test search::grok::tests::doc_headings_do_not_make_a_target_ambiguous ... ok test search::grok::tests::grok_caps_truncate_results ... ok test search::grok::tests::grok_does_not_list_a_recursive_method_as_its_own_caller ... ok test search::grok::tests::grok_counts_rust_test_dirs_and_test_functions_as_tests ... ok test search::grok::tests::grok_finds_rust_callers_inside_macro_arguments ... ok test search::grok::tests::grok_path_line_on_a_decorator_resolves_to_the_decorated_definition ... ok test search::grok::tests::grok_includes_target_body ... ok test search::grok::tests::grok_names_the_owners_when_the_qualifier_matches_none ... ok test search::grok::tests::grok_keeps_its_callers_when_test_callers_outnumber_them ... ok test search::grok::tests::grok_recognizes_go_test_callers ... ok test search::grok::tests::grok_recognizes_python_test_callers ... ok test search::grok::tests::grok_repeat_call_degrades_target_body ... ok test search::grok::tests::grok_resolves_go_type_and_grouped_const ... ok test search::grok::tests::grok_caller_totals_are_exact_and_spread_across_files ... ok test search::grok::tests::line_lookup_finds_top_level_entry ... ok test search::grok::tests::line_lookup_miss_returns_none ... ok test search::grok::tests::line_lookup_prefers_deepest_match ... ok test search::grok::tests::line_lookup_returns_parent_when_no_child_match ... ok test search::grok::tests::parse_spec_bare_symbol ... ok test search::grok::tests::parse_spec_dotted_path_line ... ok test search::grok::tests::parse_spec_numeric_suffix_without_path_separator_is_symbol ... ok test search::grok::tests::parse_spec_path_line ... ok test search::grok::tests::parse_spec_trailing_colon_no_digits_is_symbol ... ok test search::grok::tests::parse_spec_type_path_is_symbol ... ok test search::grok::tests::read_delegate_content_caps_cross_file_reads ... ok test search::grok::tests::grok_short_body_not_degraded ... ok test search::grok::tests::resolve_by_path_line_finds_enclosing_function ... ok test search::grok::tests::resolve_by_path_line_missing_file_is_io_error ... ok test search::grok::tests::resolve_by_path_line_reads_non_utf8_code_file_lossily ... ok test search::grok::tests::resolve_by_path_line_refuses_binary_code_file_by_design ... ok test search::grok::tests::resolve_by_path_line_refuses_over_cap_code_file ... ok test search::grok::tests::resolve_by_path_line_rejects_non_code_file ... ok test search::grok::tests::resolve_by_path_line_returns_not_found_outside_any_entry ... ok test search::grok::tests::resolve_by_name_refusal_names_the_query_not_the_path ... ok test search::grok::tests::siblings_functions_before_fields ... ok test search::grok::tests::siblings_methods_uses_parent_children ... ok test search::grok::tests::siblings_top_level_skips_target_and_imports ... ok test search::grok::tests::slice_body_clamps_when_end_past_eof ... ok test search::grok::tests::slice_body_elides_long_bodies ... ok test search::grok::tests::slice_body_handles_degenerate_range ... ok test search::grok::tests::slice_body_returns_full_body_when_under_cap ... ok test search::grok::tests::slice_body_zero_cap_suppresses_body ... ok test search::grok::tests::start_line_lookup_matches_exact_start ... ok test search::grok::tests::start_line_lookup_no_match_returns_none ... ok test search::grok::tests::resolve_target_dispatches_path_line ... ok test search::grok::tests::grok_and_search_share_the_expansion_of_an_annotated_definition ... ok test search::grok::tests::thinwrap_multiple_callees_does_not_expand ... ok test search::grok::tests::grok_stale_after_edit_re_inlines_full_body ... ok test search::grok::tests::grok_resolves_a_qualified_name_by_its_owner ... ok test search::grok::tests::thinwrap_non_wrapper_does_not_expand ... ok test search::grok::tests::thinwrap_large_single_call_fn_not_expanded_even_on_regrok ... ok test search::rank::tests::fixture_penalty_examples_component_penalized ... ok test search::rank::tests::fixture_penalty_examples_substring_not_penalized ... ok test search::rank::tests::fixture_penalty_flags_fixture_component ... ok test search::rank::tests::fixture_penalty_zero_for_normal_code ... ok test search::rank::tests::incidental_text_penalty_comment_line ... ok test search::rank::tests::incidental_text_penalty_doc_comment_exempt ... ok test search::rank::tests::incidental_text_penalty_hash_comment_in_python ... ok test search::rank::tests::incidental_text_penalty_no_hash_false_positive ... ok test search::rank::tests::incidental_text_penalty_no_star_false_positive ... ok test search::rank::tests::incidental_text_penalty_no_string_literal_heuristic ... ok test search::rank::tests::incidental_text_penalty_skip_definitions ... ok test search::rank::tests::incidental_text_penalty_trailing_comment ... ok test search::rank::tests::incidental_text_penalty_url_not_comment ... ok test search::rank::tests::non_code_penalty_docs_positive ... ok test search::rank::tests::non_code_penalty_example_component_penalized ... ok test search::rank::tests::non_code_penalty_example_substring_not_penalized ... ok test search::rank::tests::non_code_penalty_generated_without_dist ... ok test search::rank::tests::non_code_penalty_no_double_penalty_for_build ... ok test search::rank::tests::non_code_penalty_no_double_penalty_for_dist ... ok test search::rank::tests::non_code_penalty_normal_code_zero ... ok test search::rank::tests::prefers_exact_definition_name_over_usage ... ok test search::rank::tests::prefers_exported_api_over_local_definition ... ok test search::rank::tests::prefers_model_mapping_logic_over_docs_for_alias_query ... ok test search::rank::tests::prefers_non_test_match_for_non_test_query ... ok test search::rank::tests::prefers_real_definition_over_fixture_match ... ok test search::rank::tests::prefers_thinking_logic_over_schema_for_concept_query ... ok test search::rank::tests::prefers_same_subtree_as_context ... ok test search::rank::tests::retain_top_k_keeps_exactly_what_a_full_sort_keeps ... ok test search::rank::tests::sign_convention_all_penalties_positive ... ok test search::rank::tests::vendor_path_detects_dist_and_build ... ok test search::siblings::tests::find_parent_entry_locates_entry_owning_the_line ... ok test search::siblings::tests::find_parent_entry_returns_none_when_no_child_matches ... ok test search::siblings::tests::resolve_siblings_breaks_ties_alphabetically_within_kind ... ok test search::siblings::tests::resolve_siblings_copies_matched_child_fields ... ok test search::siblings::tests::resolve_siblings_falls_back_to_name_when_signature_missing ... ok test search::siblings::tests::resolve_siblings_orders_functions_before_fields ... ok test search::siblings::tests::resolve_siblings_skips_names_with_no_matching_child ... ok test search::siblings::tests::resolve_siblings_truncates_at_max_siblings ... ok test search::strip::tests::comment_stripped_unless_marker ... ok test search::strip::tests::consecutive_blanks_collapsed ... ok test search::strip::tests::extensionless_bash_dotfile_not_stripped ... ok test search::strip::tests::go_fmt_println_stripped ... ok test search::grok::tests::thinwrap_no_recursion_one_level_only ... ok test search::strip::tests::js_console_log_stripped ... ok test search::strip::tests::jsdoc_continuation_preserved ... ok test search::strip::tests::no_range_returns_empty ... ok test search::strip::tests::python_print_stripped ... ok test search::strip::tests::ruby_not_supported ... ok test search::strip::tests::rust_debug_log_stripped ... ok test search::strip::tests::unsupported_lang_returns_empty ... ok test search::grok::tests::thinwrap_wrapper_expands_delegate_body ... ok test mcp::tools::read::tests::tool_read_without_a_budget_fits_the_outline_to_the_default ... ok test search::grok::tests::type_method_regression_real_impl_block ... ok test search::symbol::tests::a_generator_function_is_a_definition ... ok test search::grok::tests::grok_resolves_names_qualified_by_a_module_or_self ... ok test search::symbol::tests::a_decorated_definition_is_found_on_its_name_line ... ok test search::symbol::tests::a_qualified_name_keeps_its_literal_usages ... ok test search::symbol::tests::a_qualified_name_with_no_such_owner_lists_the_owners_found ... ok test search::symbol::tests::a_ruby_bang_method_has_usages ... ok test search::symbol::tests::a_self_qualifier_skips_free_functions ... ok test search::symbol::tests::a_class_under_top_level_control_flow_keeps_its_methods ... ok test search::symbol::tests::a_header_holding_cpp_is_searched_as_cpp ... ok test search::symbol::tests::a_bash_assignment_in_a_function_is_a_global_definition ... ok test search::symbol::tests::a_definition_with_a_qualified_name_is_found_by_it ... ok test search::symbol::tests::a_qualified_name_finds_the_definition_its_owner_holds ... ok test search::symbol::tests::a_wrapped_declaration_is_one_definition ... ok test search::symbol::tests::a_qualifier_naming_a_module_or_self_finds_the_definition ... ok test search::symbol::tests::cpp_destructor_and_operator_definitions_keep_their_spelling ... ok test search::symbol::tests::c_function_definition_spans_its_body ... ok test search::symbol::tests::csharp_method_in_namespaced_class_is_a_definition ... ok test search::symbol::tests::collection_bound_does_not_change_the_result ... ok test search::symbol::tests::elixir_definitions_detected ... ok test search::symbol::tests::elixir_delegate_and_nested_modules ... ok test search::symbol::tests::elixir_guard_clause_definitions ... ok test search::symbol::tests::elixir_multi_clause_and_no_arg ... ok test search::symbol::tests::elixir_protocol_impl_exception ... ok test mcp::tools::read::tests::tool_read_batch_shares_the_budget_between_files ... ok test search::symbol::tests::full_flag_raises_match_cap ... ok test search::symbol::tests::go_function_local_declarations_are_not_definitions ... ok test search::symbol::tests::decorators_beside_a_definition_are_in_its_range ... ok test search::symbol::tests::go_multi_name_specs_define_every_name ... ok test search::symbol::tests::go_package_level_declarations_detected ... ok test search::symbol::tests::markdown_code_block_lines_do_not_match ... ok test search::symbol::tests::markdown_hashes_without_space_are_not_headings ... ok test search::symbol::tests::markdown_heading_levels_one_through_six ... ok test search::symbol::tests::markdown_heading_named_for_query_matches ... ok test search::symbol::tests::markdown_heading_with_trailing_hashes_matches ... ok test search::symbol::tests::markdown_heading_with_up_to_three_space_indent_matches ... ok test search::symbol::tests::markdown_heading_without_query_does_not_match ... ok test search::symbol::tests::markdown_query_with_hyphen_matches ... ok test search::symbol::tests::markdown_section_span_handles_heading_with_no_body ... ok test search::symbol::tests::markdown_section_span_runs_to_eof_when_no_following_heading ... ok test search::symbol::tests::markdown_section_span_runs_to_higher_level_heading ... ok test search::symbol::tests::markdown_section_span_runs_to_next_same_level_heading ... ok test search::symbol::tests::markdown_section_span_skips_deeper_subheadings ... ok test search::symbol::tests::markdown_substring_inside_word_does_not_match ... ok test search::symbol::tests::markdown_whole_word_in_phrase_matches ... ok test read::tests::ogate_large_compressible_file_returns_outline ... ok test search::symbol::tests::go_type_and_grouped_const_are_definitions ... ok test search::symbol::tests::abstract_classes_and_their_members_are_definitions ... ok test search::symbol::tests::c_definitions_are_found_by_their_bare_name ... ok test search::symbol::tests::rust_definitions_detected ... ok test search::symbol::tests::stratify_for_display_keeps_code_defs_above_doc_defs ... ok test search::symbol::tests::each_name_of_a_multi_name_declaration_is_a_definition ... ok test search::symbol::tests::typescript_export_const_detected_as_definition ... ok test search::symbol::tests::members_of_nested_types_are_definitions ... ok test search::symbol::tests::python_nesting_counts_from_the_file_root ... ok test search::tests::a_big_binary_file_is_not_named_as_holding_the_query ... ok test search::symbol::tests::cpp_definitions_are_found_by_their_bare_name ... ok test search::tests::a_big_log_with_a_stray_nul_is_named_when_it_holds_the_query ... ok test search::symbol::tests::ruby_classes_modules_and_methods_are_definitions ... ok test search::tests::a_byte_order_mark_stays_out_of_search_output ... ok test search::tests::boost_query_routes_impl_target_into_truncation ... ok test search::tests::a_big_one_line_file_is_named_when_it_holds_the_query ... ok test search::symbol::tests::function_locals_are_not_definitions ... ok test search::tests::a_file_over_the_size_limit_is_named_when_it_holds_the_query ... ok test search::tests::a_tight_budget_keeps_the_definition_without_its_body ... ok test search::symbol::tests::symbol_totals_are_exact_and_identical_across_runs ... ok test search::tests::content_search_finds_symbol_through_symlink ... ok test search::tests::a_qualified_query_notes_only_what_holds ... ok test search::tests::count_label_renders_displayed_over_total_only_when_truncated ... ok test search::tests::content_search_discloses_the_display_cap ... ok test search::tests::format_matches_segments_record_correct_byte_ranges ... ok test search::tests::format_grouped_usages_emits_h3_heading ... ok test search::tests::format_single_match_inlines_markdown_section_body ... ok test search::tests::format_single_match_markdown_cap_bypasses_expand_budget ... ok test search::tests::format_single_match_renders_usage_scope_suffix ... ok test search::tests::markdown_preview_cap_constant_unchanged ... ok test search::tests::format_single_match_caps_long_markdown_section ... ok test search::tests::markdown_scope_rejects_seven_hash_atx_heading ... ok test search::symbol::tests::members_of_wrapped_and_namespaced_types_are_definitions ... ok test search::tests::markdown_scope_returns_none_before_first_heading ... ok test search::tests::markdown_scope_skips_hashes_inside_fenced_code ... ok test search::tests::markdown_scope_truncates_long_headings ... ok test search::tests::markdown_scope_rejects_no_space_atx_heading ... ok test search::tests::names_read_as_one_phrase ... ok test search::tests::scope_label_code_combines_kind_and_name ... ok test search::tests::scope_label_markdown_returns_section ... ok test search::tests::search_outline_context_reads_a_cpp_header_as_cpp ... ok test search::tests::capped_symbol_results_disclose_in_the_header_and_never_globally ... ok test search::tests::write_hidden_tail_emits_only_when_truncated ... ok test search::truncate::tests::blank_and_comment_lines_deprioritized ... ok test search::truncate::tests::boundary_79_line_gap_does_not_trigger ... ok test search::truncate::tests::control_flow_lines_preferred ... ok test search::truncate::tests::empty_query_behaves_like_none ... ok test search::truncate::tests::error_handling_lines_preferred ... ok test search::truncate::tests::exactly_80_line_gap_triggers_truncation ... ok test search::tests::content_search_glob_restricts_results ... ok test search::truncate::tests::long_function_returns_some ... ok test search::truncate::tests::query_boost_preserves_neighbour ... ok test search::truncate::tests::query_boost_rescues_needle_line ... ok test search::truncate::tests::short_function_returns_none ... ok test tests::missing_scope_hint_does_not_scan_above_the_project ... ok test tests::missing_scope_hint_does_not_scan_from_a_frame_of_root_or_home ... ok test tests::missing_scope_hint_falls_back_to_the_nearest_parent ... ok test tests::missing_scope_hint_finds_the_name_deeper ... ok test search::tests::search_symbol_expanded_threads_real_budget_into_value_selection ... ok test tests::missing_scope_hint_names_a_close_sibling ... ok test tests::refuse_file_scope_only_refuses_files ... ok test tests::missing_scope_hint_scans_the_checkout_the_scope_points_into ... ok test search::tests::format_single_match_does_not_duplicate_expanded_line ... ok test search::tests::search_symbol_expanded_no_budget_matches_default_budget_output ... ok test search::tests::callers_search_glob_restricts_results ... ok test search::symbol::tests::declarations_of_every_language_are_definitions ... ok test tests::zero_hit_path_query_still_reports_the_missing_path ... ok test search::tests::symbol_search_glob_restricts_results ... ok test tests::zero_hit_search_keeps_the_file_name_hint ... ok test timeout::tests::request_timeout_reads_env ... ok test timeout::tests::saturated_tracker_reports_at_cap ... ok test tests::fixture_keeps_the_cascade_stages_apart ... ok test util::tests::guarded_write_publishes_when_content_is_unchanged ... ok test timeout::tests::fast_work_returns_ok_without_counter_change ... ok test util::tests::guarded_write_refuses_when_content_changed_underneath ... ok test util::tests::guarded_write_refuses_when_target_disappeared ... ok test timeout::tests::worker_panic_surfaces_as_panic_failure ... ok test tests::zero_hit_search_says_no_matches ... ok test search::tests::caller_walks_name_a_big_file_that_holds_the_target ... ok test tests::run_full_keeps_default_cap_without_cli_full ... ok test tests::run_full_raises_match_cap_on_every_unexpanded_path ... ok test timeout::tests::abandoned_counter_roundtrips_through_cas ... ok test search::blast::tests::a_big_edited_file_is_not_named_as_skipped ... ok test result: ok. 733 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.15s Running unittests src/main.rs (target/aarch64-apple-darwin/release/deps/tilth-d3712dbc9dcbada9) running 8 tests test tests::bare_full_promotes_to_full_expand_cap ... ok test tests::explicit_expand_wins_over_full ... ok test tests::neither_flag_means_zero_expand ... ok test tests::write_output_returns_every_write_failure ... ok test tests::piped_invocation_does_not_auto_expand ... ok test tests::write_output_ends_with_exactly_one_newline ... ok test tests::cli_scope_refuses_a_file ... ok test tests::cli_scope_refuses_a_missing_directory ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/cli_output.rs (target/aarch64-apple-darwin/release/deps/cli_output-6ead024b8402a489) running 8 tests test completions_into_a_closed_pipe_exits_quietly ... ok test diff_into_a_closed_pipe_exits_quietly ... ok test read_into_a_closed_pipe_exits_quietly ... ok test map_into_a_closed_pipe_exits_quietly ... ok test json_search_into_a_closed_pipe_exits_quietly ... ok test search_into_a_closed_pipe_exits_quietly ... ok test a_missing_scope_is_refused_on_every_path ... ok test overview_into_a_closed_pipe_exits_quietly ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.95s Running tests/dropped_errors.rs (target/aarch64-apple-darwin/release/deps/dropped_errors-7774cdab9b33e845) running 10 tests test mcp_refuses_a_scope_it_cannot_enter ... ok test mcp_names_the_search_directory_when_it_ignores_late_roots ... ok test mcp_warns_about_a_client_root_it_cannot_enter ... ok test a_failed_relative_edit_gets_no_cross_worktree_warning ... ok test overview_reports_an_unreadable_working_directory ... ok test mcp_warns_about_an_unreadable_working_directory ... ok test write_names_an_unreadable_working_directory_for_a_relative_scope ... ok test write_names_an_unreadable_working_directory_as_the_refusal_cause ... ok test edit_warns_when_its_blast_radius_has_nowhere_to_search ... ok test relative_writes_that_cannot_be_checked_warn_once_per_batch ... ok test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s Running tests/expect_reasons.rs (target/aarch64-apple-darwin/release/deps/expect_reasons-dc27a718a4a212d3) running 2 tests test an_issue_reference_is_a_hash_and_digits_standing_alone ... ok test every_expect_reason_names_an_issue_or_is_by_design ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s Doc-tests tilth running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Finished cargoCheckHook checkPhase completed in 3 minutes 9 seconds Running phase: installPhase Executing cargoInstallHook Finished cargoInstallHook Running phase: fixupPhase checking for references to /nix/var/nix/builds/nix-10593-1164633637/ in /nix/store/f886s3hli7i03ad3cqlv2x1lqapiw9bp-tilth-0.14.0... patching script interpreter paths in /nix/store/f886s3hli7i03ad3cqlv2x1lqapiw9bp-tilth-0.14.0 stripping (with command strip and flags -S) in /nix/store/f886s3hli7i03ad3cqlv2x1lqapiw9bp-tilth-0.14.0/bin Running phase: installCheckPhase Executing versionCheckPhase Successfully managed to find version 0.14.0 in the output of the command /nix/store/f886s3hli7i03ad3cqlv2x1lqapiw9bp-tilth-0.14.0/bin/tilth --version tilth 0.14.0 Finished versionCheckPhase no Makefile or custom installCheckPhase, doing nothing