[INFO] fetching crate outl-actions 0.12.0-beta.218...
[INFO] testing outl-actions-0.12.0-beta.218 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate outl-actions 0.12.0-beta.218 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate outl-actions 0.12.0-beta.218
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate outl-actions 0.12.0-beta.218
[INFO] tweaked toml for crates.io crate outl-actions 0.12.0-beta.218 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate outl-actions 0.12.0-beta.218 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate outl-actions 0.12.0-beta.218 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b
[INFO] running `Command { std: "docker" "start" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling event-listener v5.4.2
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling entities v1.0.1
[INFO] [stderr]    Compiling jetscii v0.5.3
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling rand v0.10.3
[INFO] [stderr]    Compiling arc-swap v1.9.2
[INFO] [stderr]    Compiling smallstr v0.3.1
[INFO] [stderr]    Compiling dirs v7.0.0
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling finl_unicode v1.4.0
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling comrak v0.52.0
[INFO] [stderr]    Compiling emojis v0.9.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling lru v0.18.5
[INFO] [stderr]    Compiling caseless v0.2.2
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling ulid v3.0.0
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling yrs v0.27.3
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling outl-core v0.12.0-beta.218
[INFO] [stderr]    Compiling outl-md v0.12.0-beta.218
[INFO] [stderr]    Compiling outl-exec v0.12.0-beta.218
[INFO] [stderr]    Compiling outl-actions v0.12.0-beta.218 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 14.25s
[INFO] running `Command { std: "docker" "inspect" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling outl-actions v0.12.0-beta.218 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 7.40s
[INFO] running `Command { std: "docker" "inspect" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/outl-actions/e9a9a8329599d644/out/outl_actions-e9a9a8329599d644)
[INFO] [stdout] 
[INFO] [stdout] running 569 tests
[INFO] [stdout] test activity::tests::the_local_device_is_listed_before_it_writes ... ok
[INFO] [stdout] test activity::tests::each_actor_gets_its_own_count ... ok
[INFO] [stdout] test backlinks::tests::backlink_carries_shallow_source_block_and_path ... ok
[INFO] [stdout] test backlinks::tests::backlinks_find_blocks_pointing_at_slug ... ok
[INFO] [stdout] test backlinks::tests::backlinks_for_a_future_journal_finds_blocks_in_past_journals ... ok
[INFO] [stdout] test backlinks::tests::backlinks_for_page_dedup_slug_and_title ... ok
[INFO] [stdout] test backlinks::tests::backlinks_include_self_references_inside_the_same_page ... ok
[INFO] [stdout] test backlinks::tests::backlinks_split_todo_prefix_from_body ... ok
[INFO] [stdout] test backlinks::tests::block_with_ref_and_tag_emits_one_backlink ... ok
[INFO] [stdout] test backlinks::tests::block_with_repeated_reference_only_emits_one_backlink ... ok
[INFO] [stdout] test backlinks::tests::callable_site_shows_in_template_backlinks ... ok
[INFO] [stdout] test backlinks::tests::extract_refs_finds_multiple_tokens ... ok
[INFO] [stdout] test backlinks::tests::extract_refs_ignores_unbalanced ... ok
[INFO] [stdout] test asset::tests::resolve_rejects_traversal_and_external ... ok
[INFO] [stdout] test backlinks::tests::longer_tag_does_not_false_match_a_prefix_target ... ok
[INFO] [stdout] test asset::tests::resolve_missing_asset_is_none ... ok
[INFO] [stdout] test backlinks::tests::non_template_page_ignores_call_and_provenance ... ok
[INFO] [stdout] test asset::tests::oversize_is_rejected_before_copy ... ok
[INFO] [stdout] test backlinks::tests::tag_inside_inline_code_is_not_a_mention ... ok
[INFO] [stdout] test backlinks::tests::person_page_picks_up_at_alias_mentions ... ok
[INFO] [stdout] test backlinks::tests::tag_mentions_count_as_backlinks ... ok
[INFO] [stdout] test backlinks::tests::structural_instance_shows_in_template_backlinks ... ok
[INFO] [stdout] test backlinks::tests::tag_mentions_match_through_slugify ... ok
[INFO] [stdout] test backlinks_index::tests::empty_workspace_has_empty_index ... ok
[INFO] [stdout] test backlinks_index::tests::dedups_block_matched_by_slug_and_title ... ok
[INFO] [stdout] test backlinks_index::tests::index_lookup_matches_slug_refs ... ok
[INFO] [stdout] test backlinks_sort::tests::empty_list_is_a_noop ... ok
[INFO] [stdout] test backlinks_index::tests::index_matches_the_on_demand_path ... ok
[INFO] [stdout] test backlinks_index::tests::one_index_serves_many_pages ... ok
[INFO] [stdout] test backlinks_sort::tests::interleaved_sources_become_contiguous_runs ... ok
[INFO] [stdout] test asset::tests::a_failed_publish_leaves_no_scratch_file ... ok
[INFO] [stdout] test backlinks_sort::tests::newest_first_puts_newest_page_on_top_dfs_within ... ok
[INFO] [stdout] test backlinks_sort::tests::oldest_first_is_the_group_reverse_dfs_within ... ok
[INFO] [stdout] test backlinks_sort::tests::orphan_blocks_cluster_under_the_empty_group ... ok
[INFO] [stdout] test backup::tests::a_disabled_config_takes_no_snapshot ... ok
[INFO] [stdout] test backup::tests::best_effort_never_propagates ... ok
[INFO] [stdout] test asset::tests::a_successful_import_leaves_no_scratch_file ... ok
[INFO] [stdout] test asset::tests::import_bytes_content_addresses_with_given_ext ... ok
[INFO] [stdout] test asset::tests::image_uses_embed_not_plain_link ... ok
[INFO] [stdout] test asset::tests::publish_asset_writes_the_bytes_and_cleans_up ... ok
[INFO] [stdout] test asset::tests::resolve_finds_existing_asset ... ok
[INFO] [stdout] test asset::tests::import_copies_and_content_addresses ... ok
[INFO] [stdout] test asset::tests::filename_special_chars_are_escaped_in_the_label ... ok
[INFO] [stdout] test asset::tests::identical_bytes_dedupe_to_one_path ... ok
[INFO] [stdout] test asset::tests::non_image_uses_plain_link_not_embed ... ok
[INFO] [stdout] test asset::tests::weird_extension_is_sanitised_to_alnum ... ok
[INFO] [stdout] test backup::tests::snapshot_without_init_is_an_error_not_a_panic ... ok
[INFO] [stdout] test asset::tests::extensionless_file_imports_cleanly ... ok
[INFO] [stdout] test backup::tests::init_is_idempotent ... ok
[INFO] [stdout] test backup::tests::an_empty_history_with_op_logs_on_disk_is_an_error ... ok
[INFO] [stdout] test backup::tests::the_repository_is_never_inside_the_workspace ... ok
[INFO] [stdout] test backup::tests::init_writes_nothing_into_the_workspace ... ok
[INFO] [stdout] test backup::tests::list_on_a_fresh_repo_is_empty_not_an_error ... ok
[INFO] [stdout] test block::edit::tests::cycle_todo_preserves_quote_marker_in_canonical_order ... ok
[INFO] [stdout] test block::edit::tests::append_then_edit_changes_text ... ok
[INFO] [stdout] test block::edit::tests::edit_writes_text_verbatim_including_todo_prefix ... ok
[INFO] [stdout] test block::edit::tests::toggle_cycles_through_states ... ok
[INFO] [stdout] test block::edit::tests::toggle_quote_composes_with_toggle_todo ... ok
[INFO] [stdout] test block::edit::tests::toggle_quote_flips_the_prefix_on_and_off ... ok
[INFO] [stdout] test block::forest::tests::append_forest_flush_failure_propagates_but_keeps_applied_ops ... ok
[INFO] [stdout] test block::forest::tests::append_forest_preserves_order_and_targets_parent ... ok
[INFO] [stdout] test block::forest::tests::append_tree_creates_root_and_children_in_order ... ok
[INFO] [stdout] test block::forest::tests::append_tree_empty_text_creates_node_without_edit ... ok
[INFO] [stdout] test block::moves::tests::delete_moves_to_trash ... ok
[INFO] [stdout] test block::moves::tests::indent_makes_block_child_of_previous_sibling ... ok
[INFO] [stdout] test block::moves::tests::indent_rejects_first_sibling ... ok
[INFO] [stdout] test block::moves::tests::move_after_carries_full_deep_subtree ... ok
[INFO] [stdout] test block::moves::tests::move_after_into_own_subtree_is_rejected ... ok
[INFO] [stdout] test block::moves::tests::move_after_onto_self_is_noop ... ok
[INFO] [stdout] test block::moves::tests::move_after_reorders_within_siblings ... ok
[INFO] [stdout] test block::moves::tests::move_after_reparents_across_subtrees ... ok
[INFO] [stdout] test block::moves::tests::move_down_swaps_with_next_sibling ... ok
[INFO] [stdout] test block::moves::tests::move_up_first_sibling_is_noop ... ok
[INFO] [stdout] test block::moves::tests::move_up_swaps_with_previous_sibling ... ok
[INFO] [stdout] test block::moves::tests::outdent_nested_page_block_promotes_within_page ... ok
[INFO] [stdout] test block::moves::tests::outdent_promotes_to_grandparent_level ... ok
[INFO] [stdout] test block::moves::tests::outdent_rejects_root_level_block ... ok
[INFO] [stdout] test block::moves::tests::outdent_top_level_page_block_is_rejected_not_deleted ... ok
[INFO] [stdout] test block::siblings::tests::create_after_or_append_falls_back_to_page_end_when_anchor_missing ... ok
[INFO] [stdout] test block::siblings::tests::create_after_or_append_inserts_sibling_when_anchor_is_live ... ok
[INFO] [stdout] test block::siblings::tests::create_after_returns_new_sibling_not_a_child_of_anchor ... ok
[INFO] [stdout] test block::siblings::tests::create_before_first_child_lands_at_the_front ... ok
[INFO] [stdout] test block::siblings::tests::create_before_first_of_many_reorders_via_floor_shift ... ok
[INFO] [stdout] test block::siblings::tests::create_before_inserts_sibling_directly_ahead_of_anchor ... ok
[INFO] [stdout] test block::siblings::tests::create_before_or_append_falls_back_to_page_end_when_anchor_missing ... ok
[INFO] [stdout] test block::siblings::tests::create_before_or_append_inserts_sibling_when_anchor_is_live ... ok
[INFO] [stdout] test block::split::tests::children_stay_with_the_head_block ... ok
[INFO] [stdout] test block::split::tests::split_at_end_creates_an_empty_sibling_below ... ok
[INFO] [stdout] test block::split::tests::split_at_start_empties_the_head_and_moves_text_below ... ok
[INFO] [stdout] test block::split::tests::split_in_the_middle_produces_two_siblings ... ok
[INFO] [stdout] test block::split::tests::split_past_end_clamps_and_still_creates_empty_sibling ... ok
[INFO] [stdout] test block::split::tests::split_rejects_a_node_not_in_the_tree ... ok
[INFO] [stdout] test block::split::tests::split_respects_utf8_char_boundaries ... ok
[INFO] [stdout] test backup::tests::an_op_log_missing_from_the_commit_is_an_error ... ok
[INFO] [stdout] test capture::tests::a_malformed_capture_is_kept_and_counted ... ok
[INFO] [stdout] test capture::tests::drain_appends_in_capture_order ... ok
[INFO] [stdout] test capture::tests::capture_lands_in_the_day_it_was_made ... ok
[INFO] [stdout] test capture::tests::partial_file_is_ignored ... ok
[INFO] [stdout] test capture::tests::drain_is_idempotent_after_a_crash ... ok
[INFO] [stdout] test clipboard::tests::block_with_subtree ... ok
[INFO] [stdout] test backup::tests::a_failed_commit_leaves_nothing_staged ... ok
[INFO] [stdout] test capture::tests::the_block_id_is_the_capture_ulid ... ok
[INFO] [stdout] test clipboard::tests::multiple_roots_in_caller_order ... ok
[INFO] [stdout] test clipboard::tests::empty_selection_is_empty_string ... ok
[INFO] [stdout] test clipboard::tests::properties_are_alphabetically_sorted_and_stable ... ok
[INFO] [stdout] test clipboard::tests::quote_prefix_rides_along_verbatim ... ok
[INFO] [stdout] test clipboard::tests::range_spanning_parent_and_child_does_not_duplicate ... ok
[INFO] [stdout] test clipboard::tests::single_block ... ok
[INFO] [stdout] test clipboard::tests::roundtrips_through_paste_with_properties ... ok
[INFO] [stdout] test clipboard::tests::roundtrips_todo_done_and_quote_markers ... ok
[INFO] [stdout] test clipboard::tests::stale_ids_not_in_tree_are_skipped_not_blank_bullets ... ok
[INFO] [stdout] test clipboard::tests::todo_prefix_rides_along_verbatim ... ok
[INFO] [stdout] test clock::tests::date_can_differ_from_utc_across_midnight ... ok
[INFO] [stdout] test clock::tests::london_zone_is_dst_aware ... ok
[INFO] [stdout] test clock::tests::resolve_parses_iana_name ... ok
[INFO] [stdout] test clock::tests::resolve_unknown_name_falls_back_to_none ... ok
[INFO] [stdout] test clock::tests::resolve_unset_or_empty_is_none ... ok
[INFO] [stdout] test collapsed::tests::set_then_read_round_trip ... ok
[INFO] [stdout] test collapsed::tests::toggle_flips_value ... ok
[INFO] [stdout] test collapsed::tests::set_block_collapsed_reports_no_change_when_already_equal ... ok
[INFO] [stdout] test commit::tests::a_failed_mutation_runs_no_later_step ... ok
[INFO] [stdout] test commit::tests::a_host_without_undo_never_records_one ... ok
[INFO] [stdout] test commit::tests::a_mutation_that_changes_no_render_records_no_snapshot ... ok
[INFO] [stdout] test commit::tests::a_page_with_no_meta_still_completes_the_commit ... ok
[INFO] [stdout] test commit::tests::the_five_steps_run_in_the_order_the_pipeline_promises ... ok
[INFO] [stdout] test commit::tests::the_mutation_value_is_returned ... ok
[INFO] [stdout] test commit::tests::the_snapshot_is_the_render_from_before_the_mutation ... ok
[INFO] [stdout] test dates::tests::abbreviated_months_parse ... ok
[INFO] [stdout] test dates::tests::implausible_years_are_rejected ... ok
[INFO] [stdout] test dates::tests::impossible_dates_are_rejected ... ok
[INFO] [stdout] test dates::tests::day_first_forms_parse ... ok
[INFO] [stdout] test dates::tests::journal_labels_round_trip ... ok
[INFO] [stdout] test dates::tests::iso_parses ... ok
[INFO] [stdout] test dates::tests::label_form_returns_iso ... ok
[INFO] [stdout] test dates::tests::month_names_are_case_insensitive ... ok
[INFO] [stdout] test dates::tests::next_weekday_in_same_week ... ok
[INFO] [stdout] test dates::tests::next_weekday_on_same_weekday_jumps_seven ... ok
[INFO] [stdout] test dates::tests::next_weekday_one_day_forward ... ok
[INFO] [stdout] test dates::tests::next_weekday_wraps_across_weekend ... ok
[INFO] [stdout] test dates::tests::non_dates_are_rejected ... ok
[INFO] [stdout] test dates::tests::ordinal_stripper_handles_edge_cases ... ok
[INFO] [stdout] test dates::tests::parse_arg_absolute_delegates_to_flexible_forms ... ok
[INFO] [stdout] test dates::tests::parse_arg_absolute_iso_date ... ok
[INFO] [stdout] test dates::tests::parse_arg_bare_offset_is_positive ... ok
[INFO] [stdout] test dates::tests::parse_arg_months_offset_clamps_in_short_months ... ok
[INFO] [stdout] test dates::tests::parse_arg_negative_weeks_offset ... ok
[INFO] [stdout] test dates::tests::parse_arg_positive_days_offset ... ok
[INFO] [stdout] test dates::tests::parse_arg_rejects_garbage ... ok
[INFO] [stdout] test dates::tests::previous_and_next_journal_dates ... ok
[INFO] [stdout] test dates::tests::roam_long_form_parses ... ok
[INFO] [stdout] test dates::tests::slashed_forms_parse ... ok
[INFO] [stdout] test dates::tests::week_tag_format_is_hash_year_w_week ... ok
[INFO] [stdout] test deeplink::tests::capture_takes_no_payload ... ok
[INFO] [stdout] test dates::tests::week_tag_uses_iso_week_year_at_boundary ... ok
[INFO] [stdout] test deeplink::tests::parses_flat_page ... ok
[INFO] [stdout] test deeplink::tests::parses_capture_with_or_without_trailing_slash ... ok
[INFO] [stdout] test deeplink::tests::parses_daily_iso ... ok
[INFO] [stdout] test deeplink::tests::parses_hierarchical_page ... ok
[INFO] [stdout] test deeplink::tests::parses_today ... ok
[INFO] [stdout] test deeplink::tests::rejects_empty_inner_segment ... ok
[INFO] [stdout] test deeplink::tests::rejects_empty_payloads ... ok
[INFO] [stdout] test deeplink::tests::rejects_leading_slash_segment ... ok
[INFO] [stdout] test deeplink::tests::rejects_invalid_dates ... ok
[INFO] [stdout] test deeplink::tests::rejects_path_traversal_slug ... ok
[INFO] [stdout] test deeplink::tests::rejects_unknown_kind ... ok
[INFO] [stdout] test deeplink::tests::tolerates_trailing_slash_on_page ... ok
[INFO] [stdout] test deeplink::tests::rejects_wrong_scheme ... ok
[INFO] [stdout] test export_md::tests::an_empty_workspace_exports_an_empty_folder ... ok
[INFO] [stdout] test export_md::tests::never_overwrites_a_previous_export ... ok
[INFO] [stdout] test history::tests::cap_evicts_oldest ... ok
[INFO] [stdout] test export_md::tests::copies_pages_journals_and_assets_but_not_bookkeeping ... ok
[INFO] [stdout] test history::tests::record_clears_redo ... ok
[INFO] [stdout] test backup::tests::snapshot_captures_pages_and_op_log ... ok
[INFO] [stdout] test backup::tests::a_workspace_gitignore_cannot_drop_the_op_log ... ok
[INFO] [stdout] test history::tests::undo_redo_round_trip ... ok
[INFO] [stdout] test backup::tests::derived_caches_are_not_backed_up ... ok
[INFO] [stdout] test backup::tests::restore_refuses_to_target_the_live_workspace ... ok
[INFO] [stdout] test backup::tests::snapshots_commit_under_outls_own_identity ... ok
[INFO] [stdout] test backup::tests::restore_leaves_the_backup_index_untouched ... ok
[INFO] [stdout] test backup::tests::restore_recovers_a_deleted_page_without_touching_the_live_one ... ok
[INFO] [stdout] test backup::tests::the_auto_pass_initializes_the_repository_on_first_run ... ok
[INFO] [stdout] test exec::tests::call_branch_refuses_to_reproject_a_frozen_page ... ok
[INFO] [stdout] test journal::survey::tests::survey_counts_the_lines_a_reprojection_would_remove ... ok
[INFO] [stdout] test journal::survey::tests::survey_does_not_call_a_vanished_md_absent ... ok
[INFO] [stdout] test journal::survey::tests::survey_does_not_call_an_undownloaded_page_absent ... ok
[INFO] [stdout] test journal::survey::tests::survey_reports_a_page_whose_tree_ran_ahead_as_stale ... ok
[INFO] [stdout] test backup::tests::snapshot_with_no_changes_is_none_not_an_error ... ok
[INFO] [stdout] test block::forest::tests::append_forest_batched_matches_sequential_and_persists ... ok
[INFO] [stdout] test journal::survey::tests::survey_offers_no_repair_for_a_withheld_hash_with_nothing_unlogged ... ok
[INFO] [stdout] test journal::survey::tests::survey_reports_a_page_holding_unlogged_content_as_ahead_of_the_log ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_leaves_a_page_with_a_pending_external_edit_alone ... ok
[INFO] [stdout] test journal::survey::tests::survey_reports_a_withheld_hash_page_whose_render_matches_disk ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_names_a_page_it_could_not_read ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_converges_a_page_whose_only_empty_block_a_peer_typed_into ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_never_writes_a_page_whose_sidecar_cannot_answer ... ok
[INFO] [stdout] test history::tests::restore_page_md_round_trips_through_ops ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_still_counts_a_real_line_a_reprojection_would_remove ... ok
[INFO] [stdout] test backup::tests::list_returns_newest_first ... ok
[INFO] [stdout] test journal::tests::frontmatter::the_render_lifts_the_fence_before_hiding_the_page_model_keys ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_withholds_a_page_whose_reprojection_would_remove_content ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_projects_a_page_that_has_no_md_on_disk_at_all ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_surfaces_a_page_that_stopped_syncing_as_a_refusal ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_still_declines_when_an_unanswerable_sidecar_covers_real_text ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_reprojects_a_stale_page_that_loses_nothing ... ok
[INFO] [stdout] test journal::survey::tests::the_sweep_reprojects_a_page_whose_only_block_is_empty ... ok
[INFO] [stdout] test journal::tests::if_stale::content_comparison_handles_empty_blocks_and_marker_edge_cases ... ok
[INFO] [stdout] test journal::tests::frontmatter::a_block_append_leaves_the_frontmatter_fence_intact ... ok
[INFO] [stdout] test journal::tests::guard::a_local_edit_does_not_project_over_content_the_log_never_saw ... ok
[INFO] [stdout] test backup::tests::the_users_own_repository_is_never_touched ... ok
[INFO] [stdout] test journal::tests::frontmatter::guarded_refuses_to_overwrite_an_unreconciled_fence_edit ... ok
[INFO] [stdout] test journal::tests::frontmatter::if_stale_still_projects_a_page_whose_fence_sits_behind_a_byte_order_mark ... ok
[INFO] [stdout] test journal::tests::frontmatter::if_stale_refuses_to_drop_a_frontmatter_fence_that_sits_behind_a_bom ... ok
[INFO] [stdout] test journal::tests::frontmatter::if_stale_refuses_a_projection_that_would_drop_the_frontmatter ... ok
[INFO] [stdout] test journal::tests::frontmatter::if_stale_still_projects_a_page_whose_log_knows_its_fence ... ok
[INFO] [stdout] test journal::tests::guard::the_guard_projects_a_page_that_has_no_md_yet ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_does_not_clobber_an_unreadable_md ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_declines_when_the_sidecar_cannot_answer ... ok
[INFO] [stdout] test journal::tests::guard::a_local_edit_on_a_healthy_page_still_projects ... ok
[INFO] [stdout] test journal::tests::guard::a_withheld_hash_still_reaches_the_user ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_refuses_a_missing_md_beside_a_live_sidecar ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_never_clobbers_an_external_edit ... ok
[INFO] [stdout] test backup::tests::the_auto_pass_respects_the_interval_floor ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_is_a_noop_when_the_md_matches_the_tree ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_refuses_a_page_icloud_has_not_downloaded ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_projects_a_page_whose_md_is_absent ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_refuses_when_the_md_carries_content_the_log_lacks ... ok
[INFO] [stdout] test journal::tests::guard::the_guard_refuses_when_the_sidecar_cannot_be_read_at_all ... ok
[INFO] [stdout] test journal::tests::render::apply_all_pages_refuses_to_overwrite_content_ahead_of_the_log ... ok
[INFO] [stdout] test journal::tests::guard::guarded_projection_checks_disk_only_after_acquiring_the_page_lock ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_ignores_whitespace_only_differences_when_deciding ... ok
[INFO] [stdout] test journal::tests::render::page_md_path_routes_journals_and_pages_separately ... ok
[INFO] [stdout] test journal::tests::render::render_block_md_captures_the_full_deep_subtree ... ok
[INFO] [stdout] test journal::tests::render::render_page_md_emits_page_level_properties ... ok
[INFO] [stdout] test journal::tests::render::render_page_md_outputs_title_prop_then_children ... ok
[INFO] [stdout] test merges::tests::a_peer_edit_with_no_local_edit_is_not_a_merge ... ok
[INFO] [stdout] test merges::tests::a_repeated_detection_is_listed_once ... ok
[INFO] [stdout] test journal::tests::render::apply_all_pages_writes_each_to_disk ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_a_page_a_peer_edited ... ok
[INFO] [stdout] test merges::tests::each_device_keeps_its_own_file_and_a_corrupt_one_starts_empty ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_still_declines_when_an_unanswerable_sidecar_covers_real_text ... ok
[INFO] [stdout] test namespace::tests::a_flat_name_has_no_ancestors ... ok
[INFO] [stdout] test namespace::tests::a_journal_is_never_nested ... ok
[INFO] [stdout] test namespace::tests::a_name_is_never_its_own_ancestor ... ok
[INFO] [stdout] test namespace::tests::a_sibling_sharing_a_string_prefix_is_not_nested ... ok
[INFO] [stdout] test namespace::tests::an_empty_namespace_matches_nothing ... ok
[INFO] [stdout] test namespace::tests::ancestors_are_proper_prefixes_outermost_first ... ok
[INFO] [stdout] test namespace::tests::descendants_include_every_level_with_its_depth ... ok
[INFO] [stdout] test namespace::tests::descendants_of_an_intermediate_level_are_relative_to_it ... ok
[INFO] [stdout] test namespace::tests::empty_segments_are_dropped ... ok
[INFO] [stdout] test namespace::tests::matching_folds_case_and_accents_like_the_slug_does ... ok
[INFO] [stdout] test namespace::tests::nesting_has_no_depth_limit ... ok
[INFO] [stdout] test namespace::tests::segments_split_on_slash ... ok
[INFO] [stdout] test namespace::tests::the_namespace_root_is_not_its_own_descendant ... ok
[INFO] [stdout] test merges::tests::a_racing_peer_edit_is_listed_with_both_texts ... ok
[INFO] [stdout] test merges::tests::the_log_is_newest_first_and_capped ... ok
[INFO] [stdout] test open_with::tests::a_binary_payload_with_a_text_extension_is_refused ... ok
[INFO] [stdout] test open_with::tests::a_file_with_no_usable_stem_still_gets_a_name ... ok
[INFO] [stdout] test merges::tests::the_log_survives_a_restart_and_so_does_an_undo ... ok
[INFO] [stdout] test open_with::tests::a_bulleted_markdown_file_lands_as_an_outline ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_a_page_whose_only_block_is_empty ... ok
[INFO] [stdout] test open_with::tests::a_plain_text_file_lands_as_one_block_per_line ... ok
[INFO] [stdout] test open_with::tests::a_stale_target_for_the_same_file_lands_on_the_page_that_won ... ok
[INFO] [stdout] test open_with::tests::an_imported_page_is_linked_from_todays_journal ... ok
[INFO] [stdout] test open_with::tests::a_non_latin_file_name_never_lands_on_the_namespace_page ... ok
[INFO] [stdout] test open_with::tests::an_empty_file_still_produces_a_page ... ok
[INFO] [stdout] test open_with::tests::a_stale_target_for_a_different_file_is_refused_not_merged ... ok
[INFO] [stdout] test open_with::tests::an_unsupported_extension_is_refused_before_the_file_is_read ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_still_projects_a_page_whose_sidecar_has_no_blocks ... ok
[INFO] [stdout] test open_with::tests::edits_made_after_an_import_survive_reopening_the_file ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_still_reprojects_when_the_md_holds_no_unlogged_content ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_when_tree_ran_ahead_of_the_md ... ok
[INFO] [stdout] test open_with::tests::reopening_a_file_does_not_add_a_second_journal_entry ... ok
[INFO] [stdout] test open_with::tests::the_page_id_is_known_before_the_page_exists ... ok
[INFO] [stdout] test open_with::tests::the_journal_link_opens_the_page_it_names ... ok
[INFO] [stdout] test open_with::tests::reopening_the_same_file_navigates_instead_of_importing_again ... ok
[INFO] [stdout] test outline::tests::flat_index_for_block_finds_first_match_only ... ok
[INFO] [stdout] test outline::tests::flat_index_for_block_returns_none_for_unknown_id ... ok
[INFO] [stdout] test open_with::tests::the_page_title_is_namespaced_and_the_slug_is_one_path_component ... ok
[INFO] [stdout] test outline::tests::flat_index_for_block_returns_none_for_empty_forest ... ok
[INFO] [stdout] test outline::tests::flat_index_for_block_traverses_deep_nesting ... ok
[INFO] [stdout] test outline::tests::flat_index_for_block_walks_dfs_preorder ... ok
[INFO] [stdout] test outline::tests::flatten_subtree_paths_leaf_returns_just_root ... ok
[INFO] [stdout] test outline::tests::flatten_subtree_paths_returns_dfs_preorder ... ok
[INFO] [stdout] test outline::tests::outline_node_carries_todo_text_and_properties ... ok
[INFO] [stdout] test outline::tests::project_parsed_subtree_attaches_tokens_and_recurses ... ok
[INFO] [stdout] test outline::tests::prop_value_to_string_covers_every_variant ... ok
[INFO] [stdout] test page::tests::create_and_find_by_slug ... ok
[INFO] [stdout] test page::tests::delete_unknown_slug_is_page_not_found ... ok
[INFO] [stdout] test page::tests::delete_removes_page_from_listings ... ok
[INFO] [stdout] test page::tests::find_by_slug_is_deterministic_with_duplicate_roots ... ok
[INFO] [stdout] test page::tests::journal_round_trip ... ok
[INFO] [stdout] test page::tests::merge_duplicate_slug_roots_consolidates_two_journal_roots ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_a_page_a_peer_deleted_from ... ok
[INFO] [stdout] test page::tests::merge_duplicate_slug_roots_is_idempotent_and_noop_when_clean ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_over_a_surplus_bare_bullet_on_an_answerable_sidecar ... ok
[INFO] [stdout] test page::tests::migration_moves_legacy_blocks ... ok
[INFO] [stdout] test page::tests::open_journal_does_not_restamp_existing_daily ... ok
[INFO] [stdout] test journal::tests::render::apply_all_pages_continues_after_a_refused_page ... ok
[INFO] [stdout] test page::tests::open_journal_without_template_is_empty ... ok
[INFO] [stdout] test page::tests::open_journal_stamps_template_on_fresh_daily ... ok
[INFO] [stdout] test page::tests::open_or_create_is_idempotent ... ok
[INFO] [stdout] test page::tests::page_meta_falls_back_to_slug_when_no_title_or_text ... ok
[INFO] [stdout] test page::tests::page_meta_prefers_title_property_over_node_text ... ok
[INFO] [stdout] test page::tests::toggle_pin_flips_the_property_and_reports_the_new_state ... ok
[INFO] [stdout] test page::tests::toggle_pin_refuses_a_journal_page ... ok
[INFO] [stdout] test page_repair_namespaces::tests::a_journal_is_never_retitled ... ok
[INFO] [stdout] test page_repair_namespaces::tests::a_flat_mention_never_writes_a_title ... ok
[INFO] [stdout] test page_repair_namespaces::tests::a_mention_gives_an_ingested_page_its_namespace_back ... ok
[INFO] [stdout] test page_repair_namespaces::tests::a_page_that_already_has_a_title_is_left_alone ... ok
[INFO] [stdout] test page_repair_namespaces::tests::a_mention_of_a_page_that_does_not_exist_is_ignored ... ok
[INFO] [stdout] test page_repair_namespaces::tests::an_explicit_title_spelled_like_the_slug_is_still_a_title ... ok
[INFO] [stdout] test page_repair_namespaces::tests::it_is_idempotent ... ok
[INFO] [stdout] test page_repair_namespaces::tests::two_spellings_of_one_slug_are_reported_not_guessed ... ok
[INFO] [stdout] test open_with::tests::the_source_path_never_reaches_the_markdown ... ok
[INFO] [stdout] test page_repair_namespaces::tests::legacy_root_text_spelled_like_the_slug_is_still_a_title ... ok
[INFO] [stdout] test page_repair_titles::tests::concurrent_create_does_not_double_a_regular_page_title ... ok
[INFO] [stdout] test page_repair_titles::tests::detects_doubled_and_tripled_slug ... ok
[INFO] [stdout] test open_with::tests::the_recorded_source_survives_the_file_moving_mid_import ... ok
[INFO] [stdout] test page_repair_titles::tests::ignores_regular_pages ... ok
[INFO] [stdout] test open_with::tests::the_source_path_is_recorded_on_the_page ... ok
[INFO] [stdout] test journal::tests::render::apply_if_absent_projects_when_md_is_missing ... ok
[INFO] [stdout] test page_repair_titles::tests::leaves_single_and_empty_and_unrelated_alone ... ok
[INFO] [stdout] test page_repair_titles::tests::is_a_noop_on_a_clean_workspace_and_idempotent ... ok
[INFO] [stdout] test paste::detect::tests::outline_detector_false_on_plain_text ... ok
[INFO] [stdout] test open_with::tests::two_imports_on_one_day_both_show_up ... ok
[INFO] [stdout] test paste::detect::tests::outline_detector_true_on_bullet_lines ... ok
[INFO] [stdout] test paste::detect::tests::split_paragraphs_handles_crlf ... ok
[INFO] [stdout] test page_repair_titles::tests::concurrent_journal_open_does_not_double_the_title ... ok
[INFO] [stdout] test paste::detect::tests::table_detector_finds_a_table_anywhere_in_the_payload ... ok
[INFO] [stdout] test paste::detect::tests::table_detector_is_false_on_prose_that_carries_a_pipe ... ok
[INFO] [stdout] test paste::detect::tests::structured_covers_all_three_shapes_and_nothing_else ... ok
[INFO] [stdout] test paste::normalize::tests::id_line_with_non_crockford_chars_survives ... ok
[INFO] [stdout] test paste::detect::tests::split_paragraphs_is_one_per_nonblank_line ... ok
[INFO] [stdout] test page_repair_titles::tests::repairs_a_doubled_journal_title ... ok
[INFO] [stdout] test paste::normalize::tests::id_line_with_wrong_length_survives ... ok
[INFO] [stdout] test paste::normalize::tests::github_checkbox_becomes_todo ... ok
[INFO] [stdout] test paste::normalize::tests::indent_2_stays_unchanged ... ok
[INFO] [stdout] test paste::normalize::tests::indent_4_normalizes_to_2 ... ok
[INFO] [stdout] test paste::normalize::tests::iso_date_is_left_alone ... ok
[INFO] [stdout] test paste::normalize::tests::known_token_wins_over_generic_strip ... ok
[INFO] [stdout] test paste::normalize::tests::logseq_id_line_is_dropped ... ok
[INFO] [stdout] test paste::normalize::tests::plain_page_ref_is_left_alone ... ok
[INFO] [stdout] test paste::normalize::tests::roam_done_becomes_prefix ... ok
[INFO] [stdout] test paste::normalize::tests::roam_embed_becomes_outl_embed ... ok
[INFO] [stdout] test paste::normalize::tests::roam_highlight_becomes_double_equals ... ok
[INFO] [stdout] test paste::normalize::tests::roam_long_date_becomes_iso ... ok
[INFO] [stdout] test paste::normalize::tests::roam_query_becomes_outl_query ... ok
[INFO] [stdout] test paste::normalize::tests::short_month_long_date_becomes_iso ... ok
[INFO] [stdout] test paste::normalize::tests::slashed_date_becomes_iso ... ok
[INFO] [stdout] test paste::normalize::tests::unbalanced_brackets_dont_panic ... ok
[INFO] [stdout] test paste::normalize::tests::roam_todo_becomes_prefix ... ok
[INFO] [stdout] test paste::normalize::tests::unknown_tokens_are_stripped ... ok
[INFO] [stdout] test open_with::tests::two_different_files_with_the_same_name_get_separate_pages ... ok
[INFO] [stdout] test paste::tests::a_pasted_markdown_table_stays_one_block ... ok
[INFO] [stdout] test paste::tests::a_table_pasted_among_prose_keeps_its_rows_together ... ok
[INFO] [stdout] test paste::tests::paste_after_a_freshly_created_empty_block ... ok
[INFO] [stdout] test paste::tests::paste_after_root_block ... ok
[INFO] [stdout] test paste::tests::paste_applies_block_properties ... ok
[INFO] [stdout] test paste::tests::paste_as_child_of_a_freshly_created_empty_block ... ok
[INFO] [stdout] test paste::tests::paste_as_last_child_of_root ... ok
[INFO] [stdout] test paste::tests::paste_at_caret_with_plain_text_is_a_splice ... ok
[INFO] [stdout] test paste::tests::paste_at_caret_splits_and_appends_tail ... ok
[INFO] [stdout] test paste::tests::paste_empty_input_is_noop ... ok
[INFO] [stdout] test paste::tests::paste_into_freshly_created_empty_block ... ok
[INFO] [stdout] test paste::tests::paste_plain_never_splits_or_converts ... ok
[INFO] [stdout] test paste::tests::paste_plain_text_preserves_unknown_tokens ... ok
[INFO] [stdout] test paste::tests::paste_preserves_nested_children ... ok
[INFO] [stdout] test paste::tests::plain_paste_never_converts_tabular_data ... ok
[INFO] [stdout] test paste::tests::plain_single_line_stays_one_block ... ok
[INFO] [stdout] test paste::tests::paste_user_prompt_fixture ... ok
[INFO] [stdout] test journal::tests::render::apply_if_absent_is_noop_when_md_already_exists ... ok
[INFO] [stdout] test paste::tests::plain_multi_line_pastes_one_block_each ... ok
[INFO] [stdout] test paste::tests::tab_indented_text_is_not_turned_into_a_table ... ok
[INFO] [stdout] test journal::tests::if_stale::if_stale_reprojects_after_a_pure_indent ... ok
[INFO] [stdout] test paste::tests::tab_separated_data_pastes_as_one_table_block ... ok
[INFO] [stdout] test person::tests::open_or_create_by_ref_at_edge_cases ... ok
[INFO] [stdout] test person::tests::open_or_create_by_ref_composite_name_slugifies_title_preserved ... ok
[INFO] [stdout] test person::tests::open_or_create_by_ref_creates_missing_person_with_type ... ok
[INFO] [stdout] test person::tests::open_or_create_by_ref_marks_preexisting_page_as_person ... ok
[INFO] [stdout] test person::tests::open_or_create_by_ref_strips_at_to_find_person ... ok
[INFO] [stdout] test person::tests::page_meta_surfaces_page_type_lowercased ... ok
[INFO] [stdout] test person::tests::search_persons_filters_to_person_pages_only ... ok
[INFO] [stdout] test property::tests::a_key_with_spaces_is_refused_rather_than_repaired ... ok
[INFO] [stdout] test property::tests::a_key_that_legitimately_ends_in_a_colon_stays_editable ... ok
[INFO] [stdout] test property::tests::a_pages_frontmatter_fence_is_not_one_of_its_properties ... ok
[INFO] [stdout] test property::tests::a_property_key_keeps_its_inner_colons ... ok
[INFO] [stdout] test property::tests::an_empty_key_is_refused_after_normalising_too ... ok
[INFO] [stdout] test property::tests::an_empty_workspace_has_no_keys ... ok
[INFO] [stdout] test property::tests::normalize_key_covers_what_a_user_actually_types ... ok
[INFO] [stdout] test property::tests::bookkeeping_keys_are_not_suggested ... ok
[INFO] [stdout] test property::tests::page_properties_hide_the_keys_that_define_the_page ... ok
[INFO] [stdout] test property::tests::one_key_in_two_casings_is_one_entry ... ok
[INFO] [stdout] test property::tests::the_frontmatter_key_cannot_be_written_as_a_property ... ok
[INFO] [stdout] test property::tests::ranks_keys_by_how_often_they_are_used ... ok
[INFO] [stdout] test property::tests::the_frontmatter_key_is_never_suggested ... ok
[INFO] [stdout] test property::tests::the_structural_guard_survives_the_colons_a_user_copies ... ok
[INFO] [stdout] test property::tests::the_order_is_stable_when_counts_tie ... ok
[INFO] [stdout] test quote::tests::empty_body_is_legal ... ok
[INFO] [stdout] test quote::tests::marker_requires_trailing_space ... ok
[INFO] [stdout] test quote::tests::split_recognises_the_marker ... ok
[INFO] [stdout] test quote::tests::toggle_normalises_legacy_quote_before_todo_authoring ... ok
[INFO] [stdout] test quote::tests::toggle_preserves_inner_text_verbatim_including_inline_tokens ... ok
[INFO] [stdout] test quote::tests::toggle_preserves_leading_todo_in_canonical_order ... ok
[INFO] [stdout] test quote::tests::toggle_walks_through_two_states ... ok
[INFO] [stdout] test recover::tests::a_block_is_reported_with_the_page_hosting_it ... ok
[INFO] [stdout] test recover::tests::a_block_that_only_ever_grew_is_not_a_candidate ... ok
[INFO] [stdout] test recover::tests::a_cleared_block_is_not_a_candidate ... ok
[INFO] [stdout] test recover::tests::a_healthy_workspace_reports_nothing ... ok
[INFO] [stdout] test recover::tests::a_restored_block_is_not_reported_again ... ok
[INFO] [stdout] test recover::tests::a_trashed_block_is_left_alone ... ok
[INFO] [stdout] test recover::tests::a_truncating_edit_is_reported_with_everything_it_dropped ... ok
[INFO] [stdout] test recover::tests::an_edit_that_rewrote_the_block_is_not_a_candidate ... ok
[INFO] [stdout] test recover::tests::losing_only_trailing_whitespace_is_not_a_loss ... ok
[INFO] [stdout] test recover::tests::min_lost_lines_raises_the_bar_and_never_lowers_it ... ok
[INFO] [stdout] test recover::tests::every_recovered_revision_contains_the_current_text ... ok
[INFO] [stdout] test recover::tests::restoring_appends_an_op_and_leaves_the_earlier_ones_in_place ... ok
[INFO] [stdout] test recover::tests::restoring_refuses_a_block_shortened_to_a_prefix_since_the_scan ... ok
[INFO] [stdout] test recover::tests::restoring_refuses_a_block_the_user_cleared_since_the_scan ... ok
[INFO] [stdout] test recover::tests::restoring_refuses_a_block_that_changed_since_the_scan ... ok
[INFO] [stdout] test recover::tests::the_longest_still_matching_revision_wins ... ok
[INFO] [stdout] test refusal::tests::every_declared_state_explains_itself ... ok
[INFO] [stdout] test recover::tests::the_worst_loss_is_reported_first ... ok
[INFO] [stdout] test refusal::tests::every_surface_declares_every_refusal ... ok
[INFO] [stdout] test refusal::tests::the_cli_row_accounts_for_the_background_projection_sweep ... ok
[INFO] [stdout] test reminders::fired::tests::the_log_never_lands_on_the_sync_surface ... ok
[INFO] [stdout] test reminders::scan::tests::a_block_without_a_date_anchors_to_today ... ok
[INFO] [stdout] test reminders::scan::tests::a_date_inside_a_code_span_does_not_anchor_a_reminder ... ok
[INFO] [stdout] test reminders::scan::tests::a_nested_ref_does_not_anchor_to_the_inner_date ... ok
[INFO] [stdout] test reminders::scan::tests::a_non_date_ref_is_not_an_anchor ... ok
[INFO] [stdout] test reminders::scan::tests::an_anchor_inside_emphasis_still_counts ... ok
[INFO] [stdout] test reminders::scan::tests::the_same_date_twice_schedules_once ... ok
[INFO] [stdout] test reminders::scan::tests::every_date_in_the_block_gets_its_own_schedule ... ok
[INFO] [stdout] test reminders::schedule::tests::a_device_that_slept_owes_one_fire_not_a_backlog ... ok
[INFO] [stdout] test reminders::schedule::tests::a_fire_pushed_past_until_by_quiet_hours_is_over ... ok
[INFO] [stdout] test reminders::schedule::tests::a_same_day_quiet_window_does_not_wrap ... ok
[INFO] [stdout] test reminders::schedule::tests::done_stops_every_rule_including_an_explicit_until ... ok
[INFO] [stdout] test reminders::schedule::tests::an_expired_snooze_does_not_delay_anything ... ok
[INFO] [stdout] test reminders::fired::tests::a_corrupt_file_reads_as_empty_not_as_an_error ... ok
[INFO] [stdout] test reminders::schedule::tests::now_anchor_fires_at_now ... ok
[INFO] [stdout] test reminders::schedule::tests::overdue_at_creation_fires_immediately ... ok
[INFO] [stdout] test reminders::schedule::tests::quiet_hours_leave_a_daytime_fire_alone ... ok
[INFO] [stdout] test reminders::schedule::tests::repeat_schedules_one_interval_after_the_last_fire ... ok
[INFO] [stdout] test reminders::schedule::tests::first_fire_lands_on_the_anchor ... ok
[INFO] [stdout] test reminders::schedule::tests::single_shot_never_fires_twice ... ok
[INFO] [stdout] test reminders::schedule::tests::quiet_hours_push_a_small_hours_fire_to_the_same_morning ... ok
[INFO] [stdout] test reminders::schedule::tests::quiet_hours_push_a_late_night_fire_to_the_morning ... ok
[INFO] [stdout] test reminders::schedule::tests::max_fires_caps_the_repeat ... ok
[INFO] [stdout] test reminders::schedule::tests::until_date_ends_the_repeat_at_end_of_day ... ok
[INFO] [stdout] test reminders::schedule::tests::snooze_pushes_the_next_fire_out ... ok
[INFO] [stdout] test reminders::schedule::tests::until_time_ends_the_repeat ... ok
[INFO] [stdout] test reminders::tests::epoch_conversion_round_trips ... ok
[INFO] [stdout] test resolve::tests::open_or_create_by_name_slugifies_filesystem_hostile_input ... ok
[INFO] [stdout] test reminders::tests::conversion_round_trips_across_a_dst_boundary ... ok
[INFO] [stdout] test resolve::tests::open_or_create_by_ref_matches_title_case_insensitively ... ok
[INFO] [stdout] test resolve::tests::open_or_create_by_ref_falls_through_invalid_date_to_page ... ok
[INFO] [stdout] test resolve::tests::open_or_create_by_ref_resolves_existing_via_slugified_form ... ok
[INFO] [stdout] test resolve::tests::open_or_create_by_ref_routes_valid_date_to_journal ... ok
[INFO] [stdout] test template::call::tests::call_target_name_extracts_template ... ok
[INFO] [stdout] test template::call::tests::fails_when_template_not_found ... ok
[INFO] [stdout] test template::call::tests::fails_when_no_code_block ... ok
[INFO] [stdout] test template::call::tests::inject_call_params_canonicalizes_aliases ... ok
[INFO] [stdout] test template::call::tests::inject_call_params_escapes_values ... ok
[INFO] [stdout] test refusal::tests::the_clients_doc_matches_the_refusal_matrix ... FAILED
[INFO] [stdout] test template::call::tests::parse_call_params_skips_comments ... ok
[INFO] [stdout] test template::call::tests::parses_call_params_body ... ok
[INFO] [stdout] test template::call::tests::resolve_call_takes_first_code_fence ... ok
[INFO] [stdout] test template::call::tests::resolves_callable_template_with_code_block ... ok
[INFO] [stdout] test template::call::tests::resolves_with_params ... ok
[INFO] [stdout] test template::instantiate::tests::copies_and_substitutes_text_properties ... ok
[INFO] [stdout] test person::tests::externally_authored_md_with_type_person_appears_in_search_persons ... ok
[INFO] [stdout] test sync::tests::reload_workspace_opens_empty_workspace_when_no_ops ... ok
[INFO] [stdout] test template::instantiate::tests::deep_clone_preserves_sibling_order ... ok
[INFO] [stdout] test template::instantiate::tests::from_template_only_on_root_not_descendants ... ok
[INFO] [stdout] test template::instantiate::tests::deep_clones_nested_children ... ok
[INFO] [stdout] test template::instantiate::tests::fails_when_template_not_found ... ok
[INFO] [stdout] test template::instantiate::tests::instantiates_blocks_under_target ... ok
[INFO] [stdout] test template::instantiate::tests::sets_from_template_on_root_blocks ... ok
[INFO] [stdout] test template::instantiate::tests::substitutes_variables_in_cloned_text ... ok
[INFO] [stdout] test template::list::tests::duplicate_template_name_is_detectable ... ok
[INFO] [stdout] test template::list::tests::empty_workspace_has_no_templates ... ok
[INFO] [stdout] test template::instantiate::tests::untraced_variant_skips_from_template ... ok
[INFO] [stdout] test template::list::tests::find_by_name_resolves_page_id ... ok
[INFO] [stdout] test template::list::tests::ignores_pages_without_template_property ... ok
[INFO] [stdout] test template::list::tests::finds_page_with_template_property ... ok
[INFO] [stdout] test sync::tests::snapshot_returns_empty_when_no_ops_dir ... ok
[INFO] [stdout] test template::list::tests::parses_params_property ... ok
[INFO] [stdout] test template::run::tests::result_node_id_is_deterministic_per_anchor ... ok
[INFO] [stdout] test template::vars::tests::leaves_unknown_tokens_verbatim ... ok
[INFO] [stdout] test template::run::tests::parse_call_invocation_extracts_name_and_params ... ok
[INFO] [stdout] test template::run::tests::run_callable_block_resolves_template_language_not_call_prefix ... ok
[INFO] [stdout] test template::vars::tests::no_tokens_returns_unchanged ... ok
[INFO] [stdout] test template::run::tests::result_subtree_is_idempotent_and_convergent ... ok
[INFO] [stdout] test template::vars::tests::substitutes_date ... ok
[INFO] [stdout] test template::vars::tests::substitutes_page_slug ... ok
[INFO] [stdout] test template::vars::tests::substitutes_relative_dates_from_ctx_now ... ok
[INFO] [stdout] test template::vars::tests::substitutes_multiple_tokens_in_one_line ... ok
[INFO] [stdout] test template::vars::tests::substitutes_time ... ok
[INFO] [stdout] test template::vars::tests::substitutes_today_from_ctx_now ... ok
[INFO] [stdout] test text::tests::caret_past_end_saturates ... ok
[INFO] [stdout] test text::tests::respects_utf8_char_boundaries ... ok
[INFO] [stdout] test text::tests::splits_in_the_middle ... ok
[INFO] [stdout] test timeline::tests::a_block_timeline_follows_the_block_across_pages ... ok
[INFO] [stdout] test timeline::tests::a_fresh_page_reports_only_its_own_creation ... ok
[INFO] [stdout] test sync::tests::snapshot_lists_ops_files_and_skips_others ... ok
[INFO] [stdout] test timeline::tests::a_property_change_reports_the_key_and_both_values ... ok
[INFO] [stdout] test timeline::tests::a_block_timeline_is_never_cut_by_the_callee ... ok
[INFO] [stdout] test timeline::tests::a_change_after_a_no_op_edit_still_knows_what_it_replaced ... ok
[INFO] [stdout] test timeline::tests::a_reconcile_reemitting_create_and_move_adds_no_events ... ok
[INFO] [stdout] test timeline::tests::an_unknown_block_has_an_empty_timeline ... ok
[INFO] [stdout] test timeline::tests::an_edit_that_changed_nothing_is_not_an_event ... ok
[INFO] [stdout] test timeline::tests::clearing_a_property_reports_the_value_it_removed ... ok
[INFO] [stdout] test timeline::tests::changing_a_property_reports_the_value_it_replaced ... ok
[INFO] [stdout] test timeline::tests::deletions::a_block_deleted_from_another_page_is_not_in_this_ones_history ... ok
[INFO] [stdout] test timeline::tests::clearing_a_property_is_an_event_with_no_new_value ... ok
[INFO] [stdout] test timeline::tests::deletions::a_child_deleted_before_its_parent_stays_in_the_history ... ok
[INFO] [stdout] test timeline::tests::deletions::a_deleted_block_stays_in_the_page_history ... ok
[INFO] [stdout] test timeline::tests::deletions::a_deletion_is_attributed_even_when_old_parent_is_wrong ... ok
[INFO] [stdout] test timeline::tests::deletions::a_stale_create_does_not_let_the_old_page_claim_the_deletion ... ok
[INFO] [stdout] test timeline::tests::deletions::a_deletion_is_attributed_to_the_page_the_block_left_last ... ok
[INFO] [stdout] test timeline::tests::deletions::coming_back_out_of_the_trash_is_its_own_event ... ok
[INFO] [stdout] test timeline::tests::deletions::deleting_a_parent_keeps_its_children_in_the_history ... ok
[INFO] [stdout] test timeline::tests::deletions::every_block_inside_a_deleted_subtree_is_flagged_deleted ... ok
[INFO] [stdout] test reminders::fired::tests::entries_past_the_ttl_are_pruned_on_save ... ok
[INFO] [stdout] test timeline::tests::deletions::the_text_a_deletion_took_is_in_the_event ... ok
[INFO] [stdout] test reminders::fired::tests::fired_log_round_trips ... ok
[INFO] [stdout] test timeline::tests::every_edit_is_an_event_carrying_both_sides ... ok
[INFO] [stdout] test timeline::tests::edit_events_agree_with_the_core_revision_list ... ok
[INFO] [stdout] test timeline::tests::events_come_back_newest_first ... ok
[INFO] [stdout] test timeline::tests::folding_a_block_is_not_an_event ... ok
[INFO] [stdout] test timeline::tests::page_model_bookkeeping_is_not_an_event ... ok
[INFO] [stdout] test timeline::tests::rewriting_a_property_with_the_same_value_is_not_an_event ... ok
[INFO] [stdout] test timeline::tests::the_limit_caps_the_listing_and_never_the_count ... ok
[INFO] [stdout] test todo::tests::a_markdown_link_is_not_a_checkbox ... ok
[INFO] [stdout] test todo::tests::a_marker_word_without_its_space_is_prose ... ok
[INFO] [stdout] test todo::tests::an_unchecked_box_with_no_space_is_prose ... ok
[INFO] [stdout] test todo::tests::cycle_normalises_legacy_todo_after_quote_authoring ... ok
[INFO] [stdout] test todo::tests::cycle_walks_through_four_states ... ok
[INFO] [stdout] test todo::tests::cycle_preserves_quote_marker_in_canonical_order ... ok
[INFO] [stdout] test todo::tests::cycling_a_checkbox_rewrites_it_to_the_canonical_word ... ok
[INFO] [stdout] test todo::tests::set_todo_clears_a_marker_and_keeps_the_quote ... ok
[INFO] [stdout] test todo::tests::set_todo_is_idempotent ... ok
[INFO] [stdout] test todo::tests::set_todo_reaches_doing_from_every_starting_state ... ok
[INFO] [stdout] test todo::tests::set_todo_reaches_done_from_every_starting_state ... ok
[INFO] [stdout] test todo::tests::split_recognises_every_marker ... ok
[INFO] [stdout] test history::tests::consecutive_undos_walk_back_multiple_mutations ... ok
[INFO] [stdout] test todo::tests::the_commonmark_checkbox_form_is_read_as_a_task ... ok
[INFO] [stdout] test trash::tests::a_block_the_log_cannot_place_is_not_reported_as_untrashed ... ok
[INFO] [stdout] test trash::tests::a_listing_carries_the_same_refusal_restore_would_return ... ok
[INFO] [stdout] test trash::tests::a_move_refused_into_a_descendant_stays_refused_after_the_descendant_leaves ... ok
[INFO] [stdout] test trash::tests::a_move_the_tree_refused_as_a_cycle_never_becomes_the_origin ... ok
[INFO] [stdout] test trash::tests::a_restored_block_lands_as_the_last_child ... ok
[INFO] [stdout] test trash::tests::list_leaves_out_a_block_that_was_already_restored ... ok
[INFO] [stdout] test trash::tests::list_marks_a_deleted_page_with_its_slug ... ok
[INFO] [stdout] test trash::tests::list_reports_each_top_level_deletion_with_its_subtree_size ... ok
[INFO] [stdout] test trash::tests::restore_puts_the_block_back_under_the_parent_it_was_deleted_from ... ok
[INFO] [stdout] test trash::tests::parent_at_deletion_ignores_a_re_emitted_create ... ok
[INFO] [stdout] test trash::tests::restore_refuses_a_block_that_was_never_deleted ... ok
[INFO] [stdout] test trash::tests::restore_refuses_a_page_root_and_names_the_slug ... ok
[INFO] [stdout] test tree::children::tests::siblings_sharing_a_position_are_ordered_by_node_id ... ok
[INFO] [stdout] test trash::tests::restore_refuses_when_the_parent_is_itself_trashed_and_names_it ... ok
[INFO] [stdout] test tree::position::tests::create_before_never_moves_a_sibling_it_cannot_clear ... ok
[INFO] [stdout] test tree::position::tests::create_before_never_moves_a_sibling_over_a_single_a_suffix ... ok
[INFO] [stdout] test tree::position::tests::create_before_on_a_tied_sibling_lands_above_the_anchor ... ok
[INFO] [stdout] test tree::position::tests::position_before_a_tied_sibling_does_not_panic ... ok
[INFO] [stdout] test tree::props::tests::the_page_model_owns_four_keys_and_no_others ... ok
[INFO] [stdout] test tree::props::tests::a_frontmatter_edit_is_not_a_page_history_event ... ok
[INFO] [stdout] test sync::tests::reload_workspace_refreshes_snapshot_after_guard_rejection_even_below_threshold ... ok
[INFO] [stdout] test sync::tests::a_reload_lifts_the_clock_above_a_peer_op_stamped_ahead_of_our_wall_clock ... ok
[INFO] [stdout] test sync::tests::reproject_page_refuses_a_frozen_page_instead_of_deleting_it ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- refusal::tests::the_clients_doc_matches_the_refusal_matrix stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'refusal::tests::the_clients_doc_matches_the_refusal_matrix' (2349) panicked at src/refusal.rs:300:62:
[INFO] [stdout] cannot read /opt/rustwide/workdir/../../docs/clients.md: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5bcd9b4da631 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5bcd9b4f0eca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5bcd9b4decfc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5bcd9b4b1606 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5bcd9b4d0429 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5bcd9b316a30 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5bcd9b4d0752 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5bcd9b4b16b2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5bcd9b4a9fe9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5bcd9b4b246d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5bcd9b4f162c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5bcd9b221d6a - outl_actions[3714916c0e129aba]::refusal::tests::the_clients_doc_matches_the_refusal_matrix::{closure#0}
[INFO] [stdout]   12:     0x5bcd9b23268c - <outl_actions[3714916c0e129aba]::refusal::tests::the_clients_doc_matches_the_refusal_matrix::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5bcd9b309e7b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x5bcd9b317055 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5bcd9b310944 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5bcd9b31a0e2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x5bcd9b4d953f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7c3a0d1bfdfa - <unknown>
[INFO] [stdout]   19:     0x7c3a0d2533d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     refusal::tests::the_clients_doc_matches_the_refusal_matrix
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 568 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b", kill_on_drop: false }`
[INFO] [stdout] e0995e88599cb0a7766b88f285fe06f9a636b9d186b891fa12d8e76c13aafd2b
