[INFO] cloning repository https://github.com/aoprisan/hird
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aoprisan/hird" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoprisan%2Fhird", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoprisan%2Fhird'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e232026cef2c2a41cb14c4b4d44e4a2cf0d2a508
[INFO] testing aoprisan/hird against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faoprisan%2Fhird" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aoprisan/hird
[INFO] finished tweaking git repo https://github.com/aoprisan/hird
[INFO] tweaked toml for git repo https://github.com/aoprisan/hird written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aoprisan/hird on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aoprisan/hird 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ulid v3.0.0
[INFO] [stderr]   Downloaded rusqlite v0.39.0
[INFO] [stderr]   Downloaded hashlink v0.11.1
[INFO] [stderr]   Downloaded sse-stream v0.2.6
[INFO] [stderr]   Downloaded rmcp-macros v3.0.0-beta.4
[INFO] [stderr]   Downloaded lru v0.18.1
[INFO] [stderr]   Downloaded ratatui v0.30.2
[INFO] [stderr]   Downloaded ratatui-termwiz v0.1.2
[INFO] [stderr]   Downloaded base64 v0.23.0
[INFO] [stderr]   Downloaded compact_str v0.9.1
[INFO] [stderr]   Downloaded ratatui-core v0.1.2
[INFO] [stderr]   Downloaded pest_derive v2.8.8
[INFO] [stderr]   Downloaded pest_generator v2.8.8
[INFO] [stderr]   Downloaded pest_meta v2.8.8
[INFO] [stderr]   Downloaded ratatui-widgets v0.3.2
[INFO] [stderr]   Downloaded pest v2.8.8
[INFO] [stderr]   Downloaded ratatui-termina v0.1.0
[INFO] [stderr]   Downloaded ratatui-crossterm v0.1.2
[INFO] [stderr]   Downloaded ratatui-macros v0.7.2
[INFO] [stderr]   Downloaded rmcp v3.0.0-beta.4
[INFO] [stderr]   Downloaded termina v0.3.3
[INFO] [stderr]   Downloaded libsqlite3-sys v0.37.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2
[INFO] running `Command { std: "docker" "start" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", 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" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", 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" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling futures-channel v0.3.33
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling rmcp v3.0.0-beta.4
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling time v0.3.54
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling futures-util v0.3.33
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rmcp-macros v3.0.0-beta.4
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling hashlink v0.11.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling futures-executor v0.3.33
[INFO] [stderr]    Compiling futures v0.3.33
[INFO] [stderr]    Compiling base64 v0.23.0
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling ulid v3.0.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling hird v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] running `Command { std: "docker" "inspect" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", 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" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling hird v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", 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" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hird-9ad4c4744a097494)
[INFO] [stdout] 
[INFO] [stdout] running 539 tests
[INFO] [stdout] test capability::tests::labels_are_normalized_sorted_and_deduplicated ... ok
[INFO] [stdout] test cli::tests::counted_nouns_agree_with_their_number ... ok
[INFO] [stdout] test capability::tests::missing_reports_only_unsatisfied_requirements ... ok
[INFO] [stdout] test cli::tests::clearing_a_scope_conflicts_with_setting_one ... ok
[INFO] [stdout] test cli::tests::a_plan_is_applied_from_a_file_and_dry_run_is_opt_in ... ok
[INFO] [stdout] test cli::tests::add_body_flags_are_mutually_exclusive ... ok
[INFO] [stdout] test cli::tests::installer_options_and_normal_commands_are_detectably_distinct ... ok
[INFO] [stdout] test cli::tests::dependencies_can_be_given_as_a_list_or_repeated ... ok
[INFO] [stdout] test capability::tests::labels_are_shell_safe_tokens ... ok
[INFO] [stdout] test cli::tests::ls_rows_show_the_holder_and_lease_countdown ... ok
[INFO] [stdout] test cli::tests::ls_rows_mark_the_tasks_that_cannot_start_yet ... ok
[INFO] [stdout] test cli::tests::ls_rows_show_priority_and_project_only_when_relevant ... ok
[INFO] [stdout] test cli::tests::list_is_an_alias_for_ls ... ok
[INFO] [stdout] test cli::tests::ls_rows_line_up_and_omit_empty_columns ... ok
[INFO] [stdout] test cli::tests::mem_search_defaults_to_an_empty_query ... ok
[INFO] [stdout] test cli::tests::negative_priorities_parse ... ok
[INFO] [stdout] test cli::tests::overlaps_are_reported_both_ways_or_not_at_all ... ok
[INFO] [stdout] test cli::tests::paths_are_repeatable_and_kept_verbatim_for_normalization ... ok
[INFO] [stdout] test cli::tests::printing_a_registration_cannot_also_force_one ... ok
[INFO] [stdout] test cli::tests::every_harness_is_registrable_by_name ... ok
[INFO] [stdout] test cli::tests::the_install_typo_is_not_an_option ... ok
[INFO] [stdout] test config::tests::a_configured_dispatch_hook_builds_a_herald ... ok
[INFO] [stdout] test config::tests::a_configured_question_hook_builds_its_own_herald ... ok
[INFO] [stdout] test cli::tests::the_command_tree_parses ... ok
[INFO] [stdout] test config::tests::a_missing_file_yields_defaults ... ok
[INFO] [stdout] test config::tests::defaults_match_the_design ... ok
[INFO] [stdout] test config::tests::a_zero_ttl_is_clamped_to_a_minute ... ok
[INFO] [stdout] test config::tests::collision_avoidance_is_overridable_per_call ... ok
[INFO] [stdout] test config::tests::partial_files_keep_the_remaining_defaults ... ok
[INFO] [stdout] test config::tests::recall_can_be_turned_off_and_cannot_be_turned_up_absurdly ... ok
[INFO] [stdout] test config::tests::the_all_projects_default_is_overridable_per_call ... ok
[INFO] [stdout] test config::tests::an_explicit_db_flag_wins ... ok
[INFO] [stdout] test config::tests::the_example_config_parses_and_matches_the_defaults ... ok
[INFO] [stdout] test config::tests::the_conflict_policy_is_named_in_the_file_the_way_it_reads ... ok
[INFO] [stdout] test config::tests::witnessing_can_be_turned_off_without_touching_git ... ok
[INFO] [stdout] test cli::tests::installer_options_parse_without_a_subcommand_and_may_be_combined ... ok
[INFO] [stdout] test config::tests::unknown_keys_are_reported_rather_than_ignored ... ok
[INFO] [stdout] test digest::tests::a_question_waits_until_answered_and_an_expiry_names_the_holder ... ok
[INFO] [stdout] test digest::tests::a_finished_task_is_finished_and_a_sent_back_one_is_not ... ok
[INFO] [stdout] test digest::tests::nothing_folds_to_nothing ... ok
[INFO] [stdout] test error::tests::claim_conflict_reads_like_the_design_example ... ok
[INFO] [stdout] test error::tests::claim_conflict_without_a_holder_explains_the_status ... ok
[INFO] [stdout] test error::tests::not_holder_names_both_parties ... ok
[INFO] [stdout] test db::tests::opening_applies_every_migration ... ok
[INFO] [stdout] test config::tests::memory_footing_is_a_second_switch_over_the_same_access ... ok
[INFO] [stdout] test exhibit::tests::clipping_names_itself_and_points_home ... ok
[INFO] [stdout] test db::tests::fts5_is_available_in_the_bundled_sqlite ... ok
[INFO] [stdout] test fmt::tests::ages_use_the_largest_sensible_unit ... ok
[INFO] [stdout] test fmt::tests::an_unparseable_timestamp_renders_as_a_question_mark ... ok
[INFO] [stdout] test exhibit::tests::binary_content_is_declared_not_dumped ... ok
[INFO] [stdout] test fmt::tests::truncation_adds_an_ellipsis_only_when_it_cuts ... ok
[INFO] [stdout] test exhibit::tests::a_unified_diff_reads_like_gits_own ... ok
[INFO] [stdout] test fmt::tests::truncation_flattens_newlines_and_trims ... ok
[INFO] [stdout] test exhibit::tests::an_addition_diffs_from_nothing ... ok
[INFO] [stdout] test fmt::tests::age_phrases_never_read_as_just_now_ago ... ok
[INFO] [stdout] test fmt::tests::leases_count_down_and_then_read_overdue ... ok
[INFO] [stdout] test fmt::tests::truncation_counts_characters_not_bytes ... ok
[INFO] [stdout] test db::tests::a_database_from_a_newer_hird_is_refused_by_name ... ok
[INFO] [stdout] test db::tests::wal_and_foreign_keys_are_on_for_file_databases ... ok
[INFO] [stdout] test db::tests::reopening_an_existing_file_is_a_no_op ... ok
[INFO] [stdout] test glob::tests::a_directory_pattern_covers_its_contents_but_not_its_sibling ... ok
[INFO] [stdout] test glob::tests::a_literal_names_one_path_and_a_glob_names_a_set ... ok
[INFO] [stdout] test glob::tests::a_trailing_slash_means_everything_underneath ... ok
[INFO] [stdout] test glob::tests::disjoint_patterns_are_not ... ok
[INFO] [stdout] test glob::tests::globstars_match_zero_or_more_segments ... ok
[INFO] [stdout] test glob::tests::intersection_is_symmetric_and_reflexive ... ok
[INFO] [stdout] test glob::tests::literal_paths_match_themselves ... ok
[INFO] [stdout] test glob::tests::matching_a_common_path_implies_intersection ... ok
[INFO] [stdout] test glob::tests::normalization_strips_the_noise_a_human_types ... ok
[INFO] [stdout] test glob::tests::overlapping_patterns_are_detected ... ok
[INFO] [stdout] test footing::tests::named_paths_win_over_the_task_and_globs_are_dropped ... ok
[INFO] [stdout] test glob::tests::patterns_that_name_nothing_inside_the_project_are_rejected ... ok
[INFO] [stdout] test glob::tests::question_marks_match_exactly_one_character ... ok
[INFO] [stdout] test glob::tests::repeated_globstars_collapse ... ok
[INFO] [stdout] test glob::tests::stars_stay_inside_one_segment ... ok
[INFO] [stdout] test glob::tests::the_whole_project_is_recognisable ... ok
[INFO] [stdout] test glob::tests::unusable_patterns_never_intersect_or_match ... ok
[INFO] [stdout] test glob::tests::pathological_stars_terminate_with_the_right_answer ... ok
[INFO] [stdout] test footing::tests::without_a_witness_nothing_is_anchored_and_nothing_is_claimed ... ok
[INFO] [stdout] test footing::tests::a_fact_from_another_project_is_never_measured_against_this_tree ... ok
[INFO] [stdout] test footing::tests::a_fact_anchored_to_a_file_goes_shaky_when_the_file_moves ... ok
[INFO] [stdout] test graph::tests::a_live_snapshot_carries_waves_edges_and_plan_names ... ok
[INFO] [stdout] test graph::tests::a_replay_before_anything_was_filed_is_empty ... ok
[INFO] [stdout] test hash::tests::a_single_flipped_bit_changes_the_digest ... ok
[INFO] [stdout] test hash::tests::block_boundaries_are_padded_correctly ... ok
[INFO] [stdout] test graph::tests::a_finished_dependency_no_longer_counts_as_waiting_but_still_feeds ... ok
[INFO] [stdout] test herald::tests::a_broken_hook_is_swallowed ... ok
[INFO] [stdout] test herald::tests::an_empty_command_builds_no_herald ... ok
[INFO] [stdout] test herald::tests::an_empty_command_builds_no_question_herald ... ok
[INFO] [stdout] test footing::tests::settling_leaves_a_footing_the_author_named_alone ... ok
[INFO] [stdout] test footing::tests::restating_a_shaky_fact_re_anchors_it_and_records_the_second_voice ... ok
[INFO] [stdout] test herald::tests::the_hook_is_told_whom_the_task_is_not_for ... ok
[INFO] [stdout] test footing::tests::a_task_that_keeps_working_after_recording_a_fact_still_leaves_it_firm ... ok
[INFO] [stdout] test identity::tests::a_client_cannot_make_its_name_an_essay ... ok
[INFO] [stdout] test identity::tests::a_client_may_name_the_harness_but_never_the_person ... ok
[INFO] [stdout] test identity::tests::a_client_name_cannot_forge_a_second_field_either ... ok
[INFO] [stdout] test identity::tests::a_client_that_names_itself_nothing_leaves_the_identity_open ... ok
[INFO] [stdout] test identity::tests::a_long_principal_is_cut_to_a_column_width ... ok
[INFO] [stdout] test identity::tests::a_missing_harness_name_becomes_unknown ... ok
[INFO] [stdout] test identity::tests::a_nameless_identity_takes_the_name_the_client_gives_for_itself ... ok
[INFO] [stdout] test identity::tests::actor_harness_looks_past_the_principal ... ok
[INFO] [stdout] test identity::tests::actor_harness_splits_agents_and_passes_humans_through ... ok
[INFO] [stdout] test identity::tests::actor_principal_names_who_acted_or_nobody ... ok
[INFO] [stdout] test identity::tests::agent_ids_render_as_harness_colon_session ... ok
[INFO] [stdout] test identity::tests::an_empty_principal_leaves_the_identity_unattributed ... ok
[INFO] [stdout] test herald::tests::the_hook_receives_the_announcement_in_its_environment ... ok
[INFO] [stdout] test identity::tests::an_identity_without_a_principal_is_the_actor_it_always_was ... ok
[INFO] [stdout] test identity::tests::colons_and_whitespace_cannot_forge_a_second_field ... ok
[INFO] [stdout] test identity::tests::commas_cannot_forge_an_entry_in_the_recused_list ... ok
[INFO] [stdout] test graph::tests::a_replayed_snapshot_folds_the_trail_and_says_it_is_not_live ... ok
[INFO] [stdout] test graph::tests::narrowing_to_a_plan_keeps_its_tasks_and_the_edges_between_them ... ok
[INFO] [stdout] test identity::tests::default_paths_sit_under_the_hird_directory ... ok
[INFO] [stdout] test identity::tests::no_component_can_forge_a_second_separator ... ok
[INFO] [stdout] test identity::tests::project_detection_falls_back_to_the_directory_itself ... ok
[INFO] [stdout] test identity::tests::project_detection_finds_the_enclosing_git_root ... ok
[INFO] [stdout] test identity::tests::the_first_client_name_is_the_one_that_sticks ... ok
[INFO] [stdout] test identity::tests::session_ids_are_four_characters_and_differ ... ok
[INFO] [stdout] test identity::tests::worktree_git_files_count_as_a_root ... ok
[INFO] [stdout] test identity::tests::the_environment_outranks_whatever_the_client_calls_itself ... ok
[INFO] [stdout] test install::tests::binary_install_refuses_to_overwrite_a_directory ... ok
[INFO] [stdout] test herald::tests::the_hook_is_told_what_the_worker_must_have ... ok
[INFO] [stdout] test install::tests::skill_targets_cover_every_harness_that_reads_a_skill_directory ... ok
[INFO] [stdout] test install::tests::binary_install_copies_and_refreshes_a_standalone_snapshot ... ok
[INFO] [stdout] test identity::tests::an_identity_with_a_principal_carries_it_in_the_actor ... ok
[INFO] [stdout] test install::tests::binary_install_is_a_no_op_when_run_from_the_installed_copy ... ok
[INFO] [stdout] test graph::tests::the_snapshot_serializes_with_snake_case_statuses ... ok
[INFO] [stdout] test herald::tests::the_question_hook_receives_the_question_in_its_environment ... ok
[INFO] [stdout] test install::tests::skill_install_is_idempotent_and_refreshes_old_content ... ok
[INFO] [stdout] test mcp::tests::a_claim_with_nothing_to_recall_says_nothing ... ok
[INFO] [stdout] test mcp::tests::a_blocked_task_cannot_be_claimed_and_the_error_says_what_to_wait_for ... ok
[INFO] [stdout] test mcp::tests::a_claim_arrives_with_what_earlier_work_in_those_files_learned ... ok
[INFO] [stdout] test mcp::tests::a_losing_claim_names_the_holder_and_the_deadline ... ok
[INFO] [stdout] test mcp::tests::a_claim_arrives_knowing_what_it_builds_on ... ok
[INFO] [stdout] test mcp::tests::a_question_parks_work_until_its_answer_is_handed_to_the_next_claim ... ok
[INFO] [stdout] test mcp::tests::a_recess_answers_task_next_with_standing_by_not_idle ... ok
[INFO] [stdout] test mcp::tests::a_review_must_end_in_a_verdict_and_sent_back_reopens_the_work ... ok
[INFO] [stdout] test mcp::tests::a_sequential_split_queues_the_pieces_behind_each_other ... ok
[INFO] [stdout] test mcp::tests::a_verdict_on_ordinary_work_is_refused ... ok
[INFO] [stdout] test mcp::tests::an_expiry_noticed_by_task_next_is_announced ... ok
[INFO] [stdout] test mcp::tests::a_task_both_blocked_and_parked_is_reported_as_both ... ok
[INFO] [stdout] test mcp::tests::capability_matching_is_visible_on_named_and_next_claims ... ok
[INFO] [stdout] test mcp::tests::every_tool_has_a_description_and_an_input_schema ... ok
[INFO] [stdout] test mcp::tests::exactly_the_designed_tools_are_exposed ... ok
[INFO] [stdout] test mcp::tests::completing_and_failing_report_the_final_state ... ok
[INFO] [stdout] test mcp::tests::claiming_returns_the_body_and_the_heartbeat_reminder ... ok
[INFO] [stdout] test mcp::tests::an_upheld_verdict_marks_the_work_on_the_board ... ok
[INFO] [stdout] test mcp::tests::holds_keeps_dependents_off_the_board_until_the_verdict ... ok
[INFO] [stdout] test mcp::tests::claiming_with_paths_records_them_and_warns_about_overlaps ... ok
[INFO] [stdout] test mcp::tests::mem_search_clamps_absurd_limits ... ok
[INFO] [stdout] test mcp::tests::mem_search_finds_what_mem_store_wrote ... ok
[INFO] [stdout] test mcp::tests::mem_store_records_provenance_and_the_task_link ... ok
[INFO] [stdout] test mcp::tests::mem_store_rejects_a_link_to_a_task_that_does_not_exist ... ok
[INFO] [stdout] test mcp::tests::next_claims_the_best_available_task_and_reads_like_a_claim ... ok
[INFO] [stdout] test mcp::tests::next_explains_an_empty_queue_rather_than_going_quiet ... ok
[INFO] [stdout] test hash::tests::known_answers ... ok
[INFO] [stdout] test mcp::tests::next_names_the_dependencies_that_left_it_empty_handed ... ok
[INFO] [stdout] test mcp::tests::only_the_holder_can_update_or_finish ... ok
[INFO] [stdout] test mcp::tests::server_info_advertises_tools_and_carries_the_instructions ... ok
[INFO] [stdout] test mcp::tests::recall_can_be_switched_off_in_the_configuration ... ok
[INFO] [stdout] test mcp::tests::provisional_ground_is_flagged_on_the_claim_and_shifts_at_the_check_in ... ok
[INFO] [stdout] test mcp::tests::releasing_puts_a_task_back_without_marking_it_failed ... ok
[INFO] [stdout] test mcp::tests::self_dispatch_carries_the_same_recall_as_a_named_claim ... ok
[INFO] [stdout] test mcp::tests::splitting_is_holder_only_and_needs_at_least_one_piece ... ok
[INFO] [stdout] test mcp::tests::splitting_files_the_pieces_and_hands_the_parent_back ... ok
[INFO] [stdout] test mcp::tests::next_reports_the_files_that_made_it_hold_back ... ok
[INFO] [stdout] test mcp::tests::scope_is_holder_only_and_answers_with_advice ... ok
[INFO] [stdout] test mcp::tests::task_get_on_a_missing_task_is_a_plain_sentence ... ok
[INFO] [stdout] test mcp::tests::task_get_returns_the_body_and_history ... ok
[INFO] [stdout] test mcp::tests::task_list_rejects_an_unknown_status_with_the_valid_set ... ok
[INFO] [stdout] test mcp::tests::task_list_marks_the_tasks_nobody_can_start_yet ... ok
[INFO] [stdout] test mcp::tests::task_list_can_widen_to_every_project ... ok
[INFO] [stdout] test model::tests::a_shaky_standing_names_the_file_and_stops_short_of_a_verdict ... ok
[INFO] [stdout] test mcp::tests::task_get_shows_dependencies_scope_and_overlaps ... ok
[INFO] [stdout] test model::tests::a_shared_file_stops_a_count_from_speaking_for_one_agent ... ok
[INFO] [stdout] test mcp::tests::task_get_shows_the_same_recall_without_claiming_anything ... ok
[INFO] [stdout] test model::tests::corroboration_is_only_worth_a_sentence_when_it_crosses_agents ... ok
[INFO] [stdout] test model::tests::read_only_is_a_verdict_when_finished_and_a_running_total_while_held ... ok
[INFO] [stdout] test model::tests::standings_report_every_path_they_were_decided_from ... ok
[INFO] [stdout] test model::tests::status_machine_has_no_edges_outside_the_diagram ... ok
[INFO] [stdout] test model::tests::every_status_is_reachable_from_open ... ok
[INFO] [stdout] test model::tests::tags_are_normalized_to_a_compact_comma_list ... ok
[INFO] [stdout] test mcp::tests::task_list_reports_scope_and_rows ... ok
[INFO] [stdout] test model::tests::status_round_trips_through_its_string_form ... ok
[INFO] [stdout] test mcp::tests::the_instructions_state_the_queue_rules ... ok
[INFO] [stdout] test model::tests::terminal_statuses_only_leave_via_reopen ... ok
[INFO] [stdout] test plan::tests::a_dependency_on_nothing_close_lists_what_exists ... ok
[INFO] [stdout] test plan::tests::a_dependency_on_nothing_names_the_closest_task ... ok
[INFO] [stdout] test mcp::tests::update_starts_work_and_renews_the_lease ... ok
[INFO] [stdout] test plan::tests::a_chain_is_one_task_per_wave ... ok
[INFO] [stdout] test plan::tests::a_plan_reads_back_the_way_it_was_written ... ok
[INFO] [stdout] test plan::tests::a_plan_round_trips_through_toml ... ok
[INFO] [stdout] test model::tests::an_unwatched_task_makes_no_claim_either_way ... ok
[INFO] [stdout] test mcp::tests::task_list_reports_leases_it_released ... ok
[INFO] [stdout] test mcp::tests::update_refuses_to_be_used_as_a_finishing_move ... ok
[INFO] [stdout] test plan::tests::a_task_cannot_wait_for_itself ... ok
[INFO] [stdout] test plan::tests::an_unknown_field_is_refused_rather_than_ignored ... ok
[INFO] [stdout] test plan::tests::an_unusable_glob_is_refused_before_anything_is_filed ... ok
[INFO] [stdout] test plan::tests::a_ring_of_dependencies_is_printed_as_the_ring ... ok
[INFO] [stdout] test plan::tests::disjoint_patterns_do_not_collide ... ok
[INFO] [stdout] test plan::tests::a_task_sits_behind_the_longest_chain_it_waits_on ... ok
[INFO] [stdout] test plan::tests::an_empty_plan_says_what_is_missing ... ok
[INFO] [stdout] test plan::tests::tasks_declaring_nothing_are_listed ... ok
[INFO] [stdout] test plan::tests::overlapping_tasks_that_are_ordered_are_not_reported ... ok
[INFO] [stdout] test plan::tests::duplicate_names_are_refused ... ok
[INFO] [stdout] test plan::tests::the_preview_lays_the_plan_out_in_waves ... ok
[INFO] [stdout] test register::tests::a_scratch_database_rides_along_in_the_environment ... ok
[INFO] [stdout] test register::tests::a_toml_block_is_appended_and_the_comments_around_it_survive ... ok
[INFO] [stdout] test register::tests::a_missing_file_is_created_with_only_our_entry ... ok
[INFO] [stdout] test register::tests::another_server_in_the_file_survives_registration ... ok
[INFO] [stdout] test register::tests::capabilities_are_normalized_into_the_registration_environment ... ok
[INFO] [stdout] test register::tests::each_json_harness_gets_its_own_dialect ... ok
[INFO] [stdout] test register::tests::broken_toml_is_left_exactly_as_it_was ... ok
[INFO] [stdout] test register::tests::every_harness_names_itself_for_the_board ... ok
[INFO] [stdout] test register::tests::a_hand_tuned_entry_is_refused_until_force ... ok
[INFO] [stdout] test register::tests::the_printed_form_is_what_would_be_written ... ok
[INFO] [stdout] test register::tests::the_registration_names_an_absolute_command ... ok
[INFO] [stdout] test register::tests::registering_twice_changes_nothing_and_is_not_an_error ... ok
[INFO] [stdout] test register::tests::json_that_cannot_be_parsed_is_never_overwritten ... ok
[INFO] [stdout] test register::tests::forcing_a_toml_entry_replaces_only_that_block ... ok
[INFO] [stdout] test register::tests::the_toml_block_keeps_env_inline ... ok
[INFO] [stdout] test repo::deps::tests::a_chain_becomes_one_task_per_wave ... ok
[INFO] [stdout] test model::tests::timestamps_sort_lexicographically ... ok
[INFO] [stdout] test plan::tests::overlapping_unordered_tasks_are_reported ... ok
[INFO] [stdout] test register::tests::the_gemini_registration_stays_inside_the_checkout ... ok
[INFO] [stdout] test repo::deps::tests::a_diamond_puts_the_join_after_its_deepest_branch ... ok
[INFO] [stdout] test repo::deps::tests::a_diamond_is_not_a_cycle ... ok
[INFO] [stdout] test repo::deps::tests::a_finish_releases_exactly_the_dependents_left_waiting_for_nothing ... ok
[INFO] [stdout] test repo::deps::tests::a_recess_makes_nothing_claimable_until_it_is_lifted ... ok
[INFO] [stdout] test repo::deps::tests::adding_a_dependency_records_an_event_on_the_waiting_task ... ok
[INFO] [stdout] test repo::bookmark::tests::a_bookmark_is_absent_until_set_and_then_replaces_itself ... ok
[INFO] [stdout] test repo::deps::tests::a_cycle_is_refused_and_the_chain_is_named ... ok
[INFO] [stdout] test repo::deps::tests::a_dependency_is_recorded_once_and_shows_on_both_sides ... ok
[INFO] [stdout] test repo::deps::tests::finished_tasks_leave_the_graph_and_their_dependents_move_up ... ok
[INFO] [stdout] test repo::deps::tests::a_long_chain_still_detects_the_closing_edge ... ok
[INFO] [stdout] test repo::deps::tests::claimable_answers_for_exactly_the_tasks_waiting_for_hands ... ok
[INFO] [stdout] test repo::deps::tests::dependencies_on_missing_tasks_are_reported_as_such ... ok
[INFO] [stdout] test repo::deps::tests::independent_tasks_all_land_in_the_first_wave ... ok
[INFO] [stdout] test repo::deps::tests::a_dependent_already_claimed_is_not_released ... ok
[INFO] [stdout] test repo::deps::tests::edges_are_listed_for_the_graph_view ... ok
[INFO] [stdout] test repo::deps::tests::a_released_task_is_announced_with_whoever_it_is_recused_from ... ok
[INFO] [stdout] test repo::deps::tests::ground_reopened_by_a_human_is_shifted_without_blaming_a_review ... ok
[INFO] [stdout] test repo::deps::tests::self_dependencies_are_refused ... ok
[INFO] [stdout] test repo::deps::tests::shifted_ground_names_the_review_that_sent_the_work_back ... ok
[INFO] [stdout] test repo::deps::tests::the_unmet_map_covers_the_whole_board_in_one_query ... ok
[INFO] [stdout] test repo::deps::tests::ground_under_an_unfinished_review_says_it_is_provisional ... ok
[INFO] [stdout] test repo::deps::tests::finished_tasks_are_never_reported_as_blocked ... ok
[INFO] [stdout] test repo::deps::tests::holds_keeps_a_dependent_waiting_until_the_verdict ... ok
[INFO] [stdout] test repo::deps::tests::removing_a_dependency_reports_whether_there_was_one ... ok
[INFO] [stdout] test repo::deps::tests::the_claim_ground_carries_each_finished_dependencys_own_result ... ok
[INFO] [stdout] test repo::deps::tests::only_done_dependencies_clear_a_blocker ... ok
[INFO] [stdout] test repo::deps::tests::under_holds_the_release_waits_for_the_verdict ... ok
[INFO] [stdout] test repo::events::tests::a_cursor_resumes_where_the_reader_left_off ... ok
[INFO] [stdout] test repo::footing::tests::a_file_that_has_moved_makes_the_assertion_shaky_not_false ... ok
[INFO] [stdout] test repo::events::tests::a_replay_knows_which_tasks_were_parked_on_a_question ... ok
[INFO] [stdout] test repo::footing::tests::a_file_that_still_says_what_it_said_leaves_the_assertion_firm ... ok
[INFO] [stdout] test repo::footing::tests::a_single_deletion_among_survivors_is_only_shaky ... ok
[INFO] [stdout] test repo::events::tests::tail_keeps_the_most_recent_events_when_it_clips ... ok
[INFO] [stdout] test repo::footing::tests::an_assertion_about_files_that_have_all_gone_is_orphaned ... ok
[INFO] [stdout] test repo::footing::tests::an_assertion_with_no_footing_has_nothing_to_check ... ok
[INFO] [stdout] test repo::events::tests::the_feed_scopes_to_the_project_unless_asked_for_everything ... ok
[INFO] [stdout] test repo::footing::tests::standing_ranks_a_verified_fact_above_a_suspect_one ... ok
[INFO] [stdout] test repo::events::tests::the_feed_filters_by_kind_task_and_actor ... ok
[INFO] [stdout] test repo::events::tests::the_feed_spans_tasks_oldest_first_with_climbing_cursors ... ok
[INFO] [stdout] test repo::events::tests::the_board_can_be_replayed_at_any_moment_in_the_trail ... ok
[INFO] [stdout] test repo::footing::tests::affirmations_count_voices_and_not_sentences ... ok
[INFO] [stdout] test repo::footing::tests::a_footing_round_trips_and_is_replaced_rather_than_accumulated ... ok
[INFO] [stdout] test repo::events::tests::the_trail_knows_which_harnesses_have_acted_here ... ok
[INFO] [stdout] test repo::footing::tests::footings_are_fetched_in_one_pass_for_a_whole_search ... ok
[INFO] [stdout] test repo::memory::tests::a_query_of_pure_punctuation_degrades_to_recent ... ok
[INFO] [stdout] test repo::footing::tests::what_a_task_learned_excludes_what_has_been_retracted ... ok
[INFO] [stdout] test repo::footing::tests::the_ground_under_a_task_is_its_literals_plus_what_moved ... ok
[INFO] [stdout] test repo::footing::tests::the_audit_lists_anchored_current_assertions_oldest_first ... ok
[INFO] [stdout] test repo::memory::tests::a_reworded_fact_is_a_new_fact ... ok
[INFO] [stdout] test repo::memory::tests::an_assertion_can_be_linked_to_a_task ... ok
[INFO] [stdout] test repo::memory::tests::an_empty_query_returns_the_most_recent_first ... ok
[INFO] [stdout] test repo::memory::tests::like_terms_split_on_fts_syntax ... ok
[INFO] [stdout] test repo::memory::tests::escaping_neutralizes_like_wildcards ... ok
[INFO] [stdout] test repo::memory::tests::empty_content_is_rejected ... ok
[INFO] [stdout] test repo::memory::tests::an_assertion_cannot_be_superseded_twice ... ok
[INFO] [stdout] test repo::memory::tests::linking_to_a_missing_task_is_an_error ... ok
[INFO] [stdout] test repo::memory::tests::counts_and_projects_reflect_current_assertions ... ok
[INFO] [stdout] test repo::memory::tests::restating_something_superseded_records_it_anew ... ok
[INFO] [stdout] test repo::memory::tests::fts_matches_content_and_tags ... ok
[INFO] [stdout] test repo::memory::tests::malformed_fts_queries_fall_back_to_like ... ok
[INFO] [stdout] test repo::memory::tests::superseding_a_missing_assertion_says_so ... ok
[INFO] [stdout] test repo::memory::tests::restating_a_fact_word_for_word_affirms_it_rather_than_duplicating_it ... ok
[INFO] [stdout] test repo::memory::tests::search_is_project_scoped_unless_told_otherwise ... ok
[INFO] [stdout] test repo::memory::tests::storing_normalizes_tags_and_trims_content ... ok
[INFO] [stdout] test repo::memory::tests::superseding_hides_the_original_and_records_a_replacement ... ok
[INFO] [stdout] test repo::memory::tests::superseding_without_a_reason_writes_a_retraction ... ok
[INFO] [stdout] test repo::memory::tests::the_fts_index_tracks_updates_to_the_base_table ... ok
[INFO] [stdout] test repo::memory::tests::the_like_fallback_requires_every_term_to_match ... ok
[INFO] [stdout] test repo::memory::tests::the_same_sentence_in_another_project_is_another_fact ... ok
[INFO] [stdout] test repo::memory::tests::the_limit_is_honoured ... ok
[INFO] [stdout] test repo::memory::tests::the_like_fallback_treats_underscores_literally ... ok
[INFO] [stdout] test repo::plan::tests::a_filed_task_remembers_the_plan_it_came_from ... ok
[INFO] [stdout] test repo::memory::tests::well_formed_queries_are_answered_by_the_index_not_the_fallback ... ok
[INFO] [stdout] test repo::plan::tests::a_plan_files_every_task_with_its_edges_and_scopes ... ok
[INFO] [stdout] test repo::plan::tests::a_task_filed_by_hand_has_no_plan_behind_it ... ok
[INFO] [stdout] test repo::plan::tests::a_plan_files_capability_requirements_with_the_task ... ok
[INFO] [stdout] test repo::plan::tests::a_plan_applied_to_two_projects_files_each_separately ... ok
[INFO] [stdout] test repo::plan::tests::a_task_the_plan_now_describes_differently_keeps_the_queues_version ... ok
[INFO] [stdout] test repo::plan::tests::applying_the_same_plan_again_files_nothing_new ... ok
[INFO] [stdout] test repo::plan::tests::an_edited_plan_files_only_what_is_new ... ok
[INFO] [stdout] test repo::plan::tests::filing_a_plan_over_live_work_reports_the_overlap ... ok
[INFO] [stdout] test repo::recall::tests::a_fact_learned_in_the_same_files_reaches_the_next_task ... ok
[INFO] [stdout] test repo::questions::tests::one_answer_wins_and_history_remains ... ok
[INFO] [stdout] test repo::recall::tests::a_fact_reaches_the_next_task_through_files_nobody_declared ... ok
[INFO] [stdout] test repo::recall::tests::a_punctuation_heavy_title_still_searches ... ok
[INFO] [stdout] test repo::plan::tests::nothing_is_written_when_an_edge_would_close_a_cycle ... ok
[INFO] [stdout] test repo::recall::tests::a_fact_that_reads_like_the_title_surfaces_without_any_file_scope ... ok
[INFO] [stdout] test repo::recall::tests::facts_from_files_this_task_cannot_touch_stay_away ... ok
[INFO] [stdout] test repo::plan::tests::re_applying_says_nothing_about_scopes_it_did_not_touch ... ok
[INFO] [stdout] test repo::plan::tests::tasks_a_plan_filed_are_ordinary_tasks ... ok
[INFO] [stdout] test repo::recall::tests::terms_are_quoted_into_an_any_of_query ... ok
[INFO] [stdout] test repo::recall::tests::titles_lose_their_furniture_words ... ok
[INFO] [stdout] test repo::recall::tests::recalling_a_task_that_does_not_exist_says_so ... ok
[INFO] [stdout] test repo::recall::tests::a_superseded_fact_is_never_recalled ... ok
[INFO] [stdout] test repo::recall::tests::a_task_with_nothing_around_it_recalls_nothing ... ok
[INFO] [stdout] test repo::recall::tests::one_assertion_is_recalled_once_however_many_reasons_it_has ... ok
[INFO] [stdout] test repo::recall::tests::a_task_with_no_declaration_recalls_through_where_it_has_been ... ok
[INFO] [stdout] test repo::recall::tests::the_limit_is_honoured_and_zero_turns_recall_off ... ok
[INFO] [stdout] test repo::recess::tests::the_refusal_sentence_carries_the_reason_when_there_is_one ... ok
[INFO] [stdout] test repo::recess::tests::calling_a_recess_stands_the_project_down ... ok
[INFO] [stdout] test repo::recall::tests::recall_crosses_time_but_not_projects ... ok
[INFO] [stdout] test repo::recess::tests::lifting_returns_what_stood_and_only_once ... ok
[INFO] [stdout] test repo::recall::tests::what_this_task_learned_before_comes_back_first ... ok
[INFO] [stdout] test repo::recess::tests::calling_again_is_idempotent_but_refreshes_the_reason ... ok
[INFO] [stdout] test repo::recusal::tests::a_filed_review_inherits_the_capabilities_needed_to_check_the_work ... ok
[INFO] [stdout] test repo::recusal::tests::a_task_cannot_be_recused_from_itself_or_from_nothing ... ok
[INFO] [stdout] test repo::recusal::tests::a_filed_review_is_announced_with_its_author_barred ... ok
[INFO] [stdout] test repo::recusal::tests::adding_the_same_recusal_twice_is_a_no_op ... ok
[INFO] [stdout] test repo::recusal::tests::a_recusal_on_work_nobody_has_done_bars_nobody ... ok
[INFO] [stdout] test repo::recusal::tests::a_second_completion_does_not_file_a_second_review ... ok
[INFO] [stdout] test repo::recusal::tests::recusals_are_written_into_the_task_history ... ok
[INFO] [stdout] test repo::recusal::tests::another_session_of_the_same_harness_is_barred_too ... ok
[INFO] [stdout] test repo::recusal::tests::finishing_reviewed_work_files_the_review_and_hands_it_on ... ok
[INFO] [stdout] test repo::recusal::tests::failed_work_files_no_review ... ok
[INFO] [stdout] test repo::recusal::tests::recusals_are_listed_with_who_they_bar_and_can_be_lifted ... ok
[INFO] [stdout] test repo::recusal::tests::the_worker_is_whoever_last_held_the_task ... ok
[INFO] [stdout] test repo::recusal::tests::the_review_brief_carries_the_diff_when_the_completion_brought_one ... ok
[INFO] [stdout] test repo::recusal::tests::the_agent_that_did_the_work_cannot_claim_the_review_of_it ... ok
[INFO] [stdout] test repo::recusal::tests::work_that_left_no_trace_files_no_review ... ok
[INFO] [stdout] test repo::requirements::tests::requirements_are_normalized_and_replaceable ... ok
[INFO] [stdout] test repo::scope::tests::clearing_removes_every_pattern_and_logs_it ... ok
[INFO] [stdout] test repo::scope::tests::declaring_the_same_pattern_twice_is_a_no_op ... ok
[INFO] [stdout] test repo::scope::tests::declarations_are_normalized_and_deduplicated ... ok
[INFO] [stdout] test repo::scope::tests::overlapping_scopes_are_reported_only_while_the_other_task_is_live ... ok
[INFO] [stdout] test repo::scope::tests::scopes_in_other_projects_are_invisible ... ok
[INFO] [stdout] test repo::scope::tests::refusing_a_conflict_writes_nothing ... ok
[INFO] [stdout] test repo::scope::tests::finishing_a_task_takes_its_scope_out_of_the_way ... ok
[INFO] [stdout] test repo::scope::tests::declaring_everything_collides_with_every_live_scope ... ok
[INFO] [stdout] test repo::scope::tests::disjoint_scopes_never_collide ... ok
[INFO] [stdout] test repo::scope::tests::unusable_patterns_are_refused_with_advice ... ok
[INFO] [stdout] test repo::tasks::tests::a_named_claim_requires_every_capability_on_the_task ... ok
[INFO] [stdout] test repo::tasks::tests::a_blocked_task_cannot_be_claimed_and_the_refusal_names_the_blockers ... ok
[INFO] [stdout] test repo::tasks::tests::a_claim_hands_over_the_ground_it_stands_on ... ok
[INFO] [stdout] test repo::scope::tests::the_radar_groups_patterns_by_task ... ok
[INFO] [stdout] test repo::tasks::tests::a_refused_overlap_rolls_the_claim_back_with_it ... ok
[INFO] [stdout] test repo::tasks::tests::a_recess_refuses_new_claims_but_leaves_work_in_flight_alone ... ok
[INFO] [stdout] test repo::tasks::tests::an_expired_lease_returns_the_task_to_open ... ok
[INFO] [stdout] test repo::tasks::tests::a_scope_from_the_plan_is_checked_even_when_the_claimant_declares_nothing ... ok
[INFO] [stdout] test repo::tasks::tests::a_swept_task_can_be_claimed_by_someone_else ... ok
[INFO] [stdout] test repo::tasks::tests::cancelling_a_terminal_task_is_refused ... ok
[INFO] [stdout] test repo::tasks::tests::an_all_projects_dispatch_routes_around_a_recessed_project ... ok
[INFO] [stdout] test repo::scope::tests::concurrent_declarations_cannot_both_miss_each_other ... ok
[INFO] [stdout] test repo::tasks::tests::claiming_a_missing_task_says_so ... ok
[INFO] [stdout] test repo::tasks::tests::a_second_claim_reports_the_current_holder ... ok
[INFO] [stdout] test repo::tasks::tests::an_unusable_pattern_costs_no_lease ... ok
[INFO] [stdout] test repo::tasks::tests::completing_clears_the_lease_and_stores_the_result ... ok
[INFO] [stdout] test repo::tasks::tests::claim_moves_open_to_claimed_and_sets_a_lease ... ok
[INFO] [stdout] test repo::tasks::tests::claiming_with_a_scope_records_it_and_reports_overlaps ... ok
[INFO] [stdout] test repo::tasks::tests::counts_group_by_status ... ok
[INFO] [stdout] test repo::tasks::tests::creating_a_task_records_a_created_event ... ok
[INFO] [stdout] test repo::tasks::tests::events_are_capped_and_returned_oldest_first ... ok
[INFO] [stdout] test repo::tasks::tests::dispatch_during_a_recess_names_the_recess_and_enumerates_nothing ... ok
[INFO] [stdout] test repo::tasks::tests::empty_notes_and_results_are_rejected ... ok
[INFO] [stdout] test repo::tasks::tests::empty_titles_are_rejected ... ok
[INFO] [stdout] test repo::tasks::tests::listing_filters_by_status_and_project ... ok
[INFO] [stdout] test repo::tasks::tests::finishing_the_dependency_releases_the_dependent ... ok
[INFO] [stdout] test repo::tasks::tests::failing_stores_the_reason ... ok
[INFO] [stdout] test repo::tasks::tests::next_hands_out_the_highest_priority_task_and_claims_it ... ok
[INFO] [stdout] test repo::tasks::tests::exactly_one_of_many_racing_claimants_wins ... ok
[INFO] [stdout] test repo::tasks::tests::concurrent_creates_get_distinct_sequence_numbers ... ok
[INFO] [stdout] test repo::tasks::tests::concurrent_sweeps_expire_each_lease_exactly_once ... ok
[INFO] [stdout] test repo::tasks::tests::listing_puts_active_work_first_then_priority ... ok
[INFO] [stdout] test repo::tasks::tests::next_defers_a_task_that_would_collide_and_explains_why ... ok
[INFO] [stdout] test repo::tasks::tests::next_prefers_the_task_that_does_not_collide ... ok
[INFO] [stdout] test repo::tasks::tests::next_routes_around_incompatible_work_and_explains_what_is_missing ... ok
[INFO] [stdout] test repo::tasks::tests::next_is_first_in_first_out_within_a_priority_band ... ok
[INFO] [stdout] test repo::tasks::tests::next_on_an_empty_queue_returns_nothing_and_blames_nobody ... ok
[INFO] [stdout] test repo::tasks::tests::humans_cancel_from_any_non_terminal_status ... ok
[INFO] [stdout] test repo::tasks::tests::next_walks_past_blocked_tasks_and_says_which ... ok
[INFO] [stdout] test repo::tasks::tests::next_routes_around_a_task_held_for_a_verdict_and_says_which_review ... ok
[INFO] [stdout] test repo::tasks::tests::concurrent_dispatch_gives_every_agent_a_different_task ... ok
[INFO] [stdout] test repo::tasks::tests::only_the_holder_can_update_complete_or_fail ... ok
[INFO] [stdout] test repo::tasks::tests::projects_lists_each_distinct_root_once ... ok
[INFO] [stdout] test repo::tasks::tests::reopen_clears_holder_lease_and_result ... ok
[INFO] [stdout] test repo::tests::ids_are_unique_and_time_ordered ... ok
[INFO] [stdout] test repo::tests::scope_resolves_from_the_all_projects_flag ... ok
[INFO] [stdout] test repo::tasks::tests::seq_starts_at_one_and_increments ... ok
[INFO] [stdout] test repo::tasks::tests::reopening_an_open_task_is_refused ... ok
[INFO] [stdout] test repo::tasks::tests::repeated_updates_stay_in_progress ... ok
[INFO] [stdout] test repo::tasks::tests::update_starts_work_renews_the_lease_and_logs_a_note ... ok
[INFO] [stdout] test repo::tasks::tests::the_previous_holder_cannot_act_after_expiry ... ok
[INFO] [stdout] test repo::verdict::tests::a_verdict_on_a_task_that_is_not_a_review_is_refused ... ok
[INFO] [stdout] test repo::tasks::tests::readiness_reports_both_kinds_of_obstacle ... ok
[INFO] [stdout] test repo::tasks::tests::unclaimed_tasks_tell_the_agent_to_claim_first ... ok
[INFO] [stdout] test repo::verdict::tests::reading_by_person_leaves_out_what_names_nobody ... ok
[INFO] [stdout] test repo::verdict::tests::failing_a_review_delivers_nothing ... ok
[INFO] [stdout] test repo::verdict::tests::sent_back_reopens_the_work_carrying_the_findings ... ok
[INFO] [stdout] test repo::verdict::tests::the_loop_runs_to_an_upheld_verdict_without_a_human ... ok
[INFO] [stdout] test repo::verdict::tests::completing_a_review_without_a_verdict_is_refused_and_the_refusal_teaches ... ok
[INFO] [stdout] test repo::verdict::tests::sent_back_does_not_overrule_a_human_who_already_moved_the_work ... ok
[INFO] [stdout] test repo::verdict::tests::sending_work_back_lands_on_the_trail_of_whoever_builds_on_it ... ok
[INFO] [stdout] test repo::witness::tests::a_baseline_round_trips_through_the_database ... ok
[INFO] [stdout] test repo::witness::tests::a_finished_task_stops_contending ... ok
[INFO] [stdout] test repo::verdict::tests::upheld_marks_the_work_without_moving_it ... ok
[INFO] [stdout] test repo::witness::tests::a_file_in_two_footprints_is_reported_as_shared ... ok
[INFO] [stdout] test repo::verdict::tests::the_record_can_be_read_by_person ... ok
[INFO] [stdout] test repo::witness::tests::a_fresh_claim_starts_a_fresh_measurement ... ok
[INFO] [stdout] test repo::verdict::tests::the_record_tallies_both_sides_of_every_verdict ... ok
[INFO] [stdout] test repo::witness::tests::a_fresh_claim_archives_the_previous_holding_as_a_tenure ... ok
[INFO] [stdout] test repo::witness::tests::a_glob_covers_everything_it_describes ... ok
[INFO] [stdout] test repo::witness::tests::a_path_that_goes_back_to_normal_leaves_no_row ... ok
[INFO] [stdout] test repo::witness::tests::an_archived_rounds_baseline_is_still_resolvable ... ok
[INFO] [stdout] test repo::witness::tests::a_vanished_holders_tenure_ends_with_the_lease_expiry ... ok
[INFO] [stdout] test repo::witness::tests::a_read_only_holding_is_archived_and_says_so ... ok
[INFO] [stdout] test repo::witness::tests::declaring_nothing_cannot_drift ... ok
[INFO] [stdout] test repo::witness::tests::drift_is_the_gap_between_what_was_declared_and_what_moved ... ok
[INFO] [stdout] test repo::witness::tests::observing_does_not_confirm_a_version_but_confirming_does ... ok
[INFO] [stdout] test repo::witness::tests::kept_versions_round_trip_and_deduplicate ... ok
[INFO] [stdout] test repo::witness::tests::a_task_reports_read_only_only_where_it_was_actually_watched ... ok
[INFO] [stdout] test repo::witness::tests::pruning_spares_versions_on_an_archived_tenure ... ok
[INFO] [stdout] test repo::witness::tests::pruning_spares_versions_still_on_a_record ... ok
[INFO] [stdout] test repo::witness::tests::tasks_in_other_projects_never_contend ... ok
[INFO] [stdout] test repo::witness::tests::only_live_tasks_have_baselines_to_measure ... ok
[INFO] [stdout] test repo::witness::tests::rounds_count_up_and_each_keeps_its_own_changes ... ok
[INFO] [stdout] test repo::witness::tests::recording_reports_only_paths_it_had_not_seen_before ... ok
[INFO] [stdout] test repo::witness::tests::the_first_sighting_of_a_path_is_written_into_the_history ... ok
[INFO] [stdout] test repo::witness::tests::the_batch_answer_matches_the_one_asked_task_by_task ... ok
[INFO] [stdout] test repo::witness::tests::the_baseline_is_readable_after_the_task_is_done ... ok
[INFO] [stdout] test repo::witness::tests::the_radar_groups_changes_by_task ... ok
[INFO] [stdout] test tui::app::tests::an_empty_graph_has_nothing_selected_and_takes_keys_calmly ... ok
[INFO] [stdout] test repo::witness::tests::two_live_tasks_in_one_file_are_a_contention ... ok
[INFO] [stdout] test tui::app::tests::a_board_without_a_hook_still_expires_the_lease ... ok
[INFO] [stdout] test tui::app::tests::an_already_superseded_assertion_cannot_be_superseded_again ... ok
[INFO] [stdout] test tui::app::tests::acting_with_nothing_selected_says_so ... ok
[INFO] [stdout] test tui::app::tests::columns_partition_every_status_exactly_once ... ok
[INFO] [stdout] test repo::witness::tests::two_agents_who_agree_on_the_content_are_not_reported ... ok
[INFO] [stdout] test tui::app::tests::an_empty_title_keeps_the_prompt_open_and_complains ... ok
[INFO] [stdout] test tui::app::tests::adding_a_task_from_the_board_records_the_tui_as_the_actor ... ok
[INFO] [stdout] test tui::app::tests::column_movement_wraps_around ... ok
[INFO] [stdout] test tui::app::tests::answering_from_the_board_makes_the_task_workable_again ... ok
[INFO] [stdout] test tui::app::tests::cancel_and_reopen_act_on_the_selected_card ... ok
[INFO] [stdout] test tui::app::tests::an_illegal_action_surfaces_the_repository_error ... ok
[INFO] [stdout] test tui::app::tests::enter_opens_the_task_detail_with_body_history_and_assertions ... ok
[INFO] [stdout] test tui::app::tests::letters_typed_into_the_filter_are_literal_not_commands ... ok
[INFO] [stdout] test tui::app::tests::text_entry_modes_are_flagged_so_keys_are_not_treated_as_commands ... ok
[INFO] [stdout] test tui::app::tests::navigation_stays_inside_the_column ... ok
[INFO] [stdout] test tui::app::tests::escape_abandons_the_add_prompt ... ok
[INFO] [stdout] test tui::app::tests::superseding_from_the_browser_writes_a_replacement_authored_by_tui ... ok
[INFO] [stdout] test tui::app::tests::tab_switches_screens_and_question_mark_opens_help ... ok
[INFO] [stdout] test tui::app::tests::q_quits_and_ctrl_c_quits_from_any_mode ... ok
[INFO] [stdout] test tui::app::tests::selections_survive_rows_disappearing_underneath_them ... ok
[INFO] [stdout] test tui::app::tests::tasks_sort_into_their_columns ... ok
[INFO] [stdout] test tui::app::tests::the_board_announces_the_expiries_its_own_poll_collects ... ok
[INFO] [stdout] test tui::app::tests::the_filter_matches_title_number_and_holder ... ok
[INFO] [stdout] test tui::theme::tests::every_status_has_its_own_colour ... ok
[INFO] [stdout] test tui::theme::tests::human_actors_are_dimmed_rather_than_coloured ... ok
[INFO] [stdout] test tui::theme::tests::the_named_harnesses_are_distinguishable ... ok
[INFO] [stdout] test tui::theme::tests::unknown_harnesses_hash_to_a_stable_colour ... ok
[INFO] [stdout] test tui::app::tests::the_project_toggle_widens_and_narrows_the_scope ... ok
[INFO] [stdout] test tui::app::tests::the_board_announces_tasks_it_files_and_reopens ... ok
[INFO] [stdout] test tui::app::tests::the_poll_clock_reports_staleness ... ok
[INFO] [stdout] test tui::app::tests::the_memory_search_box_filters_as_you_type ... ok
[INFO] [stdout] test tui::app::tests::the_superseded_toggle_changes_what_is_listed ... ok
[INFO] [stdout] test tui::app::tests::the_graph_screen_walks_waves_and_the_ground_they_build_on ... ok
[INFO] [stdout] test tui::view::tests::a_blocked_card_says_what_it_is_waiting_for ... ok
[INFO] [stdout] test tui::view::tests::a_card_says_whether_the_work_moved_anything ... ok
[INFO] [stdout] test tui::view::tests::a_card_shows_the_capabilities_work_requires ... ok
[INFO] [stdout] test tui::view::tests::centering_never_leaves_the_frame ... ok
[INFO] [stdout] test tui::view::tests::an_empty_graph_says_so_instead_of_drawing_nothing ... ok
[INFO] [stdout] test tui::view::tests::a_question_card_says_it_awaits_an_answer_and_is_not_ready ... ok
[INFO] [stdout] test tui::view::tests::a_done_card_under_an_open_review_says_so ... ok
[INFO] [stdout] test tui::view::tests::an_empty_memory_browser_explains_where_assertions_come_from ... ok
[INFO] [stdout] test tui::view::tests::shorten_path_keeps_the_tail ... ok
[INFO] [stdout] test tui::view::tests::a_card_shows_its_number_title_holder_and_countdown ... ok
[INFO] [stdout] test tui::view::tests::an_idle_swarm_says_so_rather_than_showing_an_empty_box ... ok
[INFO] [stdout] test tui::view::tests::a_toast_replaces_the_status_bar ... ok
[INFO] [stdout] test tui::view::tests::the_assertion_detail_overlay_shows_full_provenance ... ok
[INFO] [stdout] test tui::view::tests::the_board_draws_four_columns_and_the_tabs ... ok
[INFO] [stdout] test tui::view::tests::the_add_prompt_shows_both_fields ... ok
[INFO] [stdout] test tui::view::tests::rendering_survives_a_tiny_terminal ... ok
[INFO] [stdout] test tui::view::tests::priority_markers_only_appear_when_priority_is_set ... ok
[INFO] [stdout] test tui::view::tests::the_graph_screen_lays_the_waves_out_as_columns_after_the_ground ... ok
[INFO] [stdout] test tui::view::tests::empty_columns_say_so_differently_when_filtering ... ok
[INFO] [stdout] test tui::view::tests::the_graph_screen_lights_up_what_the_selection_waits_for_and_feeds ... ok
[INFO] [stdout] test tui::view::tests::the_help_overlay_lists_every_documented_key ... ok
[INFO] [stdout] test tui::view::tests::the_memory_browser_shows_content_provenance_and_the_task_link ... ok
[INFO] [stdout] test tui::view::tests::the_graph_screen_slides_to_keep_the_selected_wave_on_a_narrow_terminal ... ok
[INFO] [stdout] test tui::view::tests::the_status_bar_wears_the_recess_while_one_stands ... ok
[INFO] [stdout] test tui::view::tests::the_status_bar_reports_the_database_scope_and_counts ... ok
[INFO] [stdout] test tui::view::tests::wrapped_height_counts_the_rows_a_wrap_will_take ... ok
[INFO] [stdout] test web::tests::percent_decoding_tolerates_bad_escapes ... ok
[INFO] [stdout] test web::tests::query_strings_are_split_and_decoded ... ok
[INFO] [stdout] test tui::view::tests::the_help_overlay_draws_its_last_line_whole ... ok
[INFO] [stdout] test tui::view::tests::the_memory_browser_badges_an_assertion_whose_files_have_moved ... ok
[INFO] [stdout] test witness::tests::a_directory_without_git_is_simply_not_watched ... ok
[INFO] [stdout] test tui::view::tests::the_swarm_screen_separates_what_was_declared_from_what_moved ... ok
[INFO] [stdout] test witness::tests::a_project_without_git_simply_has_no_witness ... ok
[INFO] [stdout] test witness::tests::a_repository_with_no_commits_still_witnesses ... ok
[INFO] [stdout] test tui::view::tests::the_task_detail_overlay_shows_body_history_and_assertions ... ok
[INFO] [stdout] test tui::view::tests::the_task_detail_overlay_shows_what_earlier_work_learned ... ok
[INFO] [stdout] test tui::view::tests::the_swarm_screen_shows_what_could_be_dispatched_next ... ok
[INFO] [stdout] test tui::view::tests::the_swarm_screen_shows_both_agents_and_the_overlap_between_them ... ok
[INFO] [stdout] test witness::tests::a_deleted_file_is_seen_as_a_deletion ... ok
[INFO] [stdout] test witness::tests::a_new_untracked_file_is_seen_as_an_addition ... ok
[INFO] [stdout] test witness::tests::a_sweep_with_nobody_working_never_runs_git ... ok
[INFO] [stdout] test witness::tests::a_finished_tasks_diff_survives_the_tree_moving_on ... ok
[INFO] [stdout] test witness::tests::a_task_that_commits_its_work_is_still_credited_with_it ... ok
[INFO] [stdout] test witness::tests::an_untouched_tree_shows_no_changes ... ok
[INFO] [stdout] test witness::tests::a_witness_told_not_to_keep_still_watches ... ok
[INFO] [stdout] test witness::tests::a_task_is_credited_with_what_moved_while_it_was_held ... ok
[INFO] [stdout] test witness::tests::a_version_written_over_is_salvageable ... ok
[INFO] [stdout] test witness::tests::editing_a_tracked_file_is_seen_as_a_modification ... ok
[INFO] [stdout] test witness::tests::edits_that_predate_the_snapshot_are_not_attributed ... ok
[INFO] [stdout] test witness::tests::agents_in_different_files_do_not_contend ... ok
[INFO] [stdout] test witness::tests::ignored_files_are_never_candidates ... ok
[INFO] [stdout] test witness::tests::large_files_are_fingerprinted_without_being_read_twice ... ok
[INFO] [stdout] test witness::tests::paths_with_spaces_and_unicode_survive_the_porcelain ... ok
[INFO] [stdout] test witness::tests::reverting_a_dirty_file_is_seen ... ok
[INFO] [stdout] test witness::tests::an_onlooker_sees_the_change_without_settling_anybodys_version ... ok
[INFO] [stdout] test witness::tests::the_dirty_baseline_is_kept_at_claim_time ... ok
[INFO] [stdout] test witness::tests::salvage_refuses_what_was_never_seen ... ok
[INFO] [stdout] test witness::tests::work_that_gets_committed_is_still_attributed ... ok
[INFO] [stdout] test witness::tests::one_file_and_two_live_agents_is_a_contention_with_a_stale_side ... ok
[INFO] [stdout] test witness::tests::sweeps_keep_the_versions_they_hash ... ok
[INFO] [stdout] test witness::tests::undoing_an_edit_takes_it_off_the_record ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 539 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.74s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/hird-fb6d06b72cbefa02)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-39183b6ea83d7a96)
[INFO] [stdout] 
[INFO] [stdout] running 85 tests
[INFO] [stdout] test a_broken_config_file_is_reported_rather_than_ignored ... ok
[INFO] [stdout] test a_path_that_climbs_out_of_the_project_is_refused ... ok
[INFO] [stdout] test a_body_can_come_from_a_file ... ok
[INFO] [stdout] test a_plan_can_be_read_from_stdin ... ok
[INFO] [stdout] test a_plan_can_be_filed_in_one_go_and_read_back_as_waves ... ok
[INFO] [stdout] test a_cycle_is_refused_with_the_chain_that_would_have_closed_it ... ok
[INFO] [stdout] test a_plan_applied_twice_files_only_what_the_file_gained ... ok
[INFO] [stdout] test a_plan_that_cannot_be_filed_leaves_the_queue_untouched ... ok
[INFO] [stdout] test a_plan_can_mark_work_for_review ... ok
[INFO] [stdout] test a_connection_is_told_the_capabilities_it_may_claim_against ... ok
[INFO] [stdout] test a_scope_can_be_set_inspected_and_cleared ... ok
[INFO] [stdout] test a_plan_files_its_whole_graph_and_the_board_agrees_with_the_preview ... ok
[INFO] [stdout] test a_task_nobody_watched_is_never_called_read_only ... ok
[INFO] [stdout] test an_unknown_event_kind_is_refused_with_the_word_it_choked_on ... ok
[INFO] [stdout] test a_recess_is_worn_by_the_board_and_lifted_by_resume ... ok
[INFO] [stdout] test add_prints_the_task_number_and_numbers_climb ... ok
[INFO] [stdout] test an_explicit_db_flag_beats_the_environment ... ok
[INFO] [stdout] test an_empty_feed_says_so_in_prose_but_never_in_json ... ok
[INFO] [stdout] test agents_work_a_filed_plan_the_way_they_work_anything_else ... ok
[INFO] [stdout] test a_reviewed_task_shows_who_cannot_take_the_review ... ok
[INFO] [stdout] test capability_requirements_round_trip_through_add_list_show_and_require ... ok
[INFO] [stdout] test db_path_reports_the_file_and_creating_a_task_makes_it ... ok
[INFO] [stdout] test answer_resumes_a_parked_task_and_keeps_the_decision_in_its_brief ... ok
[INFO] [stdout] test events_reads_the_trail_across_tasks_oldest_first ... ok
[INFO] [stdout] test events_json_is_one_parseable_object_per_line ... ok
[INFO] [stdout] test a_sent_back_verdict_reopens_the_work_and_the_record_keeps_score ... ok
[INFO] [stdout] test cancel_and_reopen_move_the_task_and_are_recorded ... ok
[INFO] [stdout] test help_and_version_work_without_a_database ... ok
[INFO] [stdout] test graph_json_is_the_board_as_one_value_and_plan_narrows_it ... ok
[INFO] [stdout] test events_sees_what_agents_do_and_filters_down_to_it ... ok
[INFO] [stdout] test install_skill_writes_the_bundled_global_skill_without_opening_the_database ... ok
[INFO] [stdout] test installer_options_refuse_normal_commands_before_doing_anything ... ok
[INFO] [stdout] test illegal_transitions_are_refused_with_the_current_status ... ok
[INFO] [stdout] test blame_tells_a_files_story_across_rounds_and_memory ... ok
[INFO] [stdout] test ls_rejects_an_unknown_status_with_the_valid_set ... ok
[INFO] [stdout] test ls_filters_by_status_and_says_so_when_empty ... ok
[INFO] [stdout] test graph_renders_dot_and_mermaid_with_waves_and_edges ... ok
[INFO] [stdout] test folded_readings_keep_their_old_names_but_leave_the_help ... ok
[INFO] [stdout] test ls_shows_status_priority_and_nothing_else ... ok
[INFO] [stdout] test mem_search_says_so_when_nothing_matches ... ok
[INFO] [stdout] test digest_folds_the_trail_since_the_bookmark_and_moves_it ... ok
[INFO] [stdout] test mem_add_prints_an_id_and_search_finds_it ... ok
[INFO] [stdout] test handoff_writes_the_claim_brief_as_markdown ... ok
[INFO] [stdout] test mem_search_with_no_query_lists_everything_recent_first ... ok
[INFO] [stdout] test plan_lint_refuses_what_apply_would_refuse ... ok
[INFO] [stdout] test plan_lint_reads_a_fileable_plan_for_the_trouble_it_still_carries ... ok
[INFO] [stdout] test mem_export_writes_markdown_and_keeps_the_footing_honest ... ok
[INFO] [stdout] test install_copies_the_running_binary_without_opening_the_database ... ok
[INFO] [stdout] test plan_lint_stays_quiet_when_there_is_nothing_to_flag ... ok
[INFO] [stdout] test project_scope_separates_two_checkouts ... ok
[INFO] [stdout] test register_gemini_writes_the_project_settings_file_and_is_idempotent ... ok
[INFO] [stdout] test register_opencode_preserves_the_global_config_and_is_idempotent ... ok
[INFO] [stdout] test register_opencode_uses_an_existing_jsonc_file_without_overwriting_comments ... ok
[INFO] [stdout] test registering_with_an_identity_writes_it_into_the_harness_config ... ok
[INFO] [stdout] test recall_says_so_when_a_task_stands_alone ... ok
[INFO] [stdout] test recall_can_be_turned_off_in_the_config_file ... ok
[INFO] [stdout] test plan_export_round_trips_the_board_into_a_plan_that_applies ... ok
[INFO] [stdout] test recall_answers_with_what_earlier_work_in_the_same_files_learned ... ok
[INFO] [stdout] test show_on_a_missing_task_fails_with_a_plain_sentence ... ok
[INFO] [stdout] test search_marks_the_results_whose_files_have_moved ... ok
[INFO] [stdout] test replay_folds_the_trail_back_into_a_board ... ok
[INFO] [stdout] test recusals_can_be_set_and_lifted_by_hand ... ok
[INFO] [stdout] test reading_the_record_by_person_says_when_nobody_is_named ... ok
[INFO] [stdout] test show_reads_a_hash_number_as_a_task_and_refuses_task_flags_on_a_path ... ok
[INFO] [stdout] test show_prints_the_body_history_and_linked_assertions ... ok
[INFO] [stdout] test restating_a_fact_from_the_command_line_affirms_it_rather_than_duplicating ... ok
[INFO] [stdout] test the_agents_view_is_quiet_when_nobody_is_working ... ok
[INFO] [stdout] test the_config_file_changes_the_lease_ttl_the_server_advertises ... ok
[INFO] [stdout] test the_agents_view_outside_git_says_nothing_about_the_tree ... ok
[INFO] [stdout] test show_reports_what_a_task_waits_for_and_what_it_touches ... ok
[INFO] [stdout] test show_names_the_ground_a_task_builds_on ... ok
[INFO] [stdout] test the_exhibit_outside_git_refuses_rather_than_showing_nothing ... ok
[INFO] [stdout] test the_project_flag_overrides_detection_for_a_single_task ... ok
[INFO] [stdout] test the_record_with_no_verdicts_says_how_to_get_some ... ok
[INFO] [stdout] test the_preview_names_the_pairs_that_cannot_run_at_once ... ok
[INFO] [stdout] test the_preview_marks_what_is_already_filed ... ok
[INFO] [stdout] test the_standing_audit_outside_git_says_there_is_nothing_to_stand_on ... ok
[INFO] [stdout] test why_on_a_missing_task_fails_with_a_plain_sentence ... ok
[INFO] [stdout] test the_agents_view_shows_what_moved_and_where_two_agents_meet ... ok
[INFO] [stdout] test why_answers_first_and_shows_its_evidence_after ... ok
[INFO] [stdout] test the_standing_audit_sorts_the_memory_by_whether_its_ground_has_moved ... ok
[INFO] [stdout] test the_board_says_whether_a_task_wrote_anything_or_only_read ... ok
[INFO] [stdout] test the_record_reads_by_harness_or_by_person ... ok
[INFO] [stdout] test the_exhibit_diffs_finished_work_and_salvages_what_was_written_over ... ok
[INFO] [stdout] test two_connections_carry_two_identities_against_one_queue ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 85 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.47s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dispatch_hook.rs (/opt/rustwide/target/debug/deps/dispatch_hook-6a4e9c3d008e7f06)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test a_plan_announces_its_first_wave_and_only_that ... ok
[INFO] [stdout] test a_release_announces_the_task_it_hands_back ... ok
[INFO] [stdout] test without_a_hook_nothing_runs_and_nothing_breaks ... ok
[INFO] [stdout] test a_question_stays_quiet_until_the_answer_makes_it_claimable ... ok
[INFO] [stdout] test filing_and_replanning_announce_exactly_the_tasks_left_claimable ... ok
[INFO] [stdout] test a_finish_announces_the_dependents_it_released_and_the_review_it_filed ... ok
[INFO] [stderr]      Running tests/install_script.rs (/opt/rustwide/target/debug/deps/install_script-698b6d27cbf02d1e)
[INFO] [stdout] test a_recess_quiets_the_hook_and_resume_announces_the_backlog ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test install_script_cleans_when_installation_fails ... ok
[INFO] [stderr]      Running tests/mcp_stdio.rs (/opt/rustwide/target/debug/deps/mcp_stdio-7cf55d3718e44d36)
[INFO] [stdout] test install_script_builds_installs_then_cleans ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test a_request_declaring_an_unknown_version_is_refused ... ok
[INFO] [stdout] test a_released_task_goes_straight_back_to_the_next_agent ... ok
[INFO] [stdout] test a_project_without_git_behaves_as_though_the_witness_did_not_exist ... ok
[INFO] [stdout] test a_first_claim_carries_no_inheritance ... ok
[INFO] [stdout] test a_harness_that_set_no_variable_is_named_by_its_client ... ok
[INFO] [stdout] test a_stateless_client_names_itself_on_every_request ... ok
[INFO] [stdout] test a_stateless_agent_and_a_handshaking_one_share_one_queue ... ok
[INFO] [stdout] test a_task_settles_its_own_facts_when_it_finishes ... ok
[INFO] [stdout] test a_recused_queue_says_it_needs_another_harness_rather_than_nothing ... ok
[INFO] [stdout] test a_stateless_client_can_work_a_task_end_to_end ... ok
[INFO] [stdout] test a_fact_arrives_marked_shaky_once_its_file_has_been_rewritten ... ok
[INFO] [stdout] test an_opening_request_that_cannot_open_anything_is_answered ... ok
[INFO] [stdout] test agents_in_separate_files_are_never_warned ... ok
[INFO] [stdout] test an_unknown_harness_still_gets_a_usable_identity ... ok
[INFO] [stdout] test discovery_answers_without_a_handshake_and_offers_the_current_spec ... ok
[INFO] [stdout] test an_agent_can_claim_work_it_through_and_complete_it ... ok
[INFO] [stdout] test an_agent_is_told_when_another_harness_is_already_in_its_files ... ok
[INFO] [stdout] test initialize_advertises_tools_and_the_queue_rules ... ok
[INFO] [stdout] test a_successor_inherits_what_the_previous_holder_left_behind ... ok
[INFO] [stdout] test editing_outside_the_declared_scope_is_reported_back ... ok
[INFO] [stdout] test errors_come_back_as_sentences_rather_than_protocol_failures ... ok
[INFO] [stdout] test an_agent_can_split_a_task_into_work_for_the_others ... ok
[INFO] [stdout] test stateless_tool_list_carries_required_cache_hints ... ok
[INFO] [stdout] test holds_mode_keeps_dependents_waiting_for_the_verdict ... ok
[INFO] [stdout] test the_configured_harness_name_outranks_the_clients_own ... ok
[INFO] [stdout] test the_witness_can_be_switched_off_in_the_configuration ... ok
[INFO] [stdout] test memory_written_by_one_harness_is_searchable_by_another ... ok
[INFO] [stdout] test restating_a_shaky_fact_makes_it_firm_again_and_records_a_second_voice ... ok
[INFO] [stdout] test mcp_mode_starts_well_inside_the_startup_budget ... ok
[INFO] [stdout] test tools_list_returns_exactly_the_designed_tools ... ok
[INFO] [stdout] test the_ground_is_handed_over_and_its_shift_reaches_the_builder ... ok
[INFO] [stdout] test task_next_routes_by_the_capabilities_in_the_harness_environment ... ok
[INFO] [stdout] test memory_without_a_footing_says_nothing_about_standing ... ok
[INFO] [stdout] test two_harnesses_race_and_the_loser_is_told_who_won ... ok
[INFO] [stdout] test two_harnesses_asking_for_work_spread_out_across_the_queue ... ok
[INFO] [stdout] test what_one_harness_learned_is_handed_to_the_next_agent_in_those_files ... ok
[INFO] [stdout] test work_marked_for_review_is_handed_to_a_different_harness ... ok
[INFO] [stdout] test unreviewed_work_finishes_the_way_it_always_did ... ok
[INFO] [stdout] test two_harnesses_writing_one_declared_file_are_told_about_each_other ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.60s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/question_hook.rs (/opt/rustwide/target/debug/deps/question_hook-98d483a10c6be337)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_raised_question_summons_the_human_with_the_question_itself ... ok
[INFO] [stderr]      Running tests/web.rs (/opt/rustwide/target/debug/deps/web-1c32a791890f95d0)
[INFO] [stdout] test an_ordinary_release_stays_quiet ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test the_graph_can_be_replayed_and_narrowed_to_a_plan ... ok
[INFO] [stdout] test the_page_and_the_graph_are_served_read_only ... ok
[INFO] [stdout] test the_feed_streams_what_happens_after_the_page_opened ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hird
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2", kill_on_drop: false }`
[INFO] [stdout] 1196f8385de7edc1351faaee6cd86fe2e0ffe5bf388153269492472ff4e537e2
