=== test-modern-but on hetzner-linux slot 0 at f6b99a798f1d4edce4a05db6cc4b0fbaa0df7d22 === + f6b99a798f Use Rustty for embedded terminals without requiring Zig cargo test -p but --no-default-features  Blocking waiting for file lock on package cache  Blocking waiting for file lock on package cache  Blocking waiting for file lock on package cache  Blocking waiting for file lock on package cache  Compiling regex-automata v0.4.18  Compiling bstr v1.12.3  Compiling regex v1.13.1  Compiling matchers v0.2.0  Compiling tracing-subscriber v0.3.23  Compiling posthog-rs v0.27.1  Compiling minus v5.6.1 (https://github.com/arijit79/minus?rev=57f1848f831d153a10d65060562ce1fdde938a01#57f1848f)  Compiling snapbox v0.6.24  Compiling gix-error v0.5.2 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-imara-diff v0.3.2 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-validate v0.11.2  Compiling gix-path v0.11.3  Compiling globset v0.4.18  Compiling gix-utils v0.5.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-validate v0.13.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-path v0.14.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-date v0.18.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-quote v0.10.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-hash v0.28.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-fs v0.24.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-command v0.12.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-chunk v0.10.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-actor v0.44.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-config-value v0.21.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-bitmap v0.6.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-packetline v0.24.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-url v0.40.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-tempfile v26.0.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-hashtable v0.18.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-commitgraph v0.42.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-glob v0.29.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-zlib v0.4.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-prompt v0.19.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-object v0.66.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-lock v26.0.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-credentials v0.42.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-refspec v0.47.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling ignore v0.4.26  Compiling git2-hooks v0.7.0  Compiling gix-attributes v0.37.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-ignore v0.24.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-shallow v0.15.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-transport v0.62.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling tracing-forest v0.3.1  Compiling tracing-appender v0.2.5  Compiling gix-pathspec v0.22.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-revwalk v0.38.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-ref v0.69.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-filter v0.36.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-pack v0.77.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-traverse v0.64.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-revision v0.52.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-negotiate v0.38.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-index v0.58.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-discover v0.57.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-config v0.62.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-protocol v0.68.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-worktree v0.59.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-odb v0.87.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-submodule v0.36.1 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-diff v0.70.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-dir v0.32.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-worktree-state v0.37.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-status v0.37.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-merge v0.23.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix-testtools v0.22.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling gix v0.90.0 (https://github.com/GitoxideLabs/gitoxide?rev=4dc73c31afa936828fca5bbf69ada5a94c480d43#4dc73c31)  Compiling but-utils v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-utils)  Compiling but-oxidize v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-oxidize)  Compiling but-project-handle v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-project-handle)  Compiling but-serde v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-serde)  Compiling git-meta-lib v0.1.12 (https://github.com/git-meta/git-meta?rev=335159aa4db1231d5bbea88184455638ac68b5b5#335159aa)  Compiling but-core v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-core)  Compiling but-db v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-db)  Compiling but-secret v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-secret)  Compiling but-forge-storage v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-forge-storage)  Compiling but-settings v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-settings)  Compiling but-gitlab v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-gitlab)  Compiling but-bitbucket v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-bitbucket)  Compiling but-github v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-github)  Compiling but-update v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-update)  Compiling but-graph v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-graph)  Compiling gitbutler-reference v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-reference)  Compiling gitbutler-commit v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-commit)  Compiling but-askpass v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-askpass)  Compiling but-forge v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-forge)  Compiling but-meta v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-meta)  Compiling but-branches v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-branches)  Compiling but-comments v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-comments)  Compiling gitbutler-project v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-project)  Compiling but-ctx v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-ctx)  Compiling but-gerrit v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-gerrit)  Compiling gitbutler-git v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-git)  Compiling but-hunk-dependency v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-hunk-dependency)  Compiling but-testsupport v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-testsupport)  Compiling gitbutler-repo v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-repo)  Compiling but-rebase v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-rebase)  Compiling but-hunk-assignment v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-hunk-assignment)  Compiling gitbutler-oplog v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-oplog)  Compiling but-workspace v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-workspace)  Compiling but-oplog v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-oplog)  Compiling but-tools v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-tools)  Compiling but-agentlog v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-agentlog)  Compiling but-llm v0.1.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-llm)  Compiling but-api v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-api)  Compiling but-transaction v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but-transaction)  Compiling but v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/but)  Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 55s  Running unittests src/lib.rs (target/debug/deps/but-613d371ea99a26d8) running 306 tests test args::tests::branch_update::parses_branch_update_verbose_short_flag ... ok test args::tests::clap ... ok test args::tests::config_ai::show_subcommand_parses ... ok test args::tests::config_ai::interactive_defaults_to_global_scope ... ok test args::tests::agent_setup::parses_bare_agent_as_no_subcommand ... ok test args::tests::config_feature::rejects_removed_single_branch_flag ... ok test alias::tests::default_alias_stf ... ok test args::tests::branch_update::parses_branch_update_smart_squash_strategy ... ok test args::tests::branch_update::parses_branch_update_pull_rebase_strategy ... ok test args::tests::agent_setup::parses_agent_setup_print ... ok test args::tests::config_feature::parses_feature_list ... ok test args::tests::branch_update::parses_branch_update_interactive ... ok test args::tests::config_ai::local_scope_flag_parses_before_provider ... ok test args::tests::agentlog::publish_parses_branch_shorthand ... ok test args::tests::agent_setup::parses_agent_setup ... ok test args::tests::branch_update::parses_branch_update_with_defaults ... ok test args::tests::config_target::parses_push_remote_for_fork ... ok test args::tests::help_rejects_unknown_topic ... ok test command::agent::cleanup::tests::leaves_current_bullet_alone ... ok test args::tests::branch_update::parses_branch_update_interactive_with_other_flags ... ok test args::tests::config_feature::rejects_feature_status_without_flag ... ok test args::tests::help_parses_without_topic ... ok test args::tests::config_target::parses_standalone_push_remote ... ok test args::tests::status_after_is_global_and_shown_in_help ... ok test command::agent::cleanup::tests::backs_off_when_the_file_changed_after_the_read ... ok test command::agent::cleanup::tests::cleanup_files_rewrites_and_reports_only_changed_files ... ok test args::tests::mcp_command_is_hidden_but_still_parses ... ok test command::agent::cleanup::tests::preserves_crlf_line_endings ... ok test command::agent::cleanup::tests::preserves_file_permissions ... ok test args::tests::config_target::target_push_remote_still_requires_target_branch ... ok test args::tests::find_subcommand::skips_root_options_including_short_clusters ... ok test command::agent::cleanup::tests::leaves_retired_bullet_outside_managed_block_alone ... ok test args::tests::output_format_agent_is_text_without_human_ui ... ok test args::tests::help_parses_cli_ids_topic ... ok test command::agent::tests::default_policy_omits_land_section_until_selected ... ok test command::agent::tests::agent_in_use_detects_home_config_dir ... ok test command::agent::cleanup::tests::rewrites_symlink_target_and_keeps_the_link ... ok test args::tests::agentlog::publish_parses_explicit_review_target ... ok test command::agent::tests::agent_in_use_detects_existing_skill_install ... ok test args::tests::config_ai::openai_non_interactive_parses_provider_flags ... ok test command::agent::tests::dirac_uses_shared_agent_skills_target ... ok test command::agent::tests::generated_policy_expands_selected_tuning_recipes ... ok test command::agent::tests::publish_phrase_opens_pull_request_without_push_to_target ... ok test command::agent::tests::instruction_writes_group_shared_agents_by_file ... ok test command::agent::tests::push_to_target_is_the_only_repo_local_option ... ok test command::agent::tests::remove_managed_blocks_keeps_surrounding_text_and_line_endings ... ok test command::agent::tests::poolside_skill_paths_follow_scope ... ok test command::agent::tests::instruction_writes_global_emits_print_note_for_agents_without_global_target ... ok test command::agent::tests::push_to_target_supersedes_publish_phrase_pull_requests ... ok test command::agent::tests::generated_policy_includes_selected_custom_values ... ok test command::agent::tests::agent_in_use_detects_repo_marker_but_ignores_shared_agents_md ... ok test command::agent::tests::repo_display_name_resolves_dot_to_current_folder_name ... ok test command::agent::tests::display_path_strips_leading_dot_component ... ok test command::agent::tests::skill_installs_global_only_uses_home_paths ... ok test command::agent::cleanup::tests::rewrites_retired_bullet_inside_managed_block ... ok test command::agent::tests::skill_installs_copilot_repo_and_global_diverge ... ok test command::agent::tests::deepseek_harness_uses_shared_agent_skills_target ... ok test command::agent::tests::upsert_managed_block_appends_without_touching_existing_text ... ok test command::agent::tests::repo_scoped_planning_requires_a_repository ... ok test command::agent::tests::scope_options_lead_with_global_and_name_repo ... ok test command::agent::tests::skill_installs_expand_both_scopes ... ok test command::agent::tests::display_path_collapses_home_to_tilde ... ok test command::agent::tests::upsert_managed_block_ignores_marker_quoted_in_prose ... ok test command::agent::tests::amp_installs_where_it_loads_skills_and_reads_agents_md ... ok test command::agent::tests::upsert_managed_block_ignores_marker_inside_fenced_code ... ok test command::agent::tests::upsert_managed_block_file_is_idempotent_and_creates_nested_dirs ... ok test command::agent::tests::workflow_row_keeps_non_repo_local_options_enabled_in_every_scope ... ok test command::agent::tests::workflow_row_disables_repo_local_option_outside_single_repo ... ok test command::agent::tests::upsert_managed_block_dedups_multiple_blocks ... ok test command::agent::tests::upsert_managed_block_rejects_partial_block ... ok test command::agent::tests::upsert_managed_block_replaces_crlf_block_without_mixed_endings ... ok test command::agent::tests::upsert_managed_block_file_preserves_preexisting_content ... ok test command::agent::tests::upsert_managed_block_replaces_existing_block_without_duplication ... ok test command::agent::tests::devin_uses_shared_agent_skills_target ... ok test command::agent::tests::generated_default_policy_includes_baseline_and_default_preferences ... ok test command::agent::tests::intro_explains_wizard_flow_before_first_prompt ... ok test command::agent::tests::upsert_managed_block_appends_with_crlf_separator ... ok test command::agent::tests::every_agent_resolves_to_a_skill_path_for_both_scopes ... ok test command::branch::update::tests::commit_row_marks_conflicted_commits ... ok test command::help::tests::test_print_grouped ... ok test command::alias::tests::alias_scopes_preserve_all_sources_and_precedence ... ok test command::mcp::tests::review_ci_aggregates_checks_with_failure_precedence ... ok test command::branch::update::tests::commit_row_leaves_unconflicted_commits_unmarked ... ok test command::agent::tests::upsert_managed_block_rejects_reversed_markers ... ok test command::mcp::tests::resources_use_the_mcp_app_contract ... ok test command::mcp::tests::review_card_maps_forge_review_state_and_actions ... ok test command::skill::freshness::tests::update_failure_notice_surfaces_the_error ... ok test command::mcp::tests::workspace_tool_links_to_mcp_app_resource ... ok test command::mcp::tests::review_tools_have_separate_model_and_app_visibility ... ok test command::skill::freshness::tests::agent_global_skill_dirs_match_agent_loaders ... ok test command::mcp::tests::workspace_detail_tools_are_read_only_and_app_only ... ok test command::skill::freshness::tests::kiro_and_junie_skill_dirs_are_available_locally ... ok test command::skill::tests::determine_install_scope_resolution_explicit_global_is_fixed_global ... ok test command::skill::tests::determine_install_scope_resolution_no_repo_context_is_fixed_global ... ok test command::skill::freshness::tests::not_installed_notice_explains_the_action ... ok test command::agent::tests::repository_agent_setup_does_not_prepare_the_repository ... ok test command::skill::tests::expand_tilde_handles_home_only ... ok test command::skill::tests::expand_tilde_handles_unix_path ... ok test command::skill::freshness::tests::agent_skill_installations_ignore_local_without_workdir ... ok test command::skill::tests::extract_installed_version_handles_version_with_comment ... ok test command::skill::tests::extract_installed_version_parses_frontmatter ... ok test command::skill::freshness::tests::local_agent_skills_installation_counts_for_agents_that_load_it ... ok test command::skill::tests::extract_installed_version_returns_none_for_missing_version ... ok test command::skill::tests::extract_installed_version_returns_none_for_no_frontmatter ... ok test command::skill::tests::extract_installed_version_returns_none_for_nonexistent_file ... ok test command::skill::tests::extract_installed_version_stops_at_frontmatter_end ... ok test command::skill::tests::embedded_files_are_not_empty ... ok test command::skill::tests::extract_installed_version_trims_whitespace ... ok test command::skill::tests::extract_installed_version_handles_empty_version ... ok test command::skill::tests::determine_install_scope_resolution_repo_context_prompts_user ... ok test command::skill::tests::extract_installed_version_handles_different_order ... ok test command::skill::tests::expand_tilde_handles_windows_path ... ok test command::skill::tests::extract_installed_version_handles_quoted_version ... ok test command::skill::tests::find_all_installations_discovers_skills_in_temp_dir ... ok test command::skill::tests::frontmatter_value_handles_crlf_line_endings ... ok test command::skill::tests::inject_version_handles_missing_version_field ... ok test command::skill::tests::get_base_dir_local_without_context_fails ... ok test command::skill::tests::inject_version_handles_old_mac_line_endings ... ok test command::skill::tests::find_format_installations_accepts_any_folder_name ... ok test command::skill::tests::frontmatter_close_ignores_a_rule_in_a_document_without_frontmatter ... ok test command::skill::tests::get_base_dir_global_returns_home ... ok test command::skill::tests::inject_version_replaces_in_frontmatter ... ok test command::skill::tests::expand_tilde_returns_none_for_non_tilde_path ... ok test command::skill::tests::inject_version_fallback_without_frontmatter ... ok test command::skill::tests::inject_version_handles_windows_line_endings ... ok test command::skill::tests::resolve_custom_path_expands_tilde ... ok test command::skill::tests::skill_check_result_outdated_count_accuracy ... ok test command::agent::cleanup::tests::skips_oversized_and_binary_files ... ok test command::skill::tests::skill_check_result_empty_skills ... ok test command::skill::tests::skill_entrypoint_is_written_last ... ok test command::skill::tests::skill_check_result_serializes_correctly ... ok test command::skill::tests::resolve_custom_path_handles_absolute_path ... ok test command::skill::tests::parse_yaml_value_handles_inline_comments ... ok test command::skill::tests::parse_yaml_value_handles_single_quoted_strings ... ok test command::skill::tests::is_gitbutler_skill_requires_name_but_in_frontmatter ... ok test command::skill::tests::parse_yaml_value_handles_double_quoted_strings ... ok test command::skill::tests::parse_yaml_value_handles_plain_values ... ok test command::skill::tests::parse_yaml_value_handles_quoted_with_comment ... ok test command::skill::tests::skill_format_get_install_path_joins_correctly ... ok test command::skill::tests::skill_file_display_path_is_derived_from_components ... ok test command::skill::tests::skill_formats_are_valid ... ok test command::skill::tests::skill_status_serializes_correctly ... ok test command::skill::tests::skill_status_up_to_date_logic ... ok test id::tests::a_file_literally_named_at_competes_with_the_uncommitted_area ... ok test id::tests::at_scopes_filenames_to_the_main_worktree ... ok test id::tests::branch_and_worktree_short_ids_do_not_collide ... ok test id::tests::branches_avoid_uncommitted_filenames ... ok test id::tests::branches_avoid_retired_uncommitted_area_id ... ok test id::tests::branches_work_with_single_character ... ok test id::tests::branch_that_is_substring_of_other_substring_still_gets_id ... ok test id::tests::branch_and_file_by_name ... ok test id::tests::change_ids_are_disambiguated_on_collision ... ok test id::tests::branches_avoid_invalid_ids ... ok test id::tests::colon_uncommitted_filename ... ok test id::tests::commit_id_appearing_multiple_times ... ok test id::tests::commit_id_works_with_two_or_more_characters ... ok test id::tests::dedupe_does_not_hide_ambiguity_between_branches_in_different_stacks ... ok test id::tests::commit_ids_become_longer_if_ambiguous ... ok test id::tests::commit_matches_are_deduplicated_by_commit_oid ... ok test id::tests::dedupe_does_not_hide_ambiguity_between_distinct_commits ... ok test id::tests::committed_hunk_equality ... ok test id::tests::duplicate_tree_changes_for_committed_files_are_coalesced_for_short_id_assignment ... ok test id::tests::dedupe_treats_unmanaged_branches_with_same_name_as_the_same_branch ... ok test command::skill::tests::skill_files_are_valid ... ok test id::tests::longer_id_is_ok ... ok test id::tests::committed_file_can_be_referenced_by_either_change_id_or_commit_id ... ok test id::tests::find_commits_by_change_id ... ok test id::tests::exact_branch_short_id_takes_priority ... ok test id::tests::generated_segment_ids_do_not_collide_with_worktree_names ... ok test id::tests::ids_are_case_sensitive ... ok test command::skill::tests::skill_installation_requires_every_embedded_file ... ok test command::skill::tests::write_skill_files_writes_versioned_bundle ... ok test id::tests::non_commit_ids_do_not_collide ... ok test id::tests::parsing_retired_uncommitted_area_errors ... ok test id::tests::uncommitted_file_to_id_qualifies_hunk_ids ... ok test id::tests::uint_id_from_short_id ... ok test id::tests::uint_id_to_short_id ... ok test id::tests::uncommitted_files_disambiguate_between_themselves ... ok test id::tests::committed_files_are_deduplicated_by_commit_oid_path ... ok test id::tests::short_uncommitted_files_are_properly_reverse_hexed ... ok test id::tests::uncommitted_files_avoid_retired_uncommitted_area_id ... ok test id::tests::reverse_hex_filename_is_its_own_id ... ok test id::tests::same_path_in_several_sources_gets_distinct_ids ... ok test id::tests::uncommitted_hunks_by_numeric_index ... ok test id::tests::uncommitted_hunks_by_id_collision_handling ... ok test id::tests::uncommitted_hunks_overspecifying_id_prefix_with_collision_disambiguation ... ok test id::tests::uncommitted_hunks_overspecifying_id_prefix ... ok test id::tests::uncommitted_scope_does_not_prefix_match_a_branch_short_id ... ok test id::tests::uncommitted_hunks_by_id ... ok test id::tests::uncommitted_files_disambiguate_with_branch ... ok test id::tests::worktree_uncommitted_area_id ... ok test command::mcp::tests::workspace_view_uses_the_current_workspace_api ... ok test id::tests::underspecifying_hunk_ids ... ok test id::tests::uncommitted_hunks_by_id_increase_id_length_as_necessary ... ok test tests::explicit_theme_overrides_detection_and_detection_falls_back_to_dark ... ok test id::tests::uncommitted_path ... ok test id::tests::uncommitted_selector_is_not_shadowed_by_commit_change_id ... ok test id::tests::worktree_commits_share_the_commit_namespace ... ok test id::id_usage::tests::true_exhaustion_remains_an_error ... ok test id::tests::worktree_container_id ... ok test theme::tests::empty_json_produces_default_theme ... ok test theme::tests::partial_json_fills_missing_fields_with_defaults ... ok test tests::watwat_enables_maximum_tracing ... ok test tests::repository_discovery_errors_keep_their_classification ... ok test tui::event_polling::tests::flushes_partial_sequence_when_no_more_input_is_available ... ok test tui::event_polling::tests::replays_events_when_sequence_is_not_sgr_mouse ... ok test tui::event_polling::tests::passes_non_key_events_through ... ok test theme::tests::round_trip_default_theme_through_json ... ok test theme::tests::terminal_theme_modes_map_to_presets ... ok test tui::editor::tests::hard_wrap_keeps_comment_lines_with_custom_prefix_intact ... ok test tui::event_polling::tests::drops_leaked_sgr_mouse_sequence ... ok test tests::ordinary_commands_are_unchanged_by_watwat_expansion ... ok test tui::get_text::tests::git_editor_takes_precedence ... ok test tui::get_text::tests::filter_content_from_editor_uses_comment_prefix ... ok test tui::get_text::tests::strip_html_comments_does_not_remove_comment_termination_without_start ... ok test tui::get_text::tests::from_editor_bails_on_bad_suffix ... ok test tui::get_text::tests::strip_html_comments_does_not_remove_unterminated_html_comment ... ok test tui::get_text::tests::strip_html_comments_correctly_strips_comments_that_start_within_another_comment ... ok test tui::get_text::tests::strip_html_comments_removes_all_html_comments ... ok test tui::get_text::tests::editor_used_as_last_env_fallback ... ok test command::mcp::tests::workspace_view_uses_the_first_applicable_file_root ... ok test tui::get_text::tests::falls_back_to_builtin_when_nothing_set ... ok test tui::get_text::tests::test_filter_content_from_editor ... ok test tui::get_text::tests::visual_used_when_no_git_editor ... ok test command::mcp::tests::branch_details_include_commits_and_upstream_state ... ok test command::mcp::tests::commit_details_include_files_and_line_stats ... ok test tests::detected_agent_preserves_environment_output_format ... ok test tests::detected_agent_defaults_to_agent_output ... ok test tests::terminal_theme_detection_is_limited_to_interactive_human_output ... ok test tests::detected_agent_defaults_early_help_to_agent_output ... ok test tui::table::tests::render_truncates_cells_by_default ... ok test tui::table::tests::render_keeps_full_cells_when_truncation_is_disabled ... ok test tui::text::strip_ansi_codes_tests::plain_text_is_unchanged_by_strip_ansi ... ok test tui::text::strip_ansi_codes_tests::broken_ansi_sequence_is_handled_without_panic ... ok test tui::text::truncate_text_tests::ansi_codes_only_produce_no_visible_output_within_width ... ok test tui::text::strip_ansi_codes_tests::strip_ansi_removes_color_codes ... ok test tui::text::truncate_text_tests::ansi_colored_text_is_truncated_without_counting_escapes ... ok test tui::picker::tests::build_picker_items_never_selects_a_disabled_row ... ok test tui::picker::tests::build_picker_items_marks_disabled_indices ... ok test tui::text::truncate_text_tests::cjk_double_width_characters ... ok test tui::text::truncate_text_tests::cjk_does_not_exceed_max_width ... ok test tests::expanded_alias_arguments_control_terminal_theme_detection ... ok test tui::picker::tests::multi_select_confirms_even_with_cursor_on_a_disabled_row ... ok test tui::picker::tests::help_is_a_pinned_footer_and_rows_do_not_reflow ... ok test tui::picker::tests::disabled_row_renders_unavailable_marker_and_cannot_toggle ... ok test tui::text::truncate_text_tests::text_exceeding_limit_is_truncated_with_ellipsis ... ok test tui::text::truncate_text_tests::truncation_preserves_exact_boundary ... ok test tui::text::truncate_text_tests::truncation_does_not_drop_plain_text_when_boundary_ends_with_m ... ok test tui::text::truncate_text_tests::max_width_of_one_gives_ellipsis_only ... ok test tui::picker::tests::multi_select_marks_default_indices_selected ... ok test tui::text::truncate_text_tests::zero_width_combining_characters_are_handled ... ok test tui::text::truncate_text_tests::empty_text_stays_empty ... ok test tui::text::truncate_text_tests::emoji_characters ... ok test tui::text::truncate_text_tests::max_width_of_two_keeps_one_character_plus_ellipsis ... ok test utils::metrics::tests::agent_setup_outcome_properties_are_centralized ... ok test utils::diff_rendering::tests::renders_the_hunks_stored_in_the_selection ... ok test utils::metrics::tests::change_count_buckets_are_low_cardinality ... ok test tui::text::truncate_text_tests::text_at_exact_limit_is_not_truncated ... ok test utils::diff_rendering::tests::formats_numbers_with_dot_thousands_separators ... ok test utils::diff_rendering::tests::computes_stats_from_the_supplied_hunks ... ok test tui::text::truncate_text_tests::unicode_single_width_characters ... ok test utils::diff_rendering::tests::expands_tabs_to_four_column_stops_across_spans ... ok test tui::text::truncate_text_tests::max_width_of_zero_gives_empty_string ... ok test tui::picker::tests::moving_cursor_up_and_down_multi ... ok test utils::metrics::tests::command_failures_do_not_guess_mutation_outcomes ... ok test utils::metrics::tests::command_rejections_bypass_sampling ... ok test utils::metrics::tests::commands_with_their_own_event_lifecycle_do_not_create_cli_context ... ok test utils::metrics::tests::cli_command_sampling_policy_matches_expected_rates ... ok test utils::metrics::tests::experimental_metric_names_require_nightly ... ok test utils::metrics::tests::external_extra_props_include_sanitized_subcommand ... ok test utils::metrics::tests::cli_error_metrics_use_low_cardinality_failure_details ... ok test tui::picker::tests::moving_cursor_up_and_down_single ... ok test utils::metrics::tests::formerly_unknown_commands_use_explicit_names ... ok test utils::metrics::tests::initialization_errors_use_distinct_kind_without_private_details ... ok test utils::metrics::tests::formerly_unclassified_commands_have_explicit_names ... ok test utils::metrics::tests::full_rate_cli_events_include_sampling_rate ... ok test utils::metrics::tests::internal_errors_omit_private_details ... ok test utils::metrics::tests::legacy_transport_events_without_a_rate_use_full_rate ... ok test utils::metrics::tests::extra_props_keep_useful_source_and_target_kinds ... ok test utils::metrics::tests::status_events_include_one_percent_sampling_rate ... ok test utils::metrics::tests::transport_rejects_malformed_or_invalid_rates ... ok test utils::metrics::tests::metrics_use_invoked_command_names ... ok test utils::output_channel::tests::agent_output_does_not_allow_progress ... ok test utils::metrics::tests::successful_sampled_events_can_be_dropped ... ok test utils::output_channel::tests::ctrl_c_ends_input ... ok test utils::metrics::tests::transport_failures_without_a_rate_are_kept ... ok test utils::tests::test_command_isolation_removes_all_agent_environment_variables ... ok test utils::time::tests::format_relative_time_days ... ok test utils::metrics::tests::transport_keeps_a_valid_parent_rate_without_resampling ... ok test utils::time::tests::format_relative_time_seconds ... ok test utils::output_channel::tests::ctrl_d_only_ends_input_when_line_is_empty ... ok test utils::output_channel::tests::agent_output_is_human_text_not_json ... ok test utils::output_channel::tests::agent_output_never_uses_pager ... ok test utils::time::tests::format_relative_time_hours ... ok test utils::output_channel::tests::agent_output_does_not_truncate_unpaged_text ... ok test utils::time::tests::format_relative_time_minutes ... ok test utils::time::tests::format_relative_time_verbose_journey ... ok test utils::diff_rendering::tests::bundled_syntaxes_include_swift ... ok test utils::metrics::tests::workspace_shape_counts_lanes_and_stacked_branches ... ok test utils::metrics::tests::checkout_context_names_the_checkout_kind_and_workspace_mode ... ok test utils::metrics::tests::workspace_shape_never_initializes_a_project ... ok test tui::picker::tests::no_footer_when_no_row_has_help ... ok test tui::picker::tests::single_select_does_not_confirm_on_a_disabled_row ... ok test tui::picker::tests::single_select_rows_have_no_checkbox ... ok test id::tests::many_uncommitted_files_do_not_exhaust_generated_ids ... ok test tui::picker::tests::single_select_cursor_starts_at_topmost_default_in_range ... ok test result: ok. 306 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.13s  Running unittests src/main.rs (target/debug/deps/but-dba3b27a434a06d5) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s  Running tests/but/main.rs (target/debug/deps/but-4e6a80397f02565a) running 71 tests test command::agent::agent_setup_print_outputs_default_managed_policy ... ok test command::agent::agent_setup_print_json_outputs_policy_field ... ok test command::agent::agent_setup_without_tty_points_to_print_mode ... ok test command::config::config_push_remote_rejects_unknown_remote_without_changing_metadata ... ok test command::config::config_push_remote_sets_push_remote ... ok test command::config::ai_show_outputs_current_global_configuration_human ... ok test command::config::ai_openai_byok_without_api_key_fails_non_interactive ... ok test command::config::global_user_configuration_creates_parent_for_relative_path ... ok test command::config::ai_anthropic_byok_without_api_key_fails_non_interactive ... ok test command::external::delegates_plain_name_to_but_prefixed_executable ... ok test command::config::ai_ollama_local_writes_repo_config ... ok test command::config::feature_config_lists_no_flags ... ok test command::config::ai_global_config_works_outside_repository ... ok test command::config::feature_config_json_lists_no_flags ... ok test command::external::friendly_error_when_no_such_command_exists ... ok test command::config::ai_show_outputs_current_global_configuration_json ... ok test command::config::config_push_remote_shows_effective_remote ... ok test command::config::ai_openai_defaults_to_global_config ... ok test command::external::refuses_to_execute_command_with_forward_slash ... ok test command::external::preserves_external_command_exit_code_without_extra_error ... ok test command::external::removed_rub_command_teaches_its_replacements ... ok test command::external::refuses_to_execute_command_with_dot ... ok test command::external::prefers_builtin_command_when_external_command_clashes ... ok test command::gui::good_error_message_for_non_directories ... ok test command::external::propagates_reasonable_error_when_program_is_not_executable ... ok test command::help::nonexistent_comman_shows_friendly_error ... ok test command::config::ai_show_outputs_current_local_configuration_json ... ok test command::alias::local_alias_roundtrip_uses_repo_config ... ok test command::onboarding::first_run_shows_metrics_message ... ok test command::agent::agent_uninstall_removes_skills_and_gitbutler_sections_only ... ok test command::onboarding::json_mode_is_silent_but_marks_complete ... ok test command::format::json_flag_can_be_placed_before_or_after_subcommand ... ok test command::onboarding::second_run_is_silent ... ok test command::help::help_help_should_be_help ... ok test command::skill::serve::skill_full_appends_every_reference_with_separators ... ok test command::alias::global_aliases_work_outside_a_repository ... ok test command::help::top_level_help_honors_agent_format_after_help_flag ... ok test command::skill::serve::skill_check_update_keeps_a_stale_stub_a_stub ... ok test command::skill::serve::skill_doc_subcommands_print_one_reference_each ... ok test command::skill::serve::skill_prints_the_core_guide_without_frontmatter ... ok test command::skill::serve::skill_json_carries_the_doc_and_full_references ... ok test command::config::global_user_configuration_works_outside_a_repository ... ok test command::skill::serve::skill_prints_the_guide_inside_an_unreadable_repository ... ok test command::skill::skill_check_json_output_is_valid ... ok test command::skill::skill_check_local_outside_repo_fails ... ok test command::skill::serve::skill_install_stub_writes_one_marked_file_that_check_accepts ... ok test command::skill::serve::skill_install_stub_over_a_full_install_removes_the_references ... ok test command::skill::serve::skill_install_stub_removes_a_stray_references_file ... ok test command::skill::serve::skill_install_stub_removes_a_symlinked_references_dir_without_following_it ... ok test command::skill::serve::skill_install_detect_reports_files_per_location_when_layouts_differ ... ok test command::skill::agent_skill_notice_accepts_compatible_shared_local_install ... ok test command::skill::skill_install_absolute_path_outside_repo_does_not_require_global ... ok test command::skill::agent_skill_notice_reports_a_stale_local_skill_despite_a_current_global_copy ... ok test command::skill::skill_check_detects_agent_skills_installation_in_repo ... ok test command::skill::skill_check_ignores_format_outside_its_scope ... ok test command::skill::skill_check_marks_an_incomplete_bundle_outdated ... ok test command::skill::serve::agent_skill_notice_accepts_a_stub_install ... ok test command::skill::skill_install_json_outside_repo_requires_path_instead_of_repo_context ... ok test command::skill::skill_install_explicit_path_does_not_claim_the_agent_will_load_it ... ok test command::skill::skill_install_path_outside_repo_requires_global ... ok test command::skill::skill_install_detect_finds_agent_skills_installation_in_repo ... ok test command::skill::agent_skill_notice_gating ... ok test command::skill::agent_skill_notice_repairs_another_agents_stale_global_skill ... ok test command::skill::skill_install_surfaces_non_repo_discovery_errors ... ok test command::skill::skill_global_install_and_check_work_inside_an_unreadable_repository ... ok test command::skill::skill_install_bare_defaults_to_detected_agents_global_dir ... ok test command::skill::skill_check_update_repairs_a_stale_local_skill ... ok test command::skill::skill_install_detect_updates_every_installation_in_scope ... ok test command::skill::agent_skill_notice_is_scoped_to_the_driving_agents_format ... ok test command::skill::unrelated_update_failure_does_not_hide_missing_skill_hint ... ok test ignored_tests_have_linear_tickets ... ok test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.05s  Running tests/theme.rs (target/debug/deps/theme-f3e1dac221a4418f) running 2 tests test paint_produces_self_contained_string_styling ... ok test paint_respects_colored_control_disable ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s  Doc-tests but running 4 tests test crates/but/src/theme.rs - theme::Paint (line 99) ... ignored test crates/but/src/utils/output_channel.rs - utils::output_channel::InputOutputChannel<'_>::confirm (line 425) ... ignored test crates/but/src/utils/output_channel.rs - utils::output_channel::InputOutputChannel<'_>::confirm_no_default (line 464) ... ignored test crates/but/src/utils/output_channel.rs - utils::output_channel::InputOutputChannel<'_>::prompt (line 365) ... ignored test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s all doctests ran in 0.20s; merged doctests compilation took 0.20s  Compiling regex-automata v0.4.18  Compiling regex v1.13.1  Compiling rstest_macros v0.26.1  Compiling rstest v0.26.1  Compiling gitbutler-notify-debouncer v0.0.0 (/home/ci/taste/slot-0/lanes/test-modern-but/crates/gitbutler-filemonitor/vendor/debouncer)  Finished `test` profile [unoptimized + debuginfo] target(s) in 6.78s  Running unittests src/lib.rs (/home/ci/taste/slot-0/lanes/test-modern-but/target/debug/deps/gitbutler_notify_debouncer-3bb9fc318f12a240) running 35 tests test tests::state::file_name_05___add_rename_from_event__ ... ok test tests::state::file_name_13___add_rename_from_and_to_event_after_create__ ... ok test tests::state::file_name_11___add_rename_to_dir_event__ ... ok test tests::state::file_name_15___add_rename_from_and_to_event_after_modify_content__ ... ok test tests::state::file_name_10___add_rename_to_event__ ... ok test tests::state::file_name_12___add_rename_from_and_to_event__ ... ok test tests::state::file_name_18___add_rename_from_and_to_event_override_removed__ ... ok test tests::state::file_name_03___add_create_dir_event_twice__ ... ok test tests::state::file_name_17___add_rename_from_and_to_event_override_modified__ ... ok test tests::state::file_name_21___add_rename_from_and_to_event_with_different_tracker__ ... ok test tests::state::file_name_22___add_rename_both_event__ ... ok test tests::state::file_name_19___add_rename_from_and_to_event_with_file_ids__ ... ok test tests::state::file_name_20___add_rename_from_and_to_event_with_different_file_ids__ ... ok test tests::state::file_name_04___add_modify_content_event_after_create_event__ ... ok test tests::state::file_name_09___add_rename_from_event_after_rename_from_event__ ... ok test tests::state::file_name_23___add_remove_event__ ... ok test tests::state::file_name_27___add_remove_parent_event_after_remove_child_event__ ... ok test tests::state::file_name_28___add_errors__ ... ok test tests::state::file_name_08___add_rename_from_event_after_create_and_modify_event__ ... ok test tests::state::file_name_02___add_create_event_after_remove_event__ ... ok test tests::state::file_name_01___add_create_event__ ... ok test tests::state::file_name_07___add_rename_from_event_after_modify_event__ ... ok test tests::state::file_name_14___add_rename_from_and_to_event_after_rename__ ... ok test tests::state::file_name_30___emit_events_in_chronological_order__ ... ok test tests::state::file_name_24___add_remove_event_after_create_event__ ... ok test tests::state::file_name_32___emit_close_events_only_once__ ... ok test tests::state::file_name_31___emit_events_with_a_prepended_rename_event__ ... ok test tests::state::file_name_33___emit_modify_event_after_close_event__ ... ok test tests::state::file_name_16___add_rename_from_and_to_event_override_created__ ... ok test tests::state::file_name_29___emit_continuous_modify_content_events__ ... ok test tests::state::file_name_25___add_remove_event_after_modify_event__ ... ok test tests::state::file_name_06___add_rename_from_event_after_create_event__ ... ok test tests::state::file_name_26___add_remove_event_after_create_and_modify_event__ ... ok test tests::state::file_name_35___read_file_id_without_create_event__ ... ok test tests::state::file_name_34___emit_needs_rescan_event__ ... ok test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s