β Back
ci
successmerge Β· main Β· 407f42883f4c Β· by mrmrs Β· 7m 18s
successcheck
success
install rust
[ -x "$HOME/.cargo/bin/cargo" ] || command -v cargo >/dev/null 2>&1 || curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain none
Fetching source at 407f42883f4c Restoring build cache cache restored (2333593922 bytes) $ [ -x "$HOME/.cargo/bin/cargo" ] || command -v cargo >/dev/null 2>&1 || curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain none
success
fmt
. "$HOME/.cargo/env" && cargo fmt --all -- --check
$ . "$HOME/.cargo/env" && cargo fmt --all -- --check
success
clippy
. "$HOME/.cargo/env" && cargo clippy --workspace --all-targets -- -D warnings
$ . "$HOME/.cargo/env" && cargo clippy --workspace --all-targets -- -D warnings Checking oakvcs-core v0.101.0 (/workspace/core) Checking oakvcs-cli v0.101.0 (/workspace/cli) Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.35s
success
install nextest
. "$HOME/.cargo/env" && command -v cargo-nextest >/dev/null 2>&1 || (. "$HOME/.cargo/env" && curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C "$HOME/.cargo/bin")
$ . "$HOME/.cargo/env" && command -v cargo-nextest >/dev/null 2>&1 || (. "$HOME/.cargo/env" && curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C "$HOME/.cargo/bin")
success
test
. "$HOME/.cargo/env" && cargo nextest run --workspace
$ . "$HOME/.cargo/env" && cargo nextest run --workspace Compiling oakvcs-core v0.101.0 (/workspace/core) Compiling oakvcs-cli v0.101.0 (/workspace/cli) Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 37s ββββββββββββ Nextest run ID e6f9bbb5-34de-4492-81dd-847d07726a15 with nextest profile: default Starting 997 tests across 20 binaries (1 test skipped) PASS [ 0.013s] ( 1/997) oakvcs-cli agent_action::tests::local_and_remote_close_network_use_depends_on_context PASS [ 0.014s] ( 2/997) oakvcs-cli agent_action::tests::noop_requires_fresh_idle_state PASS [ 0.014s] ( 3/997) oakvcs-cli agent_action::tests::checkout_review_and_triage_share_merge_command_contract PASS [ 0.018s] ( 4/997) oakvcs-cli agent_action::tests::named_merge_mutates_and_needs_network PASS [ 0.014s] ( 5/997) oakvcs-cli agent_action::tests::remote_review_is_read_only_but_networked PASS [ 0.014s] ( 6/997) oakvcs-cli agent_action::tests::switch_mutates_without_network PASS [ 0.020s] ( 7/997) oakvcs-cli atomic_file::tests::write_atomic_creates_and_replaces_file PASS [ 0.016s] ( 8/997) oakvcs-cli atomic_file::tests::write_atomic_private_creates_owner_only_file PASS [ 0.013s] ( 9/997) oakvcs-cli atomic_file::tests::write_atomic_private_replaces_world_readable_file_with_owner_only_file PASS [ 0.015s] ( 10/997) oakvcs-cli commands::branch::tests::validate_branch_name_rejects_names_that_break_remote_paths PASS [ 0.019s] ( 11/997) oakvcs-cli commands::branch::tests::validate_branch_name_accepts_safe_names PASS [ 0.015s] ( 12/997) oakvcs-cli commands::branch::tests::validate_rename_target_name_accepts_safe_names PASS [ 0.014s] ( 13/997) oakvcs-cli commands::branch::tests::validate_rename_target_name_rejects_remote_unsafe_names PASS [ 0.011s] ( 14/997) oakvcs-cli commands::ci::tests::exit_codes_are_distinct_per_state PASS [ 0.017s] ( 15/997) oakvcs-cli commands::ci::tests::duration_formats_compactly PASS [ 0.010s] ( 16/997) oakvcs-cli commands::ci::tests::gate_state_maps_status_and_conclusion PASS [ 0.019s] ( 17/997) oakvcs-cli commands::ci::tests::lenient_parse_recovers_run_with_raw_control_chars_in_logs PASS [ 0.020s] ( 18/997) oakvcs-cli commands::ci::tests::lenient_parse_reports_first_error_when_body_is_hopeless PASS [ 0.014s] ( 19/997) oakvcs-cli commands::ci::tests::sanitize_escapes_raw_control_chars_inside_strings_only PASS [ 0.017s] ( 20/997) oakvcs-cli commands::ci::tests::sanitize_respects_escaped_quotes_and_backslashes PASS [ 0.015s] ( 21/997) oakvcs-cli commands::ci::tests::unknown_fields_survive_the_json_round_trip PASS [ 0.107s] ( 22/997) oakvcs-cli commands::commit::tests::commit_fails_closed_when_parent_commit_row_is_missing PASS [ 0.101s] ( 23/997) oakvcs-cli commands::commit::tests::status_fails_closed_when_head_commit_row_is_missing PASS [ 0.014s] ( 24/997) oakvcs-cli commands::conflict::tests::detects_unbalanced_delimiter_pairs PASS [ 0.206s] ( 25/997) oakvcs-cli commands::blob_fetch::tests::ensure_commits_local_refuses_commit_when_manifest_tree_is_missing PASS [ 0.133s] ( 26/997) oakvcs-cli commands::commit::tests::commit_fails_closed_when_parent_manifest_is_missing PASS [ 0.015s] ( 27/997) oakvcs-cli commands::conflict::tests::rejects_ambiguous_theirs_marker_inside_theirs_content PASS [ 0.013s] ( 28/997) oakvcs-cli commands::conflict::tests::takes_ours_from_multiple_marker_blocks PASS [ 0.013s] ( 29/997) oakvcs-cli commands::conflict::tests::takes_theirs_from_multiple_marker_blocks PASS [ 0.014s] ( 30/997) oakvcs-cli commands::credentials::tests::author_falls_back_to_machine_user_when_logged_out PASS [ 0.010s] ( 31/997) oakvcs-cli commands::credentials::tests::author_prefers_explicit_oak_author PASS [ 0.062s] ( 32/997) oakvcs-cli commands::commit::tests::status_fails_closed_when_head_manifest_is_missing PASS [ 0.015s] ( 33/997) oakvcs-cli commands::credentials::tests::author_ignores_empty_values PASS [ 0.013s] ( 34/997) oakvcs-cli commands::credentials::tests::author_prefers_oak_whoami_over_machine_user PASS [ 0.012s] ( 35/997) oakvcs-cli commands::credentials::tests::copies_old_token_to_new_server PASS [ 0.014s] ( 36/997) oakvcs-cli commands::credentials::tests::no_old_credential_means_nothing_to_migrate PASS [ 0.015s] ( 37/997) oakvcs-cli commands::credentials::tests::existing_new_credential_is_never_overwritten PASS [ 0.016s] ( 38/997) oakvcs-cli commands::credentials::tests::save_credential_to_path_preserves_invalid_file PASS [ 0.022s] ( 39/997) oakvcs-cli commands::credentials::tests::remove_credential_to_path_rewrites_atomically_and_cleans_lock PASS [ 0.023s] ( 40/997) oakvcs-cli commands::credentials::tests::save_credential_to_path_creates_owner_only_credentials_file PASS [ 0.015s] ( 41/997) oakvcs-cli commands::credentials::tests::trailing_slashes_do_not_defeat_matching PASS [ 0.017s] ( 42/997) oakvcs-cli commands::credentials::tests::save_credential_to_path_replaces_world_readable_file_with_owner_only_file PASS [ 0.014s] ( 43/997) oakvcs-cli commands::diff::tests::empty_filter_set_passes_everything_and_root_filter_matches_all PASS [ 0.013s] ( 44/997) oakvcs-cli commands::diff::tests::filter_matches_exact_files_and_trailing_slash_dirs PASS [ 0.015s] ( 45/997) oakvcs-cli commands::diff::tests::filter_matches_directories_component_wise_not_by_string_prefix PASS [ 0.013s] ( 46/997) oakvcs-cli commands::diff::tests::filter_matches_renames_on_either_side PASS [ 0.013s] ( 47/997) oakvcs-cli commands::export::tests::export_allows_git_named_siblings PASS [ 0.015s] ( 48/997) oakvcs-cli commands::export::tests::export_rejects_paths_inside_destination_git_dir PASS [ 0.013s] ( 49/997) oakvcs-cli commands::export::tests::parse_author_blank PASS [ 0.017s] ( 50/997) oakvcs-cli commands::export::tests::parse_author_empty_angles PASS [ 0.012s] ( 51/997) oakvcs-cli commands::export::tests::parse_author_just_email PASS [ 0.014s] ( 52/997) oakvcs-cli commands::export::tests::parse_author_just_name PASS [ 0.052s] ( 53/997) oakvcs-cli commands::diff::tests::render_change_uses_ephemeral_worktree_bytes_without_rereading_disk PASS [ 0.012s] ( 54/997) oakvcs-cli commands::export::tests::parse_author_name_and_email PASS [ 0.013s] ( 55/997) oakvcs-cli commands::export::tests::parse_author_punctuation_collapses PASS [ 0.014s] ( 56/997) oakvcs-cli commands::feedback::tests::choose_email_precedence_flag_env_cache PASS [ 0.014s] ( 57/997) oakvcs-cli commands::feedback::tests::choose_email_skips_blank_values PASS [ 0.014s] ( 58/997) oakvcs-cli commands::feedback::tests::render_template_notes_missing_email PASS [ 0.013s] ( 59/997) oakvcs-cli commands::feedback::tests::strip_comment_lines_drops_template_and_trims PASS [ 0.015s] ( 60/997) oakvcs-cli commands::feedback::tests::render_template_prefills_identity_and_starts_with_blank_line PASS [ 0.012s] ( 61/997) oakvcs-cli commands::feedback::tests::strip_comment_lines_untouched_template_is_empty PASS [ 0.013s] ( 62/997) oakvcs-cli commands::git_clone::tests::git_file_mode_to_oak_preserves_file_modes PASS [ 0.017s] ( 63/997) oakvcs-cli commands::feedback::tests::strip_comment_lines_keeps_indented_hashes_but_drops_column_zero PASS [ 0.017s] ( 64/997) oakvcs-cli commands::git_clone::tests::git_file_mode_to_oak_skips_non_file_modes PASS [ 0.015s] ( 65/997) oakvcs-cli commands::git_clone::tests::recursive_tree_construction_matches_build_tree PASS [ 0.016s] ( 66/997) oakvcs-cli commands::git_clone::tests::sanitize_commit_field_strips_control_chars PASS [ 0.012s] ( 67/997) oakvcs-cli commands::init::tests::agents_md_uses_surfaced_clean_flag_not_hidden_discard_alias PASS [ 0.218s] ( 68/997) oakvcs-cli commands::credentials::tests::concurrent_save_credential_to_path_preserves_all_entries PASS [ 0.075s] ( 69/997) oakvcs-cli commands::log::pickaxe_tests::filtered_walk_stops_evaluating_once_the_match_cap_is_reached PASS [ 0.072s] ( 70/997) oakvcs-cli commands::log::pickaxe_tests::pickaxes_match_added_files_against_a_true_empty_side PASS [ 0.085s] ( 71/997) oakvcs-cli commands::log::pickaxe_tests::pickaxe_collects_all_matched_paths_when_asked PASS [ 0.075s] ( 72/997) oakvcs-cli commands::log::pickaxe_tests::pickaxes_skip_binary_blobs_with_the_shared_gate PASS [ 0.106s] ( 73/997) oakvcs-cli commands::log::pickaxe_tests::pickaxes_skip_and_count_files_whose_blobs_are_not_hydrated_locally PASS [ 0.014s] ( 74/997) oakvcs-cli commands::merge::tests::conflict_content_clean_when_both_sides_agree PASS [ 0.095s] ( 75/997) oakvcs-cli commands::merge::tests::closed_current_branch_with_main_merge_proof_does_not_reconcile_again PASS [ 0.014s] ( 76/997) oakvcs-cli commands::merge::tests::conflict_content_clean_when_edits_dont_overlap PASS [ 0.098s] ( 77/997) oakvcs-cli commands::merge::tests::closed_current_branch_with_main_merge_proof_reconciles_when_open_at_pull_start PASS [ 0.013s] ( 78/997) oakvcs-cli commands::merge::tests::conflict_content_marks_only_diverging_hunks PASS [ 0.014s] ( 79/997) oakvcs-cli commands::merge::tests::conflict_marker_delimiters_detect_stray_column_zero_markers PASS [ 0.018s] ( 80/997) oakvcs-cli commands::merge::tests::conflict_markers_detected_at_column_zero PASS [ 0.014s] ( 81/997) oakvcs-cli commands::merge::tests::conflict_markers_ignored_when_not_at_column_zero PASS [ 0.014s] ( 82/997) oakvcs-cli commands::merge::tests::conflict_markers_require_both_sides PASS [ 0.017s] ( 83/997) oakvcs-cli commands::merge::tests::find_conflict_markers_does_not_follow_symlinked_dirs PASS [ 0.089s] ( 84/997) oakvcs-cli commands::merge::tests::closed_current_branch_without_main_merge_proof_does_not_reconcile PASS [ 0.080s] ( 85/997) oakvcs-cli commands::merge::tests::ingest_merged_main_preserves_message_and_file_rows PASS [ 0.089s] ( 86/997) oakvcs-cli commands::merge::tests::lca_manifest_allows_declared_root_base_despite_branch_side_gap PASS [ 0.090s] ( 87/997) oakvcs-cli commands::merge::tests::lca_manifest_allows_declared_root_base_despite_parent_side_gap PASS [ 0.080s] ( 88/997) oakvcs-cli commands::merge::tests::lca_manifest_allows_missing_history_older_than_selected_base PASS [ 0.066s] ( 89/997) oakvcs-cli commands::merge::tests::lca_manifest_errors_without_verified_common_ancestor PASS [ 0.086s] ( 90/997) oakvcs-cli commands::merge::tests::lca_manifest_does_not_use_merge_parent_root_as_declared_empty_base PASS [ 0.075s] ( 91/997) oakvcs-cli commands::merge::tests::lca_manifest_reports_incomplete_ancestry_without_verified_root PASS [ 0.087s] ( 92/997) oakvcs-cli commands::merge::tests::lca_manifest_reports_incomplete_ancestry_before_stale_common_base PASS [ 0.073s] ( 93/997) oakvcs-cli commands::merge::tests::merge_abort_clears_state_when_head_blob_is_missing PASS [ 0.065s] ( 94/997) oakvcs-cli commands::merge::tests::merge_abort_clears_state_when_head_commit_row_is_missing PASS [ 0.077s] ( 95/997) oakvcs-cli commands::merge::tests::merge_abort_clears_state_when_head_manifest_is_missing PASS [ 0.085s] ( 96/997) oakvcs-cli commands::merge::tests::merge_abort_clears_truncated_merge_head PASS [ 0.085s] ( 97/997) oakvcs-cli commands::merge::tests::merge_abort_with_corrupt_merge_state_reports_partial_restore PASS [ 0.092s] ( 98/997) oakvcs-cli commands::merge::tests::merge_abort_preserves_untracked_files PASS [ 0.066s] ( 99/997) oakvcs-cli commands::merge::tests::merge_abort_without_head_reports_worktree_left_unchanged PASS [ 0.101s] (100/997) oakvcs-cli commands::merge::tests::merge_continue_fails_closed_when_recorded_merge_manifest_is_missing PASS [ 0.084s] (101/997) oakvcs-cli commands::merge::tests::merge_continue_preserves_incomplete_ancestry_when_recomputing_state PASS [ 0.072s] (102/997) oakvcs-cli commands::merge::tests::recompute_merge_state_fails_when_parent_manifest_is_missing PASS [ 0.012s] (103/997) oakvcs-cli commands::merge::tests::server_conflict_paths_parsed_from_message PASS [ 0.020s] (104/997) oakvcs-cli commands::merge::tests::server_conflict_non_json_body_falls_back_to_generic PASS [ 0.101s] (105/997) oakvcs-cli commands::merge::tests::prune_removes_merged_branches_only PASS [ 0.009s] (106/997) oakvcs-cli commands::merge::tests::server_conflict_structured_paths_win_over_message PASS [ 0.015s] (107/997) oakvcs-cli commands::merge::tests::server_conflict_without_paths_keeps_server_message PASS [ 0.096s] (108/997) oakvcs-cli commands::merge::tests::reconciles_current_branch_when_main_contains_remote_squash_merge PASS [ 0.063s] (109/997) oakvcs-cli commands::mount::core::tests::create_write_read_roundtrip PASS [ 0.076s] (110/997) oakvcs-cli commands::merge::tests::switch_to_fresh_main_branch_fallback_seeds_at_branch_tip_without_reset PASS [ 0.086s] (111/997) oakvcs-cli commands::merge::tests::switch_to_fresh_main_branch_seeds_at_main_and_resets_worktree PASS [ 0.055s] (112/997) oakvcs-cli commands::mount::core::tests::directory_hydration_tolerates_deferred_base_sizes PASS [ 0.018s] (113/997) oakvcs-cli commands::mount::core::tests::insert_path_creates_intermediate_dirs PASS [ 0.011s] (114/997) oakvcs-cli commands::mount::core::tests::insert_path_handles_top_level_file PASS [ 0.021s] (115/997) oakvcs-cli commands::mount::core::tests::insert_path_idempotent_on_duplicate PASS [ 0.013s] (116/997) oakvcs-cli commands::mount::core::tests::insert_path_reuses_existing_dirs PASS [ 0.011s] (117/997) oakvcs-cli commands::mount::core::tests::lookup_path_missing_returns_none PASS [ 0.072s] (118/997) oakvcs-cli commands::mount::core::tests::dirty_overlay_paths_do_not_alias_separator_lookalikes PASS [ 0.076s] (119/997) oakvcs-cli commands::mount::core::tests::ignored_build_output_is_not_recorded_in_overlay PASS [ 0.023s] (120/997) oakvcs-cli commands::mount::core::tests::load_overlay_meta_strips_legacy_os_metadata PASS [ 0.015s] (121/997) oakvcs-cli commands::mount::core::tests::overlay_sig_changes_when_meta_written PASS [ 0.072s] (122/997) oakvcs-cli commands::mount::core::tests::os_metadata_is_usable_but_untracked PASS [ 0.068s] (123/997) oakvcs-cli commands::mount::core::tests::readdir_lists_dot_and_children PASS [ 0.078s] (124/997) oakvcs-cli commands::mount::core::tests::reconcile_follows_out_of_band_commit PASS [ 0.061s] (125/997) oakvcs-cli commands::mount::core::tests::reconcile_is_noop_without_external_change PASS [ 0.069s] (126/997) oakvcs-cli commands::mount::core::tests::reconcile_preserves_dirty_overlay PASS [ 0.013s] (127/997) oakvcs-cli commands::mount::core::tests::slice_range_clamps PASS [ 0.078s] (128/997) oakvcs-cli commands::mount::core::tests::rename_base_file_records_rename PASS [ 0.070s] (129/997) oakvcs-cli commands::mount::core::tests::root_only_manifest_still_loads_ignore_rules_from_tree PASS [ 0.220s] (130/997) oakvcs-cli commands::mount::core::tests::new_defers_manifest_inode_materialization_until_directory_read PASS [ 0.088s] (131/997) oakvcs-cli commands::mount::core::tests::truncate_shrinks_file PASS [ 0.082s] (132/997) oakvcs-cli commands::mount::core::tests::unlink_records_deletion_for_base_file PASS [ 0.061s] (133/997) oakvcs-cli commands::mount::pull::tests::already_up_to_date_when_branch_has_change PASS [ 0.083s] (134/997) oakvcs-cli commands::mount::pull::tests::abort_clears_overlay_and_sync_state PASS [ 0.067s] (135/997) oakvcs-cli commands::mount::pull::tests::both_sides_change_mode_differently_stays_structural_conflict PASS [ 0.083s] (136/997) oakvcs-cli commands::mount::pull::tests::branch_content_and_parent_mode_merge_preserves_parent_mode PASS [ 0.082s] (137/997) oakvcs-cli commands::mount::pull::tests::clean_parent_change_folds_in PASS [ 0.073s] (138/997) oakvcs-cli commands::mount::pull::tests::continue_finalizes_only_recorded_conflict_overlay_paths PASS [ 0.101s] (139/997) oakvcs-cli commands::mount::pull::tests::continue_accepts_deleted_conflict_resolution PASS [ 0.019s] (140/997) oakvcs-cli commands::mount::pull::tests::marker_detection PASS [ 0.079s] (141/997) oakvcs-cli commands::mount::pull::tests::continue_finalizes_resolved_merge PASS [ 0.013s] (142/997) oakvcs-cli commands::mount::pull::tests::marker_detection_ignores_embedded_marker_text PASS [ 0.064s] (143/997) oakvcs-cli commands::mount::pull::tests::continue_rejects_remaining_markers PASS [ 0.057s] (144/997) oakvcs-cli commands::mount::pull::tests::divergent_mode_only_changes_conflict PASS [ 0.060s] (145/997) oakvcs-cli commands::mount::pull::tests::overlapping_change_conflicts PASS [ 0.068s] (146/997) oakvcs-cli commands::mount::pull::tests::parent_mode_only_change_folds_in PASS [ 0.011s] (147/997) oakvcs-cli commands::mount::repo_cache::tests::sanitize_component_flattens_urls PASS [ 0.636s] (148/997) oakvcs-cli commands::mount::repo_cache::tests::seed_misses_when_repo_never_cached PASS [ 0.819s] (149/997) oakvcs-cli commands::mount::repo_cache::tests::populate_is_idempotent_across_mounts PASS [ 0.011s] (150/997) oakvcs-cli commands::mount::spawn::tests::log_path_is_sanitized_and_under_temp PASS [ 0.014s] (151/997) oakvcs-cli commands::mount::spawn::tests::plain_directory_is_not_a_mountpoint PASS [ 0.885s] (152/997) oakvcs-cli commands::mount::repo_cache::tests::populate_then_seed_roundtrip PASS [ 0.071s] (153/997) oakvcs-cli commands::mount::state::tests::checked_count_is_unknown_when_cache_db_unreadable PASS [ 0.012s] (154/997) oakvcs-cli commands::mount::state::tests::checked_count_is_zero_when_no_cache_db PASS [ 0.161s] (155/997) oakvcs-cli commands::mount::state::tests::acquire_lock_excludes_other_holders PASS [ 0.014s] (156/997) oakvcs-cli commands::mount::state::tests::daemon_pid_roundtrip PASS [ 0.011s] (157/997) oakvcs-cli commands::mount::state::tests::overlay_filename_is_injective_for_separator_like_paths PASS [ 0.012s] (158/997) oakvcs-cli commands::mount::state::tests::overlay_is_clean_when_metadata_missing PASS [ 0.012s] (159/997) oakvcs-cli commands::mount::state::tests::overlay_meta_missing_file_is_default PASS [ 0.085s] (160/997) oakvcs-cli commands::mount::state::tests::config_roundtrip PASS [ 0.016s] (161/997) oakvcs-cli commands::mount::state::tests::overlay_meta_roundtrip PASS [ 0.012s] (162/997) oakvcs-cli commands::mount::state::tests::pid_alive_detects_self_and_dead PASS [ 0.012s] (163/997) oakvcs-cli commands::mount::state::tests::overlay_state_unreadable_detects_corrupt_meta PASS [ 0.060s] (164/997) oakvcs-cli commands::mount::state::tests::sync_state_roundtrip_uses_final_path_without_temp_leftovers PASS [ 0.061s] (165/997) oakvcs-cli commands::mount::state::tests::pushed_head_roundtrip PASS [ 0.013s] (166/997) oakvcs-cli commands::mount::state::tests::unpushed_commit_count_empty_without_cache PASS [ 0.017s] (167/997) oakvcs-cli commands::mount::tests::build_manifest_adds_new_files PASS [ 0.015s] (168/997) oakvcs-cli commands::mount::tests::build_manifest_clean_overlay_returns_base PASS [ 0.020s] (169/997) oakvcs-cli commands::mount::tests::build_manifest_applies_renames PASS [ 0.011s] (170/997) oakvcs-cli commands::mount::tests::build_manifest_drops_deleted_paths PASS [ 0.011s] (171/997) oakvcs-cli commands::mount::tests::build_manifest_replaces_dirty_paths PASS [ 0.010s] (172/997) oakvcs-cli commands::mount::tests::dest_slug_uses_leaf_and_falls_back_to_mount PASS [ 0.009s] (173/997) oakvcs-cli commands::mount::tests::slugify_lowercases_and_collapses PASS [ 0.011s] (174/997) oakvcs-cli commands::mount::tests::task_slug_ignores_redundant_repo_parent PASS [ 0.012s] (175/997) oakvcs-cli commands::mount::tests::task_slug_keeps_task_named_leaf PASS [ 0.012s] (176/997) oakvcs-cli commands::mount::tests::task_slug_prefers_task_dir_when_leaf_is_repo PASS [ 0.011s] (177/997) oakvcs-cli commands::mount::worktree::tests::parses_worktree_create_input PASS [ 0.012s] (178/997) oakvcs-cli commands::mount::worktree::tests::worktree_create_input_tolerates_missing_base_ref PASS [ 0.383s] (179/997) oakvcs-cli commands::mount::tests::build_manifest_dirty_wins_over_rename_target PASS [ 1.507s] (180/997) oakvcs-cli commands::mount::repo_cache::tests::seed_misses_unknown_head PASS [ 0.013s] (181/997) oakvcs-cli commands::pull::chunk_batch_decode_tests::decodes_multiple_entries PASS [ 0.012s] (182/997) oakvcs-cli commands::pull::chunk_batch_decode_tests::truncated_frames_error_not_panic PASS [ 0.014s] (183/997) oakvcs-cli commands::pull::chunk_batch_decode_tests::empty_body_decodes_to_empty PASS [ 0.339s] (184/997) oakvcs-cli commands::open::tests::unlinked_repo_errors_before_opening_browser PASS [ 0.966s] (185/997) oakvcs-cli commands::mount::repo_cache::tests::seed_refuses_incomplete_sizes PASS [ 0.086s] (186/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::publish_refs_lands_rename_heads_current_head_and_watermark_together PASS [ 0.097s] (187/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::publish_refs_prefers_response_head_over_payload_order PASS [ 0.075s] (188/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::publish_refs_rejects_missing_commit_head_and_rolls_back PASS [ 0.061s] (189/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::publish_refs_rolls_back_branch_rows_on_error PASS [ 0.064s] (190/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::resolve_response_head_demotes_unshipped_head PASS [ 0.060s] (191/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::staging_pull_objects_does_not_publish_branch_refs PASS [ 0.013s] (192/997) oakvcs-cli commands::pull::verify_blob_content_tests::corrupt_content_is_rejected_not_stored PASS [ 0.017s] (193/997) oakvcs-cli commands::pull::verify_blob_content_tests::matching_content_passes_through PASS [ 0.015s] (194/997) oakvcs-cli commands::pull::verify_blob_content_tests::zstd_frame_of_true_content_is_repaired PASS [ 0.074s] (195/997) oakvcs-cli commands::pull::pull_ingest_publish_tests::staging_pull_objects_rejects_mismatched_commit_hash PASS [ 0.013s] (196/997) oakvcs-cli commands::release::tests::validate_asset_filename_accepts_safe_filenames PASS [ 0.014s] (197/997) oakvcs-cli commands::release::tests::validate_asset_filename_rejects_empty_path_and_control_names PASS [ 0.019s] (198/997) oakvcs-cli commands::release::tests::validate_release_tag_accepts_safe_tags PASS [ 0.014s] (199/997) oakvcs-cli commands::release::tests::validate_release_tag_rejects_empty_trimmed_and_control_tags PASS [ 0.057s] (200/997) oakvcs-cli commands::push::tests::link_remote_identity_persists_valid_owner_and_repo PASS [ 0.013s] (201/997) oakvcs-cli commands::repo::tests::resolve_clone_spec_accepts_owner_repo PASS [ 0.014s] (202/997) oakvcs-cli commands::repo::tests::resolve_clone_spec_rejects_unsafe_bare_repo_segments PASS [ 0.012s] (203/997) oakvcs-cli commands::repo::tests::resolve_clone_spec_uses_username_for_bare_repo PASS [ 0.016s] (204/997) oakvcs-cli commands::repo::tests::resolve_clone_spec_rejects_unsafe_owner_repo_segments PASS [ 0.072s] (205/997) oakvcs-cli commands::review::tests::branch_comparison_does_not_report_missing_commit_as_fork_point PASS [ 0.065s] (206/997) oakvcs-cli commands::review::tests::branch_review_marks_missing_branch_snapshot_as_missing_data PASS [ 0.070s] (207/997) oakvcs-cli commands::review::tests::branch_comparison_does_not_report_stale_fork_when_missing_edge_can_hide_lca PASS [ 0.012s] (208/997) oakvcs-cli commands::review::tests::classify_change_honors_generated_marker_only_in_header_lines PASS [ 0.014s] (209/997) oakvcs-cli commands::review::tests::file_summary_without_hydrated_blobs_omits_content_category PASS [ 0.087s] (210/997) oakvcs-cli commands::review::tests::contribution_diff_degrades_when_fork_manifest_is_missing PASS [ 0.085s] (211/997) oakvcs-cli commands::review::tests::merge_preview_conflicts_are_not_reported_as_deletions PASS [ 0.078s] (212/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_branch_head_manifest_is_missing PASS [ 0.075s] (213/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_common_ancestor_manifest_is_missing PASS [ 0.085s] (214/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_parent_ancestry_is_incomplete PASS [ 0.098s] (215/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_no_verified_common_ancestor PASS [ 0.067s] (216/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_parent_head_commit_is_missing PASS [ 0.066s] (217/997) oakvcs-cli commands::review::tests::merge_preview_degrades_when_parent_head_manifest_is_missing PASS [ 0.076s] (218/997) oakvcs-cli commands::review::tests::merge_preview_reports_clean_modify_modify_as_modified PASS [ 0.064s] (219/997) oakvcs-cli commands::review::tests::net_merge_diff_degrades_when_against_head_commit_is_missing PASS [ 0.060s] (220/997) oakvcs-cli commands::review::tests::net_merge_diff_degrades_when_against_head_manifest_is_missing PASS [ 0.064s] (221/997) oakvcs-cli commands::review::tests::net_merge_diff_degrades_when_ancestry_is_incomplete PASS [ 0.015s] (222/997) oakvcs-cli commands::review::tests::omitted_patch_commands_bound_output_with_a_pattern_note PASS [ 0.063s] (223/997) oakvcs-cli commands::review::tests::net_merge_diff_degrades_when_branch_head_manifest_is_missing PASS [ 0.018s] (224/997) oakvcs-cli commands::review::tests::omitted_patch_commands_cover_every_file_and_shell_quote_paths PASS [ 0.012s] (225/997) oakvcs-cli commands::review::tests::remote_branch_diff_recommends_non_destructive_switch PASS [ 0.011s] (226/997) oakvcs-cli commands::review::tests::shell_quote_path_quotes_metacharacters_and_escapes_single_quotes PASS [ 0.015s] (227/997) oakvcs-cli commands::review::tests::remote_conflict_review_recommends_non_destructive_switch PASS [ 0.081s] (228/997) oakvcs-cli commands::review::tests::net_merge_diff_degrades_when_no_verified_common_ancestor PASS [ 0.522s] (229/997) oakvcs-cli commands::push::tests::link_remote_identity_rejects_unsafe_specs_without_persisting PASS [ 0.068s] (230/997) oakvcs-cli commands::review::tests::tree_diff_degrades_when_branch_head_manifest_is_missing PASS [ 0.080s] (231/997) oakvcs-cli commands::review::tests::tree_and_contribution_diffs_detect_rename_with_edit PASS [ 0.075s] (232/997) oakvcs-cli commands::review::tests::tree_diff_degrades_when_comparison_manifest_is_missing PASS [ 0.163s] (233/997) oakvcs-cli commands::serve::tests::metadata_only_push_can_close_open_branch PASS [ 0.151s] (234/997) oakvcs-cli commands::serve::tests::metadata_only_push_from_stale_open_client_does_not_reopen_closed_branch PASS [ 0.011s] (235/997) oakvcs-cli commands::serve::tests::run_refuses_non_loopback_without_token PASS [ 0.160s] (236/997) oakvcs-cli commands::serve::tests::metadata_only_push_updates_description_without_moving_head PASS [ 0.159s] (237/997) oakvcs-cli commands::serve::tests::push_rejects_mismatched_commit_hash PASS [ 0.014s] (238/997) oakvcs-cli commands::serve::tests::run_rejects_empty_token_before_listening PASS [ 0.010s] (239/997) oakvcs-cli commands::serve::tests::token_compare_matches_exact_values_only PASS [ 0.013s] (240/997) oakvcs-cli commands::site::tests::resolve_remote_rejects_explicit_blank_before_fallback PASS [ 0.010s] (241/997) oakvcs-cli commands::site::tests::validate_organization_slug_accepts_safe_slugs PASS [ 0.010s] (242/997) oakvcs-cli commands::site::tests::validate_organization_slug_rejects_url_path_breakers PASS [ 0.011s] (243/997) oakvcs-cli commands::spaces::tests::parse_org_rejects_reserved_and_unsafe_slugs PASS [ 0.014s] (244/997) oakvcs-cli commands::spaces::tests::parse_org_accepts_bare_and_legacy_repo_specs PASS [ 0.015s] (245/997) oakvcs-cli commands::split::tests::replay_dependent_segment_conflicts PASS [ 0.012s] (246/997) oakvcs-cli commands::split::tests::replay_disjoint_segments_compose PASS [ 0.016s] (247/997) oakvcs-cli commands::split::tests::replay_reorder_independent_changes PASS [ 0.015s] (248/997) oakvcs-cli commands::switch::tests::pickable_branches_drops_main PASS [ 0.135s] (249/997) oakvcs-cli commands::serve::tests::repeated_metadata_pushes_upsert_the_description PASS [ 0.016s] (250/997) oakvcs-cli commands::switch::tests::pickable_branches_empty_when_only_main PASS [ 0.011s] (251/997) oakvcs-cli commands::switch::tests::pickable_branches_keeps_features_without_main_row PASS [ 0.048s] (252/997) oakvcs-cli commands::status::tests::linked_remote_requires_url_owner_and_repo_name PASS [ 0.064s] (253/997) oakvcs-cli commands::status::tests::status_does_not_take_workdir_lock_when_no_remote_merge_reconcile_is_needed PASS [ 0.144s] (254/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_backfills_merge_parent_ancestor_under_its_own_branch_name PASS [ 0.151s] (255/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_hydrated_complete_chain_skips_commit_info_request PASS [ 0.172s] (256/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_backfills_ancestors_when_head_snapshot_already_hydrated PASS [ 0.146s] (257/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_leaves_gap_when_ancestor_branch_name_is_missing PASS [ 0.146s] (258/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_repairs_existing_head_with_missing_manifest_blobs PASS [ 0.161s] (259/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_repoints_branches_off_synthetic_main PASS [ 0.153s] (260/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_skips_unverifiable_ancestor_without_failing PASS [ 0.190s] (261/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_stores_server_hashes_verbatim_via_commit_info_trees PASS [ 0.053s] (262/997) oakvcs-cli commands::sync::canonical_main_tests::files_for_remote_commit_returns_empty_when_parent_is_not_local PASS [ 0.066s] (263/997) oakvcs-cli commands::sync::canonical_main_tests::files_for_remote_commit_diffs_when_parent_and_child_manifests_are_local PASS [ 0.072s] (264/997) oakvcs-cli commands::sync::canonical_main_tests::reconcile_synthetic_main_leaves_real_branch_work_alone PASS [ 0.147s] (265/997) oakvcs-cli commands::sync::canonical_main_tests::fetch_parent_without_commit_info_trees_fails_closed PASS [ 0.072s] (266/997) oakvcs-cli commands::sync::canonical_main_tests::reconcile_synthetic_main_repoints_content_equal_heads PASS [ 0.088s] (267/997) oakvcs-cli commands::sync::canonical_main_tests::sync_abort_preserves_untracked_files_and_removes_recorded_merge_additions PASS [ 0.065s] (268/997) oakvcs-cli commands::sync::canonical_main_tests::sync_abort_without_head_reports_worktree_left_unchanged PASS [ 0.069s] (269/997) oakvcs-cli commands::sync::canonical_main_tests::sync_continue_fails_closed_when_recorded_merge_manifest_is_missing PASS [ 0.079s] (270/997) oakvcs-cli commands::sync::canonical_main_tests::sync_continue_fails_closed_when_sync_state_is_corrupt PASS [ 0.078s] (271/997) oakvcs-cli commands::sync::canonical_main_tests::sync_real_branch_work_fails_closed_when_parent_manifest_is_missing PASS [ 0.164s] (272/997) oakvcs-cli commands::sync::canonical_main_tests::sync_empty_branch_with_untracked_file_fails_without_deleting_it PASS [ 0.193s] (273/997) oakvcs-cli commands::sync::canonical_main_tests::sync_empty_branch_reseed_preserves_ignored_untracked_files PASS [ 0.182s] (274/997) oakvcs-cli commands::sync::canonical_main_tests::sync_real_branch_work_fails_closed_on_incomplete_parent_ancestry PASS [ 0.144s] (275/997) oakvcs-cli commands::sync::canonical_main_tests::sync_reseeds_clean_empty_branch_to_latest_parent_without_conflict PASS [ 0.011s] (276/997) oakvcs-cli commands::tests::branch_web_url_encodes_branch_name PASS [ 0.010s] (277/997) oakvcs-cli commands::tests::parse_owner_repo_accepts_simple_spec PASS [ 0.011s] (278/997) oakvcs-cli commands::tests::parse_owner_repo_rejects_remote_unsafe_segments PASS [ 0.011s] (279/997) oakvcs-cli commands::tests::repo_web_url_trims_slashes PASS [ 0.010s] (280/997) oakvcs-cli commands::triage::tests::remote_deferred_row_reports_degraded_freshness_and_network_review PASS [ 0.012s] (281/997) oakvcs-cli commands::triage::tests::remote_prepare_failure_is_not_budget_exhaustion PASS [ 0.156s] (282/997) oakvcs-cli commands::sync::canonical_main_tests::sync_reseeds_headless_empty_branch_to_latest_parent PASS [ 0.014s] (283/997) oakvcs-cli commands::triage::tests::resolve_action_detail_uses_non_destructive_switch_command PASS [ 0.012s] (284/997) oakvcs-cli commands::triage::tests::simple_text_hunks_detect_inclusion PASS [ 0.014s] (285/997) oakvcs-cli commands::upgrade::tests::accepts_valid_signature PASS [ 0.013s] (286/997) oakvcs-cli commands::upgrade::tests::parses_tag_from_release_location PASS [ 0.157s] (287/997) oakvcs-cli commands::sync::canonical_main_tests::sync_zero_count_branch_with_missing_head_fails_without_reseed PASS [ 0.012s] (288/997) oakvcs-cli commands::upgrade::tests::rejects_non_release_location PASS [ 0.189s] (289/997) oakvcs-cli commands::sync::canonical_main_tests::sync_zero_count_branch_does_not_reseed_foreign_branch_work PASS [ 0.017s] (290/997) oakvcs-cli commands::upgrade::tests::rejects_malformed_signature PASS [ 0.014s] (291/997) oakvcs-cli commands::upgrade::tests::rejects_tampered_data PASS [ 0.011s] (292/997) oakvcs-cli commands::upgrade::tests::rejects_wrong_key PASS [ 0.013s] (293/997) oakvcs-cli http::tests::non_json_and_empty_error_bodies_pass_through PASS [ 0.019s] (294/997) oakvcs-cli http::tests::json_error_envelope_is_unwrapped PASS [ 0.012s] (295/997) oakvcs-cli http::tests::origin_extracted_from_absolute_location PASS [ 0.012s] (296/997) oakvcs-cli http::tests::origin_keeps_explicit_port PASS [ 0.013s] (297/997) oakvcs-cli http::tests::relative_location_is_not_a_host_move PASS [ 0.014s] (298/997) oakvcs-cli materialize::tests::materialize_path_refuses_to_replace_non_empty_directory PASS [ 0.065s] (299/997) oakvcs-cli materialize::tests::apply_manifest_allows_tracked_directory_to_file_transition PASS [ 0.063s] (300/997) oakvcs-cli materialize::tests::apply_manifest_refuses_directory_to_file_when_untracked_content_is_present PASS [ 0.068s] (301/997) oakvcs-cli materialize::tests::apply_manifest_leaves_and_reports_non_utf8_deletion_candidate PASS [ 0.011s] (302/997) oakvcs-cli output::tests::activity_policy_auto_requires_human_terminal_context PASS [ 0.013s] (303/997) oakvcs-cli output::tests::activity_policy_never_animates_structured_or_captured_output PASS [ 0.060s] (304/997) oakvcs-cli materialize::tests::missing_blob_error_names_path_and_hash PASS [ 0.017s] (305/997) oakvcs-cli output::tests::activity_policy_progress_never_and_always_are_explicit PASS [ 0.015s] (306/997) oakvcs-cli output::tests::captured_output_is_plain_when_colors_are_off PASS [ 0.012s] (307/997) oakvcs-cli output::tests::clicolor_force_enables_when_piped PASS [ 0.014s] (308/997) oakvcs-cli output::tests::color_renders_its_code_only_when_enabled PASS [ 0.012s] (309/997) oakvcs-cli output::tests::compact_commit_line_falls_back_to_file_count_when_messageless PASS [ 0.012s] (310/997) oakvcs-cli output::tests::compact_commit_line_uses_message_subject PASS [ 0.051s] (311/997) oakvcs-cli materialize::tests::missing_blob_preflight_does_not_partially_write_tree PASS [ 0.010s] (312/997) oakvcs-cli output::tests::disabled_colors_contribute_zero_bytes_to_formatted_output PASS [ 0.010s] (313/997) oakvcs-cli output::tests::compact_verbose_block_lists_bounded_file_rows PASS [ 0.011s] (314/997) oakvcs-cli output::tests::json_error_envelope_classifies_configuration_errors PASS [ 0.011s] (315/997) oakvcs-cli output::tests::log_more_hint_doubles_the_window PASS [ 0.010s] (316/997) oakvcs-cli output::tests::no_color_disables_even_on_a_tty PASS [ 0.015s] (317/997) oakvcs-cli output::tests::log_more_hint_preserves_filters_and_quotes_them PASS [ 0.012s] (318/997) oakvcs-cli output::tests::progress_mode_parses_human_env_values PASS [ 0.013s] (319/997) oakvcs-cli output::tests::should_color_follows_tty_by_default PASS [ 0.012s] (320/997) oakvcs-cli output::tests::user_content_with_literal_escape_bytes_round_trips_exactly PASS [ 0.012s] (321/997) oakvcs-cli pathutil::tests::repo_relative_str_rejects_escape_through_missing_parent PASS [ 0.016s] (322/997) oakvcs-cli pathutil::tests::repo_relative_str_rejects_escape_through_symlink_parent PASS [ 0.014s] (323/997) oakvcs-cli resolve::tests::nonexistent_path_resolution_starts_at_canonical_existing_ancestor PASS [ 0.018s] (324/997) oakvcs-cli resolve::tests::interrupted_clone_marker_refuses_repo_resolution PASS [ 0.011s] (325/997) oakvcs-cli resolve::tests::regular_oak_file_is_not_a_repo_marker PASS [ 0.009s] (326/997) oakvcs-cli work_state::tests::checkout_next_commands_checkpoint_dirty_tree_before_pull PASS [ 0.013s] (327/997) oakvcs-cli work_state::tests::checkout_next_commands_inspect_only_for_closed_branch PASS [ 0.011s] (328/997) oakvcs-cli work_state::tests::checkout_next_commands_preserve_progress_commands_for_closed_branch PASS [ 0.011s] (329/997) oakvcs-cli work_state::tests::checkout_next_commands_recommend_pull_for_clean_needs_pull PASS [ 0.013s] (330/997) oakvcs-cli work_state::tests::diff_evidence_recommends_both_diffs_for_dirty_tree_with_commits PASS [ 0.010s] (331/997) oakvcs-cli work_state::tests::mount_next_commands_inspect_only_for_closed_branch PASS [ 0.011s] (332/997) oakvcs-cli work_state::tests::diff_evidence_recommends_single_diff_for_single_kind_of_work PASS [ 0.013s] (333/997) oakvcs-cli work_state::tests::diff_evidence_stays_quiet_when_in_progress_or_closed PASS [ 0.010s] (334/997) oakvcs-cli work_state::tests::mount_next_commands_preserve_progress_commands_for_closed_branch PASS [ 0.012s] (335/997) oakvcs-cli work_state::tests::recommended_action_keeps_unknown_freshness_idle_state_as_inspect PASS [ 0.013s] (336/997) oakvcs-cli work_state::tests::recommended_action_marks_pull_as_network_mutation PASS [ 0.012s] (337/997) oakvcs-cli work_state::tests::recommended_action_marks_truly_idle_status_as_noop PASS [ 0.019s] (338/997) oakvcs-cli workdir_lock::tests::acquire_creates_missing_lock_directory PASS [ 0.119s] (339/997) oakvcs-cli::agent_json agent_state_json_blocks_finish_for_linked_checkout_without_auth PASS [ 0.131s] (340/997) oakvcs-cli::agent_json agent_state_json_blocks_finish_for_closed_current_branch PASS [ 0.123s] (341/997) oakvcs-cli::agent_json agent_state_json_blocks_finish_for_unlinked_dirty_checkout PASS [ 0.150s] (342/997) oakvcs-cli workdir_lock::tests::acquire_excludes_concurrent_processes PASS [ 0.119s] (343/997) oakvcs-cli::agent_json agent_state_json_contains_regular_preflight_state PASS [ 0.025s] (344/997) oakvcs-cli::agent_json agent_state_json_error_uses_structured_envelope PASS [ 0.129s] (345/997) oakvcs-cli::agent_json agent_state_json_does_not_store_dirty_file_blob PASS [ 0.165s] (346/997) oakvcs-cli::agent_json agent_state_json_compact_bounds_changes_but_preserves_recall_metadata PASS [ 0.167s] (347/997) oakvcs-cli::agent_json agent_state_json_compact_omits_null_defaults_and_duplicate_finish_alias PASS [ 0.092s] (348/997) oakvcs-cli::agent_json agent_state_json_reports_finish_eligibility PASS [ 0.130s] (349/997) oakvcs-cli::agent_json agent_state_json_recommends_finish_first_for_linked_dirty_checkout PASS [ 0.132s] (350/997) oakvcs-cli::agent_json agent_state_json_uses_repo_placeholder_for_unlinked_publish_action PASS [ 0.273s] (351/997) oakvcs-cli::agent_json agent_state_refresh_degrades_when_remote_errors PASS [ 0.232s] (352/997) oakvcs-cli::agent_json agent_state_refresh_uses_remote_branch_head_for_push_state PASS [ 0.233s] (353/997) oakvcs-cli::agent_json branch_diff_diff_mode_contribution_excludes_target_drift PASS [ 0.243s] (354/997) oakvcs-cli::agent_json branch_diff_and_review_json_include_changed_files_and_lineage PASS [ 0.221s] (355/997) oakvcs-cli::agent_json branch_diff_diff_mode_tree_includes_target_drift PASS [ 0.258s] (356/997) oakvcs-cli::agent_json branch_diff_diff_mode_net_merge_shows_predicted_post_merge_effect PASS [ 0.188s] (357/997) oakvcs-cli::agent_json branch_list_json_defaults_from_bare_branch_command PASS [ 0.247s] (358/997) oakvcs-cli::agent_json branch_diff_json_limit_reports_omitted_files_without_changing_total PASS [ 0.288s] (359/997) oakvcs-cli::agent_json branch_review_merge_preview_json_limit_preserves_distinct_preview_metadata PASS [ 0.311s] (360/997) oakvcs-cli::agent_json branch_review_merge_preview_json_reports_clean_modify_modify_as_modified PASS [ 0.342s] (361/997) oakvcs-cli::agent_json branch_review_merge_preview_json_predicts_local_conflicts PASS [ 0.305s] (362/997) oakvcs-cli::agent_json branch_review_triage_add_add_marker_conflict_stays_review_when_target_risk_unknown PASS [ 0.208s] (363/997) oakvcs-cli::agent_json branch_review_triage_branch_wins_target_delete_rebuilds PASS [ 0.165s] (364/997) oakvcs-cli::agent_json branch_review_triage_empty_branch_recommends_close PASS [ 0.189s] (365/997) oakvcs-cli::agent_json branch_review_triage_clean_contributor_recommends_validate_then_merge PASS [ 0.180s] (366/997) oakvcs-cli::agent_json branch_review_triage_hunk_inclusion_superseded_recommends_close PASS [ 0.188s] (367/997) oakvcs-cli::agent_json branch_review_triage_missing_against_head_stays_safe PASS [ 0.210s] (368/997) oakvcs-cli::agent_json branch_review_triage_marker_conflict_stays_review_when_target_risk_unknown PASS [ 0.215s] (369/997) oakvcs-cli::agent_json branch_review_triage_marker_free_same_file_merge_keeps_target_risk_none PASS [ 0.263s] (370/997) oakvcs-cli::agent_json branch_review_triage_remote_does_not_switch_checkout PASS [ 0.182s] (371/997) oakvcs-cli::agent_json branch_review_triage_superseded_fallback_without_against_head_stays_safe PASS [ 0.187s] (372/997) oakvcs-cli::agent_json branch_review_triage_superseded_exact_when_target_matches_branch PASS [ 0.128s] (373/997) oakvcs-cli::agent_json branch_show_json_reports_missing_branch PASS [ 0.235s] (374/997) oakvcs-cli::agent_json branch_show_json_matches_list_row_without_requiring_current_branch PASS [ 0.233s] (375/997) oakvcs-cli::agent_json branch_triage_branch_wins_target_delete_matches_single_review PASS [ 0.224s] (376/997) oakvcs-cli::agent_json branch_triage_hunk_inclusion_superseded_recommends_close PASS [ 0.488s] (377/997) oakvcs-cli::agent_json branch_triage_batch_row_matches_single_branch_review PASS [ 0.446s] (378/997) oakvcs-cli::agent_json branch_triage_json_emits_one_row_per_open_branch_without_switching_checkout PASS [ 0.544s] (379/997) oakvcs-cli::agent_json branch_triage_json_limit_defers_remaining_branches_honestly PASS [ 0.368s] (380/997) oakvcs-cli::agent_json branch_triage_json_n10_scale_gate PASS [ 0.590s] (381/997) oakvcs-cli::agent_json branch_triage_json_only_closable_returns_exact_close_eligible_branches PASS [ 0.306s] (382/997) oakvcs-cli::agent_json branch_triage_marker_conflict_stays_review_when_target_risk_unknown PASS [ 0.230s] (383/997) oakvcs-cli::agent_json branch_triage_missing_against_head_stays_safe PASS [ 0.609s] (384/997) oakvcs-cli::agent_json branch_triage_json_status_open_filters_closed_branches PASS [ 1.326s] (385/997) oakvcs-cli::agent_json branch_triage_json_n100_scale_gate PASS [ 0.289s] (386/997) oakvcs-cli::agent_json branch_triage_superseded_fallback_without_against_head_stays_safe PASS [ 0.274s] (387/997) oakvcs-cli::agent_json close_invalid_reason_exits_usage_error PASS [ 0.606s] (388/997) oakvcs-cli::agent_json branch_triage_summary_depth_skips_merge_prediction PASS [ 0.330s] (389/997) oakvcs-cli::agent_json close_local_branch_json_persists_reason_in_list_and_show PASS [ 0.325s] (390/997) oakvcs-cli::agent_json close_local_branch_json_stays_single_document_after_sync_success PASS [ 0.031s] (391/997) oakvcs-cli::agent_json commit_json_failure_uses_structured_error_envelope PASS [ 0.364s] (392/997) oakvcs-cli::agent_json close_remote_branch_json_does_not_switch_checkout PASS [ 0.277s] (393/997) oakvcs-cli::agent_json close_without_reason_still_works_and_omits_close_reason PASS [ 0.176s] (394/997) oakvcs-cli::agent_json commit_json_quiet_reports_local_checkpoint_without_human_output PASS [ 0.196s] (395/997) oakvcs-cli::agent_json commit_linked_repo_without_push_does_not_contact_remote PASS [ 0.165s] (396/997) oakvcs-cli::agent_json commit_push_json_auth_missing_recommends_login_command PASS [ 0.280s] (397/997) oakvcs-cli::agent_json commit_push_env_remote_matches_bare_push_precedence_without_rewriting_metadata PASS [ 0.135s] (398/997) oakvcs-cli::agent_json commit_push_json_quiet_rejects_default_remote_source PASS [ 0.299s] (399/997) oakvcs-cli::agent_json commit_push_json_quiet_contacts_remote_and_reports_publish PASS [ 0.142s] (400/997) oakvcs-cli::agent_json commit_push_json_quiet_unlinked_preflight_does_not_commit PASS [ 0.285s] (401/997) oakvcs-cli::agent_json commit_push_json_quiet_push_failure_reports_committed_checkpoint PASS [ 0.130s] (402/997) oakvcs-cli::agent_json conflict_show_human_succeeds_without_json PASS [ 0.147s] (403/997) oakvcs-cli::agent_json conflict_show_json_reports_marker_state PASS [ 0.137s] (404/997) oakvcs-cli::agent_json conflict_status_json_inspects_checkout_sync_state PASS [ 0.159s] (405/997) oakvcs-cli::agent_json conflict_status_human_succeeds_without_json PASS [ 0.157s] (406/997) oakvcs-cli::agent_json conflict_take_does_not_warn_on_balanced_delimiters PASS [ 0.162s] (407/997) oakvcs-cli::agent_json conflict_take_json_error_uses_structured_envelope PASS [ 0.248s] (408/997) oakvcs-cli::agent_json conflict_take_ours_errors_when_content_contains_ambiguous_separator_line PASS [ 0.317s] (409/997) oakvcs-cli::agent_json conflict_take_ours_json_errors_when_content_contains_ambiguous_theirs_marker_line PASS [ 0.337s] (410/997) oakvcs-cli::agent_json conflict_take_ours_json_reports_remaining_state PASS [ 0.176s] (411/997) oakvcs-cli::agent_json conflict_take_ours_rewrites_checkout_marker_file PASS [ 0.342s] (412/997) oakvcs-cli::agent_json conflict_take_ours_preserves_cleanly_merged_theirs_hunks PASS [ 0.192s] (413/997) oakvcs-cli::agent_json conflict_take_warns_on_unbalanced_delimiters PASS [ 0.157s] (414/997) oakvcs-cli::agent_json diff_changed_files_limit_requires_json PASS [ 0.301s] (415/997) oakvcs-cli::agent_json conflict_take_theirs_preserves_cleanly_merged_ours_hunks PASS [ 0.242s] (416/997) oakvcs-cli::agent_json diff_json_changed_files_can_be_paged_without_losing_total_recall PASS [ 0.201s] (417/997) oakvcs-cli::agent_json diff_json_summarizes_working_tree_changes PASS [ 0.189s] (418/997) oakvcs-cli::agent_json explicit_blank_remote_is_rejected_before_defaulting_or_env_fallback PASS [ 0.321s] (419/997) oakvcs-cli::agent_json fetch_env_remote_overrides_stored_remote_without_rewriting_it PASS [ 0.263s] (420/997) oakvcs-cli::agent_json finish_desc_file_json_finishes_clean_unpushed_zero_branch PASS [ 0.328s] (421/997) oakvcs-cli::agent_json finish_env_remote_overrides_stored_remote_without_rewriting_it PASS [ 0.330s] (422/997) oakvcs-cli::agent_json finish_json_allows_missing_repo_preflight_when_push_will_create PASS [ 0.227s] (423/997) oakvcs-cli::agent_json finish_json_auth_preflight_leaves_description_dirty_tree_and_head_unchanged PASS [ 0.280s] (424/997) oakvcs-cli::agent_json finish_json_metadata_sync_failure_reports_retryable_description_state PASS [ 0.210s] (425/997) oakvcs-cli::agent_json finish_json_preflight_failure_leaves_description_dirty_tree_and_head_unchanged PASS [ 0.294s] (426/997) oakvcs-cli::agent_json finish_json_preflight_follows_trusted_remote_move PASS [ 0.249s] (427/997) oakvcs-cli::agent_json finish_json_push_phase_failure_reports_retryable_mutated_state PASS [ 0.219s] (428/997) oakvcs-cli::agent_json finish_missing_remote_repo_preflight_exits_retryable PASS [ 0.142s] (429/997) oakvcs-cli::agent_json finish_rejects_empty_description_before_push PASS [ 0.273s] (430/997) oakvcs-cli::agent_json finish_json_remote_preflight_leaves_description_dirty_tree_and_head_unchanged PASS [ 0.127s] (431/997) oakvcs-cli::agent_json hostile_filename_commit_exits_with_usage_code PASS [ 0.117s] (432/997) oakvcs-cli::agent_json log_json_invalid_regex_is_a_json_error_envelope PASS [ 0.172s] (433/997) oakvcs-cli::agent_json info_json_contains_repo_branch_and_progress_metadata PASS [ 0.119s] (434/997) oakvcs-cli::agent_json log_json_is_an_array_of_commit_objects PASS [ 0.257s] (435/997) oakvcs-cli::agent_json log_json_regex_pickaxe_filters_and_reports_matched_paths PASS [ 0.260s] (436/997) oakvcs-cli::agent_json merge_dry_run_json_accepts_explicit_branch_without_switching_checkout PASS [ 0.457s] (437/997) oakvcs-cli::agent_json log_json_path_filter_respects_explicit_limit PASS [ 0.281s] (438/997) oakvcs-cli::agent_json pull_env_remote_links_unlinked_checkout_on_first_use PASS [ 0.230s] (439/997) oakvcs-cli::agent_json pull_env_remote_overrides_stored_remote_without_rewriting_it PASS [ 0.275s] (440/997) oakvcs-cli::agent_json push_env_remote_overrides_stored_remote_without_rewriting_it PASS [ 0.122s] (441/997) oakvcs-cli::agent_json reset_refuses_non_interactive_discard_with_dirty_exit_code PASS [ 0.272s] (442/997) oakvcs-cli::agent_json remote_branch_triage_json_does_not_switch_checkout PASS [ 0.125s] (443/997) oakvcs-cli::agent_json status_compact_requires_json PASS [ 0.180s] (444/997) oakvcs-cli::agent_json status_json_compact_bounds_changes_but_preserves_recall_metadata PASS [ 0.137s] (445/997) oakvcs-cli::agent_json status_json_contains_expected_fields_and_full_description PASS [ 0.620s] (446/997) oakvcs-cli::agent_json remote_branch_list_show_diff_review_do_not_switch_checkout PASS [ 0.152s] (447/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_errors_when_remote_missing_blob PASS [ 0.218s] (448/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_fetches_chunked_blob PASS [ 0.243s] (449/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_fetches_inline_blob PASS [ 0.254s] (450/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_rejects_corrupt_blob PASS [ 0.057s] (451/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_short_circuits_when_all_local PASS [ 0.239s] (452/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_rejects_corrupt_chunk_without_caching_it PASS [ 0.215s] (453/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_repairs_compressed_blob_skew PASS [ 0.151s] (454/997) oakvcs-cli::blob_fetch test_ensure_commits_local_fetches_missing_commit PASS [ 0.251s] (455/997) oakvcs-cli::blob_fetch test_ensure_blobs_local_skips_info_when_refs_cached PASS [ 0.134s] (456/997) oakvcs-cli::ci ci_logs_survives_raw_control_chars_in_step_logs PASS [ 2.119s] (457/997) oakvcs-cli::agent_json held_workdir_lock_exits_with_retryable_lock_code PASS [ 0.165s] (458/997) oakvcs-cli::ci ci_rerun_dispatches_manual_run_and_reports_new_id PASS [ 0.150s] (459/997) oakvcs-cli::ci ci_status_exit_codes_track_the_merge_gate PASS [ 0.188s] (460/997) oakvcs-cli::ci ci_runs_lists_recent_runs PASS [ 0.137s] (461/997) oakvcs-cli::ci ci_status_json_names_state_and_next_commands PASS [ 0.134s] (462/997) oakvcs-cli::ci ci_status_running_and_failure_are_distinct_nonzero PASS [ 0.162s] (463/997) oakvcs-cli::desc_sync close_syncs_to_server_as_metadata_only_push PASS [ 0.180s] (464/997) oakvcs-cli::desc_sync close_sync_rejection_warns_and_keeps_local_update PASS [ 0.130s] (465/997) oakvcs-cli::desc_sync desc_sync_rejection_warns_and_keeps_local_update PASS [ 0.128s] (466/997) oakvcs-cli::desc_sync desc_syncs_to_server_as_metadata_only_push PASS [ 0.066s] (467/997) oakvcs-cli::desc_sync desc_without_remote_stays_local_and_silent PASS [ 0.060s] (468/997) oakvcs-cli::integration test_api_key_metadata PASS [ 0.053s] (469/997) oakvcs-cli::integration test_archive_default_output_does_not_include_itself PASS [ 0.073s] (470/997) oakvcs-cli::integration test_archive_creates_zip PASS [ 0.058s] (471/997) oakvcs-cli::integration test_archive_does_not_follow_directory_symlink_outside_repo PASS [ 0.074s] (472/997) oakvcs-cli::integration test_branch_close PASS [ 0.062s] (473/997) oakvcs-cli::integration test_branch_edit_description PASS [ 0.090s] (474/997) oakvcs-cli::integration test_branch_diff_json_reports_rename_with_edit PASS [ 0.085s] (475/997) oakvcs-cli::integration test_branch_workflow PASS [ 0.067s] (476/997) oakvcs-cli::integration test_commit_and_log PASS [ 0.152s] (477/997) oakvcs-cli::integration test_branch_rename_local_only_branch_when_remote_404s PASS [ 0.063s] (478/997) oakvcs-cli::integration test_commit_no_changes PASS [ 0.078s] (479/997) oakvcs-cli::integration test_commit_on_closed_branch_fails PASS [ 0.066s] (480/997) oakvcs-cli::integration test_commit_rejects_newline_in_directory_name PASS [ 0.081s] (481/997) oakvcs-cli::integration test_commit_rejects_newline_in_filename PASS [ 0.224s] (482/997) oakvcs-cli::integration test_clone_branch_clones_then_switches_to_remote_branch PASS [ 0.074s] (483/997) oakvcs-cli::integration test_commit_rejects_tab_in_filename PASS [ 0.069s] (484/997) oakvcs-cli::integration test_commit_tracks_oak_attributes_without_tracking_oak_state PASS [ 0.090s] (485/997) oakvcs-cli::integration test_commit_warns_when_tracked_files_become_ignored PASS [ 0.083s] (486/997) oakvcs-cli::integration test_commits_tracked_per_branch PASS [ 0.076s] (487/997) oakvcs-cli::integration test_diff_omits_large_text_hunks_but_keeps_path PASS [ 0.137s] (488/997) oakvcs-cli::integration test_diff_print_and_json_report_rename_with_edit PASS [ 0.089s] (489/997) oakvcs-cli::integration test_diff_render_does_not_store_dirty_file_blob PASS [ 0.080s] (490/997) oakvcs-cli::integration test_diff_shows_changes PASS [ 0.083s] (491/997) oakvcs-cli::integration test_diff_stat_and_name_only_do_not_store_dirty_blobs PASS [ 0.015s] (492/997) oakvcs-cli::integration test_file_permissions_executable PASS [ 0.013s] (493/997) oakvcs-cli::integration test_file_permissions_regular PASS [ 0.065s] (494/997) oakvcs-cli::integration test_init_creates_repo PASS [ 0.091s] (495/997) oakvcs-cli::integration test_git_directory_ignored PASS [ 0.089s] (496/997) oakvcs-cli::integration test_gitignore_respected PASS [ 0.022s] (497/997) oakvcs-cli::integration test_init_generates_suffixed_personal_branch PASS [ 0.141s] (498/997) oakvcs-cli::integration test_export_from_subdirectory_resolves_repo_root PASS [ 0.075s] (499/997) oakvcs-cli::integration test_init_fails_if_already_exists PASS [ 0.088s] (500/997) oakvcs-cli::integration test_log_output PASS [ 0.090s] (501/997) oakvcs-cli::integration test_merge_no_parent_fails PASS [ 0.107s] (502/997) oakvcs-cli::integration test_merge_dirty_tree_exits_with_documented_dirty_code PASS [ 0.087s] (503/997) oakvcs-cli::integration test_new_branch_from_commit_seeds_head_and_working_tree PASS [ 0.061s] (504/997) oakvcs-cli::integration test_new_branch_from_rejects_uncommitted_changes PASS [ 0.072s] (505/997) oakvcs-cli::integration test_newly_ignored_tracked_file_restore_and_reset_explain PASS [ 0.085s] (506/997) oakvcs-cli::integration test_new_branch_inherits_parent_head PASS [ 0.070s] (507/997) oakvcs-cli::integration test_no_cache_scan_ignores_poisoned_stat_cache_row PASS [ 0.091s] (508/997) oakvcs-cli::integration test_now_ignored_warning_groups_by_top_level_dir PASS [ 0.058s] (509/997) oakvcs-cli::integration test_prepare_personal_branch_creates_fresh_open_branch PASS [ 0.059s] (510/997) oakvcs-cli::integration test_prepare_personal_branch_regenerates_on_collision PASS [ 0.060s] (511/997) oakvcs-cli::integration test_read_only_clean_probe_does_not_store_dirty_file_blob PASS [ 0.081s] (512/997) oakvcs-cli::integration test_read_only_diff_never_leaves_stat_cache_pointing_at_missing_blob PASS [ 0.071s] (513/997) oakvcs-cli::integration test_read_only_status_prunes_deleted_cache_rows_when_file_count_stays_flat PASS [ 0.084s] (514/997) oakvcs-cli::integration test_reset PASS [ 0.081s] (515/997) oakvcs-cli::integration test_reset_clean_directory_is_noop PASS [ 0.075s] (516/997) oakvcs-cli::integration test_reset_dot_resets_entire_repo PASS [ 0.091s] (517/997) oakvcs-cli::integration test_reset_clears_every_status_reported_change PASS [ 0.065s] (518/997) oakvcs-cli::integration test_reset_no_commits_is_noop PASS [ 0.080s] (519/997) oakvcs-cli::integration test_reset_rejects_outside_directory_path PASS [ 0.012s] (520/997) oakvcs-cli::integration test_resolve_fails_without_oak_dir PASS [ 0.075s] (521/997) oakvcs-cli::integration test_reset_restores_deleted_file PASS [ 0.064s] (522/997) oakvcs-cli::integration test_reset_single_file PASS [ 0.050s] (523/997) oakvcs-cli::integration test_resolve_finds_oak_dir PASS [ 0.088s] (524/997) oakvcs-cli::integration test_reset_reverts_mode_only_change PASS [ 0.084s] (525/997) oakvcs-cli::integration test_restore_clears_status_reported_modification_and_deletion PASS [ 0.084s] (526/997) oakvcs-cli::integration test_restore_dot_restores_entire_repo PASS [ 0.073s] (527/997) oakvcs-cli::integration test_restore_rejects_outside_directory_path PASS [ 0.088s] (528/997) oakvcs-cli::integration test_restore_reverts_mode_only_change PASS [ 0.077s] (529/997) oakvcs-cli::integration test_scoped_commit_with_no_matching_changes_is_a_noop PASS [ 0.082s] (530/997) oakvcs-cli::integration test_scoped_commit_rename_commits_both_sides PASS [ 0.098s] (531/997) oakvcs-cli::integration test_scoped_commit_lands_only_selected_paths PASS [ 0.115s] (532/997) oakvcs-cli::integration test_stat_cache_matches_disk_after_switch PASS [ 0.064s] (533/997) oakvcs-cli::integration test_status_clean PASS [ 0.069s] (534/997) oakvcs-cli::integration test_status_does_not_store_dirty_file_blob PASS [ 0.100s] (535/997) oakvcs-cli::integration test_status_diff_commit_agree_under_stat_cache_trap PASS [ 0.089s] (536/997) oakvcs-cli::integration test_status_warns_on_now_ignored_but_not_on_real_deletions PASS [ 0.097s] (537/997) oakvcs-cli::integration test_status_with_changes PASS [ 0.080s] (538/997) oakvcs-cli::integration test_switch_branch_missing_root_manifest_fails_without_touching_checkout PASS [ 0.108s] (539/997) oakvcs-cli::integration test_switch_branch PASS [ 0.102s] (540/997) oakvcs-cli::integration test_switch_branch_updates_working_directory PASS [ 0.091s] (541/997) oakvcs-cli::integration test_switch_branch_with_no_commits PASS [ 0.072s] (542/997) oakvcs-cli::integration test_switch_clean_create_without_name_starts_clean PASS [ 0.092s] (543/997) oakvcs-cli::integration test_switch_clean_existing_branch_discards_dirty_work PASS [ 0.090s] (544/997) oakvcs-cli::integration test_switch_commit_hash PASS [ 0.096s] (545/997) oakvcs-cli::integration test_switch_create_named_branch_uses_main_head PASS [ 0.101s] (546/997) oakvcs-cli::integration test_switch_create_named_keeps_committed_work_visible_when_main_is_empty PASS [ 0.079s] (547/997) oakvcs-cli::integration test_switch_create_named_preserves_uncommitted_worktree_by_default PASS [ 0.082s] (548/997) oakvcs-cli::integration test_switch_create_without_name_creates_generated_branch_from_main_head PASS [ 0.109s] (549/997) oakvcs-cli::integration test_switch_create_without_name_carries_committed_divergence_as_uncommitted_work PASS [ 0.095s] (550/997) oakvcs-cli::integration test_switch_create_without_name_discard_starts_clean PASS [ 0.191s] (551/997) oakvcs-cli::integration test_switch_create_without_name_falls_back_to_local_main_when_remote_unavailable PASS [ 0.119s] (552/997) oakvcs-cli::integration test_switch_create_without_name_preserves_dirty_worktree_by_default PASS [ 0.124s] (553/997) oakvcs-cli::integration test_switch_create_without_name_seeds_from_current_head_when_main_is_empty PASS [ 0.212s] (554/997) oakvcs-cli::integration test_switch_create_without_name_fetches_remote_main_when_not_recently_checked PASS [ 0.105s] (555/997) oakvcs-cli::integration test_switch_create_without_name_skips_remote_when_main_recently_checked PASS [ 0.107s] (556/997) oakvcs-cli::integration test_switch_detach_flag PASS [ 0.097s] (557/997) oakvcs-cli::integration test_switch_nonexistent_fails PASS [ 0.210s] (558/997) oakvcs-cli::integration test_switch_fetches_branch_that_exists_only_on_remote PASS [ 0.174s] (559/997) oakvcs-cli::integration test_switch_missing_remote_blob_leaves_checkout_unchanged PASS [ 0.087s] (560/997) oakvcs-cli::integration test_switch_rejects_uncommitted_changes PASS [ 0.075s] (561/997) oakvcs-cli::integration test_switch_without_name_noninteractive_requires_explicit_action PASS [ 0.060s] (562/997) oakvcs-cli::integration test_sync_no_parent_fails PASS [ 0.185s] (563/997) oakvcs-cli::integration test_switch_refuses_branch_already_merged_on_remote PASS [ 0.090s] (564/997) oakvcs-cli::integration test_whole_tree_reset_clears_ignore_limbo_when_ignore_file_untracked PASS [ 0.368s] (565/997) oakvcs-cli::integration test_switch_hydrates_missing_local_branch_blob_from_remote PASS [ 0.110s] (566/997) oakvcs-cli::materialize merge_continue_rejects_stray_conflict_marker_delimiter PASS [ 0.129s] (567/997) oakvcs-cli::materialize merge_continue_scopes_commit_to_merge_and_resolutions PASS [ 0.074s] (568/997) oakvcs-cli::materialize merge_refuses_dirty_working_tree PASS [ 0.188s] (569/997) oakvcs-cli::materialize merge_explicit_main_child_without_switching_checkout PASS [ 0.072s] (570/997) oakvcs-cli::materialize reset_deletes_symlink_not_its_external_target PASS [ 0.233s] (571/997) oakvcs-cli::materialize merge_pushes_branch_before_server_merge PASS [ 0.168s] (572/997) oakvcs-cli::materialize pull_fast_forward_applies_upstream_deletion PASS [ 0.084s] (573/997) oakvcs-cli::materialize restore_deletes_symlink_not_its_external_target PASS [ 0.122s] (574/997) oakvcs-cli::materialize sync_continue_rejects_stray_conflict_marker_delimiter PASS [ 0.107s] (575/997) oakvcs-cli::materialize sync_from_parent_carries_executable_bit_flip PASS [ 0.074s] (576/997) oakvcs-cli::mount_core builds_tree_from_manifest PASS [ 0.180s] (577/997) oakvcs-cli::materialize sync_continue_scopes_commit_to_merge_and_resolutions PASS [ 0.179s] (578/997) oakvcs-cli::materialize sync_continue_without_sync_state_falls_back_to_snapshot PASS [ 0.076s] (579/997) oakvcs-cli::mount_core layers_in_dirty_created_file PASS [ 0.089s] (580/997) oakvcs-cli::mount_core omits_overlay_deleted_file PASS [ 0.091s] (581/997) oakvcs-cli::mount_core reflects_overlay_rename PASS [ 0.202s] (582/997) oakvcs-cli::mount_core constructs_from_async_runtime_worker_without_panicking PASS [ 0.135s] (583/997) oakvcs-cli::mount_lifecycle cli_diff_json_inside_mount_counts_nul_utf8_like_regular_diff PASS [ 0.117s] (584/997) oakvcs-cli::mount_lifecycle cli_diff_json_routes_inside_mount PASS [ 0.166s] (585/997) oakvcs-cli::mount_lifecycle cli_diff_json_inside_mount_supports_changed_file_paging PASS [ 0.114s] (586/997) oakvcs-cli::mount_lifecycle cli_status_json_compact_routes_inside_mount PASS [ 0.161s] (587/997) oakvcs-cli::mount_lifecycle cli_log_json_filters_error_honestly_inside_mount PASS [ 0.071s] (588/997) oakvcs-cli::mount_lifecycle commit_no_changes_is_noop PASS [ 0.112s] (589/997) oakvcs-cli::mount_lifecycle commit_handles_deletion PASS [ 0.037s] (590/997) oakvcs-cli::mount_lifecycle concurrent_registrations_all_survive PASS [ 0.112s] (591/997) oakvcs-cli::mount_lifecycle commit_picks_up_dirty_overlay_file PASS [ 0.154s] (592/997) oakvcs-cli::mount_lifecycle end_force_discards_unpushed_commits PASS [ 0.150s] (593/997) oakvcs-cli::mount_lifecycle end_refuses_unpushed_commits_without_force PASS [ 0.131s] (594/997) oakvcs-cli::mount_lifecycle explicit_mount_log_limit_does_not_print_truncation_notes PASS [ 0.062s] (595/997) oakvcs-cli::mount_lifecycle forget_refuses_live_mount_without_force PASS [ 0.107s] (596/997) oakvcs-cli::mount_lifecycle forget_clears_clean_mount PASS [ 0.075s] (597/997) oakvcs-cli::mount_lifecycle forget_refuses_when_dirty PASS [ 0.064s] (598/997) oakvcs-cli::mount_lifecycle forget_removes_stale_entry_but_keeps_state PASS [ 0.079s] (599/997) oakvcs-cli::mount_lifecycle log_and_diff_succeed_when_clean PASS [ 0.086s] (600/997) oakvcs-cli::mount_lifecycle log_reports_empty_mount_history PASS [ 0.106s] (601/997) oakvcs-cli::mount_lifecycle log_after_commit_includes_new_commit PASS [ 0.016s] (602/997) oakvcs-cli::mount_lifecycle mount_dest_for_returns_none_outside_mount PASS [ 0.073s] (603/997) oakvcs-cli::mount_lifecycle mount_dest_for_finds_registered_mount PASS [ 0.095s] (604/997) oakvcs-cli::mount_lifecycle log_walks_from_virtual_head_even_when_cached_commit_is_on_main PASS [ 0.070s] (605/997) oakvcs-cli::mount_lifecycle mount_end_refusal_dirty_overlay_diagnostics PASS [ 0.076s] (606/997) oakvcs-cli::mount_lifecycle mount_end_refusal_unpushed_commit_diagnostics PASS [ 0.196s] (607/997) oakvcs-cli::mount_lifecycle mount_finish_dirty_commits_pushes_and_ends PASS [ 0.190s] (608/997) oakvcs-cli::mount_lifecycle mount_finish_json_auth_preflight_leaves_description_overlay_and_head_unchanged PASS [ 0.263s] (609/997) oakvcs-cli::mount_lifecycle mount_finish_clean_pushed_sets_multiline_desc_and_ends PASS [ 0.220s] (610/997) oakvcs-cli::mount_lifecycle mount_finish_json_metadata_sync_failure_reports_phase_after_description PASS [ 0.184s] (611/997) oakvcs-cli::mount_lifecycle mount_finish_json_remote_preflight_leaves_description_overlay_and_head_unchanged PASS [ 0.224s] (612/997) oakvcs-cli::mount_lifecycle mount_finish_json_reports_result_and_ends PASS [ 0.080s] (613/997) oakvcs-cli::mount_lifecycle mount_finish_resolves_nested_mount_path PASS [ 0.075s] (614/997) oakvcs-cli::mount_lifecycle mount_list_json_parses_and_reports_mount_state PASS [ 0.198s] (615/997) oakvcs-cli::mount_lifecycle mount_finish_push_failure_keeps_dirty_commit_state PASS [ 0.194s] (616/997) oakvcs-cli::mount_lifecycle mount_finish_unpushed_only_pushes_and_ends PASS [ 0.106s] (617/997) oakvcs-cli::mount_lifecycle mount_structured_status_info_log_and_agent_state_parse PASS [ 0.090s] (618/997) oakvcs-cli::mount_lifecycle scoped_commit_lands_only_selected_overlay_entries PASS [ 0.084s] (619/997) oakvcs-cli::mount_lifecycle scoped_commit_with_no_matching_overlay_is_a_noop PASS [ 0.073s] (620/997) oakvcs-cli::mount_lifecycle stale_registration_plans_respawn_not_already_mounted PASS [ 0.069s] (621/997) oakvcs-cli::mount_lifecycle stale_registration_without_state_is_cleaned_up PASS [ 0.016s] (622/997) oakvcs-cli::mount_lifecycle unregistered_dest_plans_fresh_mount PASS [ 0.077s] (623/997) oakvcs-cli::mount_lifecycle worktree_remove_ends_clean_pushed_mount PASS [ 0.078s] (624/997) oakvcs-cli::mount_lifecycle worktree_remove_leaves_dirty_mount_in_place PASS [ 0.071s] (625/997) oakvcs-cli::mount_lifecycle worktree_remove_leaves_unpushed_mount_in_place PASS [ 0.047s] (626/997) oakvcs-cli::mount_remote fetch_blob_sizes_empty_input_is_noop PASS [ 0.125s] (627/997) oakvcs-cli::mount_remote fetch_commit_into_cache_stores_commit_and_manifest PASS [ 0.146s] (628/997) oakvcs-cli::mount_remote fetch_blob_sizes_batches_and_collects PASS [ 0.102s] (629/997) oakvcs-cli::mount_remote resolve_branch_head_default_picks_main PASS [ 0.094s] (630/997) oakvcs-cli::mount_remote resolve_branch_head_encodes_explicit_branch_path_segment PASS [ 0.103s] (631/997) oakvcs-cli::mount_remote resolve_branch_head_explicit_branch PASS [ 0.028s] (632/997) oakvcs-cli::mount_ungated bare_mount_prints_help_without_mounting PASS [ 0.102s] (633/997) oakvcs-cli::mount_remote resolve_branch_head_missing_branch_errors PASS [ 0.028s] (634/997) oakvcs-cli::mount_ungated mount_bare_repo_resolves_like_clone PASS [ 0.146s] (635/997) oakvcs-cli::piped_output commit_message_flag_explains_branch_descriptions PASS [ 0.207s] (636/997) oakvcs-cli::piped_output branch_diff_renders_human_stat_table_without_json_flag PASS [ 0.119s] (637/997) oakvcs-cli::piped_output desc_file_dash_reads_stdin_multiline_markdown_exactly PASS [ 0.123s] (638/997) oakvcs-cli::piped_output desc_file_reads_multiline_markdown_exactly PASS [ 0.378s] (639/997) oakvcs-cli::mount_ungated mount_command_runs_without_oak_features PASS [ 0.095s] (640/997) oakvcs-cli::piped_output desc_file_rejects_positional_description_too PASS [ 0.208s] (641/997) oakvcs-cli::piped_output diff_ambiguous_revision_and_path_names_both_invocations PASS [ 0.201s] (642/997) oakvcs-cli::piped_output diff_between_two_commits_prints_hunks_checkout_free PASS [ 2.149s] (643/997) oakvcs-cli::mount_lifecycle end_terminates_recorded_daemon PASS [ 0.234s] (644/997) oakvcs-cli::piped_output diff_branch_covers_commits_and_dirty_worktree PASS [ 0.221s] (645/997) oakvcs-cli::piped_output diff_branch_scopes_paths_and_rejects_json PASS [ 0.147s] (646/997) oakvcs-cli::piped_output diff_json_classifies_noise_files_and_omits_source_category PASS [ 0.269s] (647/997) oakvcs-cli::piped_output diff_exit_code_reports_differences_without_output_parsing PASS [ 0.234s] (648/997) oakvcs-cli::piped_output diff_json_command_stubs_match_the_human_footer_spelling PASS [ 0.231s] (649/997) oakvcs-cli::piped_output diff_json_hunks_attaches_patches_per_file PASS [ 0.147s] (650/997) oakvcs-cli::piped_output diff_name_only_lists_filtered_paths_without_counts PASS [ 0.239s] (651/997) oakvcs-cli::piped_output diff_json_hunks_max_bytes_truncates_with_resume_command PASS [ 0.166s] (652/997) oakvcs-cli::piped_output diff_name_only_rejects_ambiguous_modes PASS [ 0.187s] (653/997) oakvcs-cli::piped_output diff_path_scoping_filters_files_and_reports_empty_scopes PASS [ 0.224s] (654/997) oakvcs-cli::piped_output diff_revision_after_path_reports_ordering_not_a_false_unknown PASS [ 0.225s] (655/997) oakvcs-cli::piped_output diff_single_branch_defaults_to_contribution_and_stat_fallback_is_self_describing PASS [ 0.226s] (656/997) oakvcs-cli::piped_output diff_single_branch_json_reports_endpoint_diff_kind PASS [ 0.130s] (657/997) oakvcs-cli::piped_output diff_stat_counts_content_lines_that_look_like_file_headers PASS [ 0.108s] (658/997) oakvcs-cli::piped_output diff_stat_keeps_binary_rows_without_text_counts PASS [ 0.158s] (659/997) oakvcs-cli::piped_output diff_stat_summarizes_per_file_counts PASS [ 0.247s] (660/997) oakvcs-cli::piped_output diff_third_revision_reports_the_two_revision_limit PASS [ 0.031s] (661/997) oakvcs-cli::piped_output errors_go_to_stderr_not_stdout PASS [ 0.238s] (662/997) oakvcs-cli::piped_output double_dash_forces_revision_reading_for_ambiguous_names PASS [ 0.286s] (663/997) oakvcs-cli::piped_output diff_treats_rowless_main_as_a_branch_endpoint PASS [ 0.275s] (664/997) oakvcs-cli::piped_output endpoint_diff_reports_rename_with_edit_as_renamed PASS [ 0.266s] (665/997) oakvcs-cli::piped_output exit_code_counts_predicted_conflicts_as_differences PASS [ 0.309s] (666/997) oakvcs-cli::piped_output explicit_against_survives_into_footer_commands PASS [ 0.242s] (667/997) oakvcs-cli::piped_output git_head_aliases_are_low_token_and_stable PASS [ 0.333s] (668/997) oakvcs-cli::piped_output external_difftool_still_surfaces_predicted_conflicts PASS [ 0.176s] (669/997) oakvcs-cli::piped_output info_without_json_is_concise_orientation_output PASS [ 0.079s] (670/997) oakvcs-cli::piped_output log_literal_and_regex_pickaxe_flags_conflict PASS [ 0.160s] (671/997) oakvcs-cli::piped_output log_oneline_rejects_ambiguous_modes PASS [ 0.216s] (672/997) oakvcs-cli::piped_output log_oneline_is_compact_and_accepts_explicit_limit PASS [ 0.319s] (673/997) oakvcs-cli::piped_output log_filters_history_by_path PASS [ 0.259s] (674/997) oakvcs-cli::piped_output log_pickaxe_finds_commits_changing_term_count PASS [ 0.129s] (675/997) oakvcs-cli::piped_output log_regex_pickaxe_rejects_invalid_pattern_as_usage_error PASS [ 0.182s] (676/997) oakvcs-cli::piped_output log_regex_pickaxe_matches_moved_term_that_count_based_search_misses PASS [ 0.232s] (677/997) oakvcs-cli::piped_output log_regex_pickaxe_matches_added_lines_a_literal_search_cannot_express PASS [ 0.335s] (678/997) oakvcs-cli::piped_output net_merge_conflicts_respect_path_filters PASS [ 0.320s] (679/997) oakvcs-cli::piped_output net_merge_diff_names_predicted_conflict_files_instead_of_hiding_them PASS [ 0.353s] (680/997) oakvcs-cli::piped_output net_merge_conflicts_surface_in_every_output_style PASS [ 0.479s] (681/997) oakvcs-cli::piped_output path_filtered_log_limit_returns_latest_matches_without_full_history_hint PASS [ 0.167s] (682/997) oakvcs-cli::piped_output piped_branch_create_is_one_short_line PASS [ 0.139s] (683/997) oakvcs-cli::piped_output piped_diff_lists_every_changed_path PASS [ 0.148s] (684/997) oakvcs-cli::piped_output piped_commit_is_hash_only PASS [ 0.161s] (685/997) oakvcs-cli::piped_output piped_diff_print_matches_golden PASS [ 0.138s] (686/997) oakvcs-cli::piped_output piped_log_is_one_line_per_commit PASS [ 0.153s] (687/997) oakvcs-cli::piped_output piped_log_verbose_is_compact_with_files PASS [ 0.878s] (688/997) oakvcs-cli::piped_output pickaxe_filtered_piped_log_hint_reproduces_the_query PASS [ 0.139s] (689/997) oakvcs-cli::piped_output piped_status_is_compact_and_ansi_free PASS [ 0.183s] (690/997) oakvcs-cli::piped_output piped_status_lists_every_changed_path PASS [ 0.164s] (691/997) oakvcs-cli::piped_output piped_status_omits_branch_description_noise PASS [ 0.157s] (692/997) oakvcs-cli::piped_output rev_parse_refuses_unsupported_revs_without_guessing PASS [ 0.889s] (693/997) oakvcs-cli::piped_output piped_log_defaults_to_a_bounded_window_with_more_hint PASS [ 0.159s] (694/997) oakvcs-cli::piped_output status_porcelain_is_compact_stable_and_ansi_free PASS [ 0.024s] (695/997) oakvcs-cli::piped_output top_level_help_prefers_file_based_description_flow PASS [ 0.138s] (696/997) oakvcs-cli::piped_output status_short_aliases_porcelain_rows PASS [ 0.116s] (697/997) oakvcs-cli::piped_output unified_context_applies_to_json_hunks PASS [ 0.130s] (698/997) oakvcs-cli::piped_output truncated_hunks_name_a_fetch_command_per_omitted_file_with_quoting PASS [ 0.131s] (699/997) oakvcs-cli::piped_output word_diff_handles_content_lines_starting_with_dashes PASS [ 0.126s] (700/997) oakvcs-cli::piped_output word_diff_marks_intra_line_changes_with_plain_markers PASS [ 0.163s] (701/997) oakvcs-cli::piped_output unified_context_flag_controls_hunk_width PASS [ 1.637s] (702/997) oakvcs-cli::piped_output path_filtered_piped_log_keeps_more_hint_when_matches_exceed_default_window PASS [ 0.147s] (703/997) oakvcs-cli::pull pull_409_returns_one_actionable_conflict_error_without_preprinting PASS [ 0.130s] (704/997) oakvcs-cli::pull pull_409_when_local_is_ahead_is_a_noop PASS [ 0.204s] (705/997) oakvcs-cli::pull pull_409_reparents_branch_onto_moved_seed PASS [ 0.214s] (706/997) oakvcs-cli::pull pull_409_overlapping_edits_route_to_existing_conflict_flow PASS [ 0.137s] (707/997) oakvcs-cli::pull pull_fast_forward_refuses_to_clobber_uncommitted_edits PASS [ 0.157s] (708/997) oakvcs-cli::pull pull_force_parks_local_commits_instead_of_discarding PASS [ 0.174s] (709/997) oakvcs-cli::pull pull_force_overwrites_dirty_tree PASS [ 0.157s] (710/997) oakvcs-cli::pull pull_skips_rename_when_target_exists_as_orphan_branch_head PASS [ 0.065s] (711/997) oakvcs-cli::push explicit_empty_remote_is_rejected_without_rewriting_stored_remote PASS [ 0.142s] (712/997) oakvcs-cli::push bare_push_uses_stored_remote_for_linked_repo PASS [ 0.154s] (713/997) oakvcs-cli::push push_does_not_self_heal_over_foreign_branch_commits PASS [ 0.168s] (714/997) oakvcs-cli::push push_encodes_branch_name_in_api_path PASS [ 0.152s] (715/997) oakvcs-cli::push push_remote_commit_conflict_returns_one_actionable_error_without_preprinting PASS [ 0.142s] (716/997) oakvcs-cli::push push_repo_flag_links_and_creates_repo_non_interactively PASS [ 0.174s] (717/997) oakvcs-cli::push push_self_heals_when_seed_is_already_ingested_but_not_ancestor PASS [ 0.160s] (718/997) oakvcs-cli::push push_success_output_includes_branch_url PASS [ 0.156s] (719/997) oakvcs-cli::push push_success_without_branch_keeps_plain_output PASS [ 0.070s] (720/997) oakvcs-cli::push push_unlinked_noninteractive_is_local_configuration_error PASS [ 0.287s] (721/997) oakvcs-cli::push push_self_heals_when_remote_head_is_a_moved_seed PASS [ 0.165s] (722/997) oakvcs-cli::redirect blobs_check_redirect_is_fatal_not_a_fallback PASS [ 0.188s] (723/997) oakvcs-cli::redirect clone_follows_move_to_trusted_origin PASS [ 0.222s] (724/997) oakvcs-cli::redirect fetch_follows_move_to_trusted_origin PASS [ 0.216s] (725/997) oakvcs-cli::redirect push_and_pull_follow_move_to_trusted_origin PASS [ 0.135s] (726/997) oakvcs-cli::redirect push_does_not_follow_move_to_untrusted_origin PASS [ 0.126s] (727/997) oakvcs-cli::redirect push_reports_remote_move_instead_of_following_redirect PASS [ 0.135s] (728/997) oakvcs-cli::redirect relative_redirect_reports_status_not_a_move PASS [ 0.090s] (729/997) oakvcs-cli::space space_new_scaffolds_org_space_with_finish_references PASS [ 0.019s] (730/997) oakvcs-cli::space space_repos_without_org_or_marker_is_usage_error PASS [ 0.150s] (731/997) oakvcs-cli::redirect server_error_includes_status_and_body PASS [ 0.162s] (732/997) oakvcs-cli::redirect server_error_with_empty_body_names_the_status PASS [ 0.076s] (733/997) oakvcs-cli::sparse sparse_set_refuses_dirty_tree PASS [ 0.100s] (734/997) oakvcs-cli::sparse sparse_add_widens_then_disable_restores_full_tree PASS [ 0.102s] (735/997) oakvcs-cli::sparse sparse_set_scopes_tree_and_commit_carries_forward PASS [ 0.071s] (736/997) oakvcs-cli::subdirectory commit_from_subdirectory PASS [ 0.060s] (737/997) oakvcs-cli::subdirectory git_backed_commit_creates_oak_sidecar_on_write PASS [ 0.106s] (738/997) oakvcs-cli::subdirectory branch_operations_from_subdirectory PASS [ 0.013s] (739/997) oakvcs-cli::subdirectory resolve_git_repo_does_not_create_oak_sidecar PASS [ 0.058s] (740/997) oakvcs-cli::subdirectory git_backed_read_commands_do_not_create_oak_sidecar PASS [ 0.018s] (741/997) oakvcs-cli::subdirectory resolve_returns_repo_not_found_outside_any_repo PASS [ 0.073s] (742/997) oakvcs-cli::subdirectory reset_with_relative_path_from_subdirectory PASS [ 0.086s] (743/997) oakvcs-cli::subdirectory init_does_not_walk_up PASS [ 0.057s] (744/997) oakvcs-cli::subdirectory resolve_walks_up_to_find_oak_dir PASS [ 0.093s] (745/997) oakvcs-cli::subdirectory resolve_picks_nearest_oak_when_nested_repos_exist PASS [ 0.012s] (746/997) oakvcs-cli::bin/oak tests::clone_branch_flag_parses_named_remote_branch PASS [ 0.015s] (747/997) oakvcs-cli::bin/oak tests::clone_full_flag_is_an_accepted_no_op PASS [ 0.013s] (748/997) oakvcs-cli::bin/oak tests::clone_is_full_by_default PASS [ 0.008s] (749/997) oakvcs-cli::bin/oak tests::merge_base_unavailable_errors_use_conflict_exit_code PASS [ 0.021s] (750/997) oakvcs-cli::bin/oak tests::clone_shallow_flag_opts_into_shallow_history PASS [ 0.021s] (751/997) oakvcs-cli::bin/oak tests::switch_clean_flag_parses_for_create_and_existing_branch PASS [ 0.015s] (752/997) oakvcs-cli::bin/oak tests::switch_discard_hidden_alias_still_parses_for_compatibility PASS [ 0.090s] (753/997) oakvcs-cli::subdirectory status_log_diff_from_subdirectory PASS [ 0.105s] (754/997) oakvcs-cli::subdirectory restore_with_relative_path_from_subdirectory PASS [ 0.022s] (755/997) oakvcs-core chunking::tests::chunk_codec_round_trips_and_passes_raw_through PASS [ 0.041s] (756/997) oakvcs-core chunking::tests::test_chunk_hashes_are_valid PASS [ 0.010s] (757/997) oakvcs-core chunking::tests::test_chunk_small_content PASS [ 0.010s] (758/997) oakvcs-core diff::tests::inline_diff_ranges_declines_mostly_different_lines PASS [ 0.009s] (759/997) oakvcs-core diff::tests::inline_diff_ranges_handles_multibyte_content PASS [ 0.011s] (760/997) oakvcs-core diff::tests::inline_diff_ranges_marks_changed_words_with_exact_byte_offsets PASS [ 0.095s] (761/997) oakvcs-core chunking::tests::test_chunk_determinism PASS [ 0.014s] (762/997) oakvcs-core diff::tests::test_binary_notice_for_nul_content PASS [ 0.012s] (763/997) oakvcs-core diff::tests::test_diff_added_lines PASS [ 0.010s] (764/997) oakvcs-core diff::tests::test_diff_crlf_vs_lf PASS [ 0.011s] (765/997) oakvcs-core diff::tests::test_diff_delete_entire_file PASS [ 0.010s] (766/997) oakvcs-core diff::tests::test_diff_empty_files PASS [ 0.011s] (767/997) oakvcs-core diff::tests::test_diff_modified_lines PASS [ 0.011s] (768/997) oakvcs-core diff::tests::test_diff_new_file_from_empty PASS [ 0.012s] (769/997) oakvcs-core diff::tests::test_diff_no_changes PASS [ 0.011s] (770/997) oakvcs-core diff::tests::test_diff_no_trailing_newline PASS [ 0.009s] (771/997) oakvcs-core diff::tests::test_diff_single_line_change PASS [ 0.013s] (772/997) oakvcs-core diff::tests::test_diff_removed_lines PASS [ 0.010s] (773/997) oakvcs-core diff::tests::test_diff_with_custom_context PASS [ 0.011s] (774/997) oakvcs-core diff::tests::test_is_binary_detects_nul PASS [ 0.011s] (775/997) oakvcs-core diff::tests::test_large_text_gets_notice PASS [ 0.011s] (776/997) oakvcs-core diff::tests::test_multiple_hunks PASS [ 0.010s] (777/997) oakvcs-core diff::tests::test_normal_text_no_notice PASS [ 0.012s] (778/997) oakvcs-core diff::tests::test_unified_output PASS [ 0.010s] (779/997) oakvcs-core diff::tests::test_unified_shows_limited_context PASS [ 0.013s] (780/997) oakvcs-core engine::tests::test_detect_godot PASS [ 0.010s] (781/997) oakvcs-core engine::tests::test_detect_none PASS [ 0.215s] (782/997) oakvcs-core chunking::tests::test_chunk_boundary_stability PASS [ 0.016s] (783/997) oakvcs-core engine::tests::test_detect_unity PASS [ 0.014s] (784/997) oakvcs-core engine::tests::test_detect_unity_missing_assets PASS [ 0.013s] (785/997) oakvcs-core engine::tests::test_detect_unreal PASS [ 0.014s] (786/997) oakvcs-core engine::tests::test_display PASS [ 0.012s] (787/997) oakvcs-core engine::tests::test_oakignore_contents_not_empty PASS [ 0.012s] (788/997) oakvcs-core git::tests::dir_and_file_straddling_slash_sort_in_git_order PASS [ 0.012s] (789/997) oakvcs-core git::tests::two_dirs_and_two_files_sort_stably PASS [ 0.012s] (790/997) oakvcs-core git::tests::validate_git_tree_entries_rejects_invalid_components PASS [ 0.015s] (791/997) oakvcs-core git::tests::validate_git_tree_entries_accepts_normal_paths PASS [ 0.009s] (792/997) oakvcs-core hash::tests::test_deserialize_valid_hex PASS [ 0.015s] (793/997) oakvcs-core hash::tests::test_deserialize_rejects_junk PASS [ 0.011s] (794/997) oakvcs-core hash::tests::test_hash_determinism PASS [ 0.010s] (795/997) oakvcs-core hash::tests::test_hash_different_inputs PASS [ 0.011s] (796/997) oakvcs-core hash::tests::test_hash_from_hex_blake3 PASS [ 0.017s] (797/997) oakvcs-core hash::tests::test_hash_from_hex_git_sha1 PASS [ 0.011s] (798/997) oakvcs-core hash::tests::test_hash_from_hex_invalid_chars PASS [ 0.015s] (799/997) oakvcs-core hash::tests::test_hash_from_hex_invalid_length PASS [ 0.013s] (800/997) oakvcs-core hash::tests::test_hash_kind_reports_unknown_length PASS [ 0.014s] (801/997) oakvcs-core hash::tests::test_hash_from_hex_rejects_uppercase PASS [ 0.014s] (802/997) oakvcs-core hash::tests::test_hash_length PASS [ 0.011s] (803/997) oakvcs-core hash::tests::test_hash_short_handles_non_ascii_without_panicking PASS [ 0.013s] (804/997) oakvcs-core hash::tests::test_hash_short PASS [ 0.010s] (805/997) oakvcs-core hash_format::tests::rfc3339_timestamp_rendering_is_stable PASS [ 0.012s] (806/997) oakvcs-core hash_format::tests::format_flag_defaults_to_v1_and_rejects_unknown PASS [ 0.012s] (807/997) oakvcs-core hash_format::tests::v1_blob_chunk_tree_are_bare_blake3 PASS [ 0.011s] (808/997) oakvcs-core hash_format::tests::v1_blob_golden PASS [ 0.011s] (809/997) oakvcs-core hash_format::tests::v1_commit_matches_live_commit_path_and_golden PASS [ 0.014s] (810/997) oakvcs-core hash_format::tests::v1_commit_timestamp_precision_golden PASS [ 0.010s] (811/997) oakvcs-core hash_format::tests::v1_empty_golden PASS [ 0.015s] (812/997) oakvcs-core hash_format::tests::v1_manifest_root_golden PASS [ 0.012s] (813/997) oakvcs-core hash_format::tests::v1_merge_commit_golden PASS [ 0.009s] (814/997) oakvcs-core hash_format::tests::v1_tree_golden PASS [ 0.363s] (815/997) oakvcs-core chunking::tests::test_chunk_and_reassemble PASS [ 0.012s] (816/997) oakvcs-core hash_format::tests::v2_commit_includes_files PASS [ 0.009s] (817/997) oakvcs-core hash_format::tests::v2_empty_blob_differs_from_empty_tree PASS [ 0.010s] (818/997) oakvcs-core hash_format::tests::v2_domains_separate_identical_bytes PASS [ 0.010s] (819/997) oakvcs-core hash_format::tests::v2_fields_cannot_shift_between_positions PASS [ 0.009s] (820/997) oakvcs-core ignore::tests::test_always_ignores_oak_and_git_with_no_ignore_file PASS [ 0.009s] (821/997) oakvcs-core ignore::tests::test_comment_lines_in_ignore PASS [ 0.014s] (822/997) oakvcs-core hash_format::tests::v2_none_and_empty_message_differ PASS [ 0.010s] (823/997) oakvcs-core ignore::tests::test_directory_specific_pattern PASS [ 0.011s] (824/997) oakvcs-core ignore::tests::test_empty_ignore_file PASS [ 0.012s] (825/997) oakvcs-core ignore::tests::test_from_patterns_empty PASS [ 0.010s] (826/997) oakvcs-core ignore::tests::test_from_patterns_godot PASS [ 0.014s] (827/997) oakvcs-core ignore::tests::test_from_patterns_is_file_in_ignored_dir PASS [ 0.012s] (828/997) oakvcs-core ignore::tests::test_from_patterns_unity PASS [ 0.013s] (829/997) oakvcs-core ignore::tests::test_ignores_git_directory PASS [ 0.014s] (830/997) oakvcs-core ignore::tests::test_gitignore_fallback PASS [ 0.015s] (831/997) oakvcs-core ignore::tests::test_ignores_oak_directory PASS [ 0.014s] (832/997) oakvcs-core ignore::tests::test_is_ignored_covers_system_metadata PASS [ 0.012s] (833/997) oakvcs-core ignore::tests::test_negation_pattern PASS [ 0.013s] (834/997) oakvcs-core ignore::tests::test_nested_gitignore_patterns PASS [ 0.011s] (835/997) oakvcs-core ignore::tests::test_oak_attributes_not_ignored PASS [ 0.013s] (836/997) oakvcs-core ignore::tests::test_oak_branch_marker_always_ignored PASS [ 0.014s] (837/997) oakvcs-core ignore::tests::test_oakignore_takes_precedence PASS [ 0.017s] (838/997) oakvcs-core ignore::tests::test_oakignore_patterns PASS [ 0.014s] (839/997) oakvcs-core ignore::tests::test_system_metadata_path PASS [ 0.011s] (840/997) oakvcs-core ignore::tests::test_tracks_oak_workflows PASS [ 0.010s] (841/997) oakvcs-core merge::tests::add_on_one_side_only PASS [ 0.010s] (842/997) oakvcs-core merge::tests::add_same_file_both_sides_different_is_conflict PASS [ 0.011s] (843/997) oakvcs-core merge::tests::add_same_file_both_sides_identical_is_clean PASS [ 0.011s] (844/997) oakvcs-core merge::tests::both_delete_is_clean_with_no_entry PASS [ 0.010s] (845/997) oakvcs-core merge::tests::both_sides_different_change_conflicts PASS [ 0.008s] (846/997) oakvcs-core merge::tests::both_sides_different_chmod_conflicts PASS [ 0.013s] (847/997) oakvcs-core merge::tests::both_sides_identical_change_is_clean PASS [ 0.012s] (848/997) oakvcs-core merge::tests::both_sides_same_chmod_is_clean PASS [ 0.010s] (849/997) oakvcs-core merge::tests::chmod_only_other_side_keeps_executable PASS [ 0.012s] (850/997) oakvcs-core merge::tests::chmod_only_one_side_keeps_executable PASS [ 0.008s] (851/997) oakvcs-core merge::tests::one_side_modify_other_unchanged PASS [ 0.010s] (852/997) oakvcs-core merge::tests::chmod_vs_concurrent_content_edit_conflicts PASS [ 0.011s] (853/997) oakvcs-core merge::tests::text_merge_non_overlapping_edits_are_clean PASS [ 0.012s] (854/997) oakvcs-core merge::tests::modify_delete_is_conflict PASS [ 0.009s] (855/997) oakvcs-core merge::tests::unchanged_file_kept PASS [ 0.011s] (856/997) oakvcs-core merge::tests::text_merge_overlapping_edits_conflict PASS [ 0.011s] (857/997) oakvcs-core protocol::tests::commit_data_to_core_hash_is_stable PASS [ 0.019s] (858/997) oakvcs-core protocol::tests::commit_data_to_core_recovers_micro_truncated_timestamp PASS [ 0.011s] (859/997) oakvcs-core protocol::tests::commit_data_to_core_rejects_invalid_hash_fields_and_change_types PASS [ 0.017s] (860/997) oakvcs-core protocol::tests::commit_data_to_core_rejects_hash_mismatch PASS [ 0.014s] (861/997) oakvcs-core protocol::tests::commit_data_to_core_round_trips_valid_commit PASS [ 0.012s] (862/997) oakvcs-core protocol::tests::tree_data_to_core_canonicalizes_entry_order PASS [ 0.013s] (863/997) oakvcs-core protocol::tests::tree_data_to_core_rejects_invalid_mode PASS [ 0.013s] (864/997) oakvcs-core protocol::tests::tree_data_to_core_rejects_tampered_entry_under_claimed_hash PASS [ 0.015s] (865/997) oakvcs-core protocol::tests::tree_data_to_core_round_trips_a_valid_tree PASS [ 0.012s] (866/997) oakvcs-core sparse::tests::covers_normalizes_the_queried_path PASS [ 0.013s] (867/997) oakvcs-core sparse::tests::covers_respects_path_boundaries PASS [ 0.013s] (868/997) oakvcs-core sparse::tests::from_metadata_absent_or_blank_is_full_checkout PASS [ 0.012s] (869/997) oakvcs-core sparse::tests::new_drops_blanks_and_dedups PASS [ 0.014s] (870/997) oakvcs-core sparse::tests::metadata_round_trips PASS [ 0.010s] (871/997) oakvcs-core sparse::tests::normalize_strips_and_unifies_separators PASS [ 0.014s] (872/997) oakvcs-core sparse::tests::new_returns_none_when_everything_blank PASS [ 0.012s] (873/997) oakvcs-core sparse::tests::with_added_unions_and_dedups PASS [ 0.021s] (874/997) oakvcs-core sqlite::tests::get_tree_rejects_compressed_row_under_mismatched_hash PASS [ 0.022s] (875/997) oakvcs-core sqlite::tests::legacy_raw_blob_fallback PASS [ 0.024s] (876/997) oakvcs-core sqlite::tests::legacy_tree_entries_fallback PASS [ 0.035s] (877/997) oakvcs-core sqlite::tests::compact_storage_backfills_drops_and_recompresses PASS [ 0.023s] (878/997) oakvcs-core sqlite::tests::new_blob_compresses_and_roundtrips PASS [ 0.029s] (879/997) oakvcs-core sqlite::tests::store_commit_is_idempotent_for_file_changes PASS [ 0.026s] (880/997) oakvcs-core sqlite::tests::store_tree_rejects_mismatched_storage_hash PASS [ 0.022s] (881/997) oakvcs-core sqlite::tests::test_blob_binary_content PASS [ 0.064s] (882/997) oakvcs-core sqlite::tests::missing_0007_row_with_existing_blob_codec_is_marked_applied PASS [ 0.076s] (883/997) oakvcs-core sqlite::tests::missing_0008_row_with_existing_tree_content_is_marked_applied PASS [ 0.019s] (884/997) oakvcs-core sqlite::tests::test_blob_empty_content PASS [ 0.023s] (885/997) oakvcs-core sqlite::tests::test_blob_chunks_mapping PASS [ 0.021s] (886/997) oakvcs-core sqlite::tests::test_blob_roundtrip PASS [ 0.021s] (887/997) oakvcs-core sqlite::tests::test_branch_description_update PASS [ 0.020s] (888/997) oakvcs-core sqlite::tests::test_branch_roundtrip PASS [ 0.025s] (889/997) oakvcs-core sqlite::tests::test_branch_head PASS [ 0.025s] (890/997) oakvcs-core sqlite::tests::test_branch_status_update PASS [ 0.023s] (891/997) oakvcs-core sqlite::tests::test_branch_with_parent PASS [ 0.058s] (892/997) oakvcs-core sqlite::tests::test_bulk_importer_drop_rolls_back PASS [ 0.060s] (893/997) oakvcs-core sqlite::tests::test_bulk_importer_roundtrip PASS [ 0.060s] (894/997) oakvcs-core sqlite::tests::test_bulk_txn_commit_persists PASS [ 0.060s] (895/997) oakvcs-core sqlite::tests::test_bulk_txn_flush_checkpoints_then_rollback PASS [ 0.029s] (896/997) oakvcs-core sqlite::tests::test_commit_roundtrip PASS [ 0.034s] (897/997) oakvcs-core sqlite::tests::test_chunk_roundtrip PASS [ 0.022s] (898/997) oakvcs-core sqlite::tests::test_commit_with_file_changes PASS [ 0.063s] (899/997) oakvcs-core sqlite::tests::test_bulk_txn_rollback_discards PASS [ 0.028s] (900/997) oakvcs-core sqlite::tests::test_commits_for_branch PASS [ 0.027s] (901/997) oakvcs-core sqlite::tests::test_count_commits_for_branch PASS [ 0.024s] (902/997) oakvcs-core sqlite::tests::test_current_branch PASS [ 0.021s] (903/997) oakvcs-core sqlite::tests::test_get_branch_head_nonexistent PASS [ 0.028s] (904/997) oakvcs-core sqlite::tests::test_get_all_commits PASS [ 0.028s] (905/997) oakvcs-core sqlite::tests::test_get_commits_since_cross_branch_hash_returns_all PASS [ 0.025s] (906/997) oakvcs-core sqlite::tests::test_get_commits_since_edge_cases PASS [ 0.025s] (907/997) oakvcs-core sqlite::tests::test_get_commits_since_with_valid_hash PASS [ 0.023s] (908/997) oakvcs-core sqlite::tests::test_get_nonexistent_blob PASS [ 0.019s] (909/997) oakvcs-core sqlite::tests::test_get_nonexistent_chunk PASS [ 0.022s] (910/997) oakvcs-core sqlite::tests::test_get_nonexistent_branch PASS [ 0.018s] (911/997) oakvcs-core sqlite::tests::test_get_nonexistent_commit PASS [ 0.016s] (912/997) oakvcs-core sqlite::tests::test_has_blob PASS [ 0.018s] (913/997) oakvcs-core sqlite::tests::test_has_commit PASS [ 0.023s] (914/997) oakvcs-core sqlite::tests::test_get_nonexistent_manifest PASS [ 0.018s] (915/997) oakvcs-core sqlite::tests::test_list_branches PASS [ 0.019s] (916/997) oakvcs-core sqlite::tests::test_manifest_roundtrip PASS [ 0.018s] (917/997) oakvcs-core sqlite::tests::test_merge_child_exists PASS [ 0.026s] (918/997) oakvcs-core sqlite::tests::test_manifest_with_multiple_entries PASS [ 0.019s] (919/997) oakvcs-core sqlite::tests::test_metadata PASS [ 0.023s] (920/997) oakvcs-core sqlite::tests::test_metadata_nonexistent_key PASS [ 0.020s] (921/997) oakvcs-core sqlite::tests::test_metadata_overwrite PASS [ 0.026s] (922/997) oakvcs-core sqlite::tests::test_put_commit_and_advance_refs_stores_commit_and_moves_heads PASS [ 0.022s] (923/997) oakvcs-core sqlite::tests::test_rename_branch_rejects_orphan_target_head PASS [ 0.025s] (924/997) oakvcs-core sqlite::tests::test_store_blob_idempotent PASS [ 0.040s] (925/997) oakvcs-core sqlite::tests::test_put_blobs_matches_put_blob PASS [ 0.019s] (926/997) oakvcs-core sqlite::tests::test_store_manifest_idempotent PASS [ 0.023s] (927/997) oakvcs-core sqlite::tests::test_store_chunk_rejects_hash_mismatch PASS [ 0.020s] (928/997) oakvcs-core sqlite::tests::test_tag_roundtrip PASS [ 0.025s] (929/997) oakvcs-core sqlite::tests::test_tree_put_idempotent PASS [ 0.024s] (930/997) oakvcs-core sqlite::tests::test_tree_put_walk_roundtrip PASS [ 0.027s] (931/997) oakvcs-core sqlite::tests::test_tree_resolve_path PASS [ 0.023s] (932/997) oakvcs-core sqlite::tests::test_tree_subtree_dedup PASS [ 0.022s] (933/997) oakvcs-core sqlite::tests::test_write_txn_commit_persists PASS [ 0.009s] (934/997) oakvcs-core tests::test_allowed_parent_is_trunk_only PASS [ 0.010s] (935/997) oakvcs-core tests::test_blob_creation PASS [ 0.011s] (936/997) oakvcs-core tests::test_blob_from_string PASS [ 0.023s] (937/997) oakvcs-core sqlite::tests::test_write_txn_rollback_discards PASS [ 0.010s] (938/997) oakvcs-core tests::test_blob_hash_determinism PASS [ 0.010s] (939/997) oakvcs-core tests::test_branch_creation PASS [ 0.010s] (940/997) oakvcs-core tests::test_branch_status_display PASS [ 0.009s] (941/997) oakvcs-core tests::test_commit_rejects_control_chars_in_branch_and_author PASS [ 0.009s] (942/997) oakvcs-core tests::test_commit_creation PASS [ 0.011s] (943/997) oakvcs-core tests::test_change_type_display PASS [ 0.010s] (944/997) oakvcs-core tests::test_content_similarity_binary_returns_zero PASS [ 0.010s] (945/997) oakvcs-core tests::test_content_similarity_disjoint PASS [ 0.011s] (946/997) oakvcs-core tests::test_content_similarity_empty_returns_zero PASS [ 0.010s] (947/997) oakvcs-core tests::test_content_similarity_identical PASS [ 0.010s] (948/997) oakvcs-core tests::test_content_similarity_partial_overlap PASS [ 0.010s] (949/997) oakvcs-core tests::test_detect_renames_by_content_greedy_best_match PASS [ 0.010s] (950/997) oakvcs-core tests::test_detect_renames_by_content_promotes_pair PASS [ 0.012s] (951/997) oakvcs-core tests::test_detect_renames_by_content_respects_max_candidates PASS [ 0.009s] (952/997) oakvcs-core tests::test_diff_with_content_renames_detects_rename_with_edit PASS [ 0.011s] (953/997) oakvcs-core tests::test_diff_with_content_renames_below_threshold_stays_delete_add PASS [ 0.011s] (954/997) oakvcs-core tests::test_detect_renames_by_content_skips_dissimilar PASS [ 0.011s] (955/997) oakvcs-core tests::test_diff_with_content_renames_respects_max_candidates PASS [ 0.008s] (956/997) oakvcs-core tests::test_filemode_default PASS [ 0.010s] (957/997) oakvcs-core tests::test_diff_with_content_renames_respects_size_cap PASS [ 0.011s] (958/997) oakvcs-core tests::test_manifest_diff_added PASS [ 0.011s] (959/997) oakvcs-core tests::test_manifest_diff_deleted PASS [ 0.009s] (960/997) oakvcs-core tests::test_manifest_diff_entries_matches_manifest_diff_without_new_manifest PASS [ 0.010s] (961/997) oakvcs-core tests::test_manifest_diff_exact_rename PASS [ 0.010s] (962/997) oakvcs-core tests::test_manifest_diff_exact_renames_with_duplicate_hashes PASS [ 0.008s] (963/997) oakvcs-core tests::test_manifest_diff_modified PASS [ 0.009s] (964/997) oakvcs-core tests::test_manifest_diff_mode_only_change PASS [ 0.012s] (965/997) oakvcs-core tests::test_manifest_diff_multiple_changes PASS [ 0.012s] (966/997) oakvcs-core tests::test_manifest_diff_no_changes PASS [ 0.008s] (967/997) oakvcs-core tests::test_manifest_empty PASS [ 0.009s] (968/997) oakvcs-core tests::test_manifest_diff_only_exact_renames PASS [ 0.011s] (969/997) oakvcs-core tests::test_manifest_get PASS [ 0.009s] (970/997) oakvcs-core tests::test_metadata_key_display PASS [ 0.011s] (971/997) oakvcs-core tests::test_manifest_hash_determinism PASS [ 0.010s] (972/997) oakvcs-core tests::test_metadata_key_as_str PASS [ 0.010s] (973/997) oakvcs-core tree::tests::build_tree_dedup_subtrees PASS [ 0.010s] (974/997) oakvcs-core tree::tests::build_tree_groups_by_directory PASS [ 0.010s] (975/997) oakvcs-core tree::tests::build_tree_normalizes_paths PASS [ 0.008s] (976/997) oakvcs-core tree::tests::build_tree_rejects_empty_paths_without_silently_dropping_entries PASS [ 0.009s] (977/997) oakvcs-core tree::tests::build_tree_rejects_duplicate_paths PASS [ 0.012s] (978/997) oakvcs-core tree::tests::build_tree_rejects_file_directory_collision PASS [ 0.028s] (979/997) oakvcs-core tests::test_rehydrate_accepts_legacy_pre_merge_parent_preimage PASS [ 0.009s] (980/997) oakvcs-core tree::tests::canonical_bytes_is_hash_preimage PASS [ 0.010s] (981/997) oakvcs-core tree::tests::build_tree_rejects_forbidden_components PASS [ 0.011s] (982/997) oakvcs-core tree::tests::canonical_bytes_round_trips PASS [ 0.009s] (983/997) oakvcs-core tree::tests::empty_root_returns_empty_flatten PASS [ 0.012s] (984/997) oakvcs-core tree::tests::diff_trees_matches_manifest_diff PASS [ 0.010s] (985/997) oakvcs-core tree::tests::empty_tree_hash_matches_sentinel PASS [ 0.010s] (986/997) oakvcs-core tree::tests::flatten_round_trips_through_manifest_hash PASS [ 0.009s] (987/997) oakvcs-core tree::tests::from_canonical_bytes_rejects_malicious_names PASS [ 0.012s] (988/997) oakvcs-core tree::tests::from_canonical_bytes_rejects_bad_hashes_and_modes PASS [ 0.013s] (989/997) oakvcs-core tree::tests::from_canonical_bytes_empty_is_empty_tree PASS [ 0.008s] (990/997) oakvcs-core tree::tests::normalize_path_idempotent PASS [ 0.009s] (991/997) oakvcs-core tree::tests::resolve_path_empty_tree_returns_missing_without_fetch PASS [ 0.010s] (992/997) oakvcs-core tree::tests::resolve_path_finds_blob_and_tree PASS [ 0.010s] (993/997) oakvcs-core tree::tests::tree_hash_is_deterministic PASS [ 0.011s] (994/997) oakvcs-core tree::tests::subtree_at_path_returns_root_for_empty PASS [ 0.008s] (995/997) oakvcs-core tree::tests::tree_new_rejects_duplicate_names PASS [ 0.009s] (996/997) oakvcs-core tree::tests::tree_new_rejects_forbidden_names PASS [ 0.010s] (997/997) oakvcs-core tree::tests::validate_tree_path_messages_name_the_file ββββββββββββ Summary [ 24.766s] 997 tests run: 997 passed, 1 skipped
success
doctests
. "$HOME/.cargo/env" && cargo test --workspace --doc
$ . "$HOME/.cargo/env" && cargo test --workspace --doc Finished `test` profile [unoptimized + debuginfo] target(s) in 0.81s Doc-tests oak_cli running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests oak_core Saving build cache zstd: error 25 : Write error : No space left on device (cannot write compressed block) tar: /tmp/oak-cache.tzst: Wrote only 6144 of 10240 bytes tar: Child returned status 25 tar: Error is not recoverable: exiting now