[INFO] fetching crate rhei-plan 0.6.1...
[INFO] testing rhei-plan-0.6.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate rhei-plan 0.6.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate rhei-plan 0.6.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rhei-plan 0.6.1
[INFO] tweaked toml for crates.io crate rhei-plan 0.6.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rhei-plan 0.6.1 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 crates.io crate rhei-plan 0.6.1 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096
[INFO] running `Command { std: "docker" "start" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", 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" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096" "/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" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", 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" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling uuid v1.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling rhei-plan v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 44.22s
[INFO] running `Command { std: "docker" "inspect" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", 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" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rhei-plan v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 45.92s
[INFO] running `Command { std: "docker" "inspect" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", 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" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/rhei_core-2b4629a1a281a624)
[INFO] [stdout] 
[INFO] [stdout] running 472 tests
[INFO] [stdout] test ast::tests::callback_ref_roundtrip_json ... ok
[INFO] [stdout] test ast::tests::structure_defaults ... ok
[INFO] [stdout] test ast::tests::task_id_dotted_display_and_parent ... ok
[INFO] [stdout] test ast::tests::transition_rule_json_field_names_match_spec ... ok
[INFO] [stdout] test ast::tests::transition_rule_serializes_with_optional_fields_omitted ... ok
[INFO] [stdout] test ast::tests::transition_key_construction_and_json ... ok
[INFO] [stdout] test ast::tests::transition_rule_full_roundtrip_with_callbacks_and_edge_values ... ok
[INFO] [stdout] test ast::tests::task_id_number_and_named_display ... ok
[INFO] [stdout] test ast::tests::state_name_equality_and_roundtrip_json ... ok
[INFO] [stdout] test ast::tests::transition_rule_rejects_non_string_callback_ref ... ok
[INFO] [stdout] test ast::tests::transition_rule_deserializes_without_optional_fields ... ok
[INFO] [stdout] test ast::tests::task_id_extends_checks_one_segment_extension ... ok
[INFO] [stdout] test ast::tests::task_id_single_segment_helpers ... ok
[INFO] [stdout] test budget::adjust_tests::a_lifetime_allowance_is_not_renewed_by_the_next_day ... ok
[INFO] [stdout] test budget::adjust_tests::an_account_moves_from_the_window_contract_to_a_lifetime_allowance ... ok
[INFO] [stdout] test budget::adjust_tests::an_adjustment_records_who_changed_what_and_why ... ok
[INFO] [stdout] test budget::bounds_tests::a_delegated_ceiling_above_the_machines_is_the_bound ... ok
[INFO] [stdout] test budget::bounds_tests::a_delegated_ceiling_below_the_machines_clamps_a_plan_and_names_the_project ... ok
[INFO] [stdout] test budget::bounds_tests::a_delegated_halt_carries_the_ceiling_row_after_the_bound ... ok
[INFO] [stdout] test budget::bounds_tests::a_plan_at_or_below_the_delegated_ceiling_is_honoured ... ok
[INFO] [stdout] test budget::bounds_tests::an_undelegated_bound_has_no_ceiling_row_or_policy ... ok
[INFO] [stdout] test budget::bounds_tests::spend_resolves_under_the_machine_only ... ok
[INFO] [stdout] test budget::bounds_tests::the_ceiling_and_policy_rows_name_the_files_read ... ok
[INFO] [stdout] test budget::bounds_tests::the_remedy_names_the_file_of_whoever_limits ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descendant_of_an_unknown_ancestor_cannot_open_an_account ... ok
[INFO] [stdout] test budget::foreign_tail_tests::a_tail_without_a_foreign_identity_is_not_foreign ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descriptor_minted_for_another_account_draws_no_envelope_here ... ok
[INFO] [stdout] test budget::foreign_tail_tests::an_identity_receipt_from_another_root_makes_the_tail_foreign ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descendant_fits_inside_its_ancestors_envelope_and_no_further ... ok
[INFO] [stdout] test budget::adjust_tests::an_allowance_exactly_at_the_floor_is_accepted ... ok
[INFO] [stdout] test budget::adjust_tests::a_window_account_reports_the_day_and_the_lifetime_separately ... ok
[INFO] [stdout] test budget::adjust_tests::an_allowance_below_consumed_plus_outstanding_is_refused ... ok
[INFO] [stdout] test budget::ancestry_tests::a_midnight_renewal_enlarges_nothing_an_ancestor_already_holds ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descriptor_minted_for_another_account_opens_its_own_balance ... ok
[INFO] [stdout] test budget::ancestry_tests::a_refusal_with_no_origin_reads_exactly_as_it_always_has ... ok
[INFO] [stdout] test budget::ancestry_tests::a_refusal_names_the_origin_its_caller_supplied ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descriptor_of_this_account_naming_nothing_is_still_refused ... ok
[INFO] [stdout] test budget::ancestry_tests::a_descriptor_of_this_account_keeps_every_other_refusal ... ok
[INFO] [stdout] test budget::ancestry_tests::a_replayed_chain_re_derives_every_ancestry_claim ... ok
[INFO] [stdout] test budget::index_refusal_tests::one_refused_replacement_of_the_index_is_waited_out ... ok
[INFO] [stdout] test budget::ancestry_tests::an_ancestor_whose_envelope_is_zero_lends_nothing ... ok
[INFO] [stdout] test budget::foreign_tail_tests::a_contaminated_witness_is_foreign_tail_and_never_offered_the_copy ... ok
[INFO] [stdout] test budget::foreign_tail_tests::a_tail_without_an_identity_receipt_stays_truncated ... ok
[INFO] [stdout] test budget::identity_tests::a_renamed_plan_file_moves_the_binding_to_the_id_it_now_has ... ok
[INFO] [stdout] test budget::identity_tests::a_second_live_claimant_is_refused_and_moves_nothing ... ok
[INFO] [stdout] test budget::identity_tests::a_second_live_source_under_the_same_display_id_is_neither_refused_nor_reported ... ok
[INFO] [stdout] test budget::identity_tests::a_ticket_that_lost_its_key_adopts_its_own_binding_untouched ... ok
[INFO] [stdout] test budget::identity_tests::an_unparseable_live_source_is_passed_over_rather_than_counted_as_a_claim ... ok
[INFO] [stdout] test budget::identity_tests::one_live_claimant_under_a_new_display_id_moves_and_says_so ... ok
[INFO] [stdout] test budget::index_refusal_tests::a_read_failing_for_another_reason_is_reported_at_once ... ok
[INFO] [stdout] test budget::index_refusal_tests::a_read_refused_past_the_bound_is_unreachable_after_retrying ... ok
[INFO] [stdout] test budget::index_refusal_tests::a_replacement_refused_past_the_bound_is_unreachable_and_keeps_the_index ... ok
[INFO] [stdout] test budget::index_refusal_tests::one_refused_read_of_the_index_by_locate_is_waited_out ... ok
[INFO] [stdout] test budget::index_refusal_tests::one_refused_read_of_the_index_by_record_root_is_waited_out ... ok
[INFO] [stdout] test budget::ancestry_tests::an_ancestor_that_has_not_started_lends_nothing ... ok
[INFO] [stdout] test budget::ledger_tests::a_chain_whose_hashes_do_not_link_refuses ... ok
[INFO] [stdout] test budget::ledger_tests::a_journal_the_witness_is_ahead_of_still_says_to_copy_it_back ... ok
[INFO] [stdout] test budget::ledger_tests::a_truncated_chain_refuses ... ok
[INFO] [stdout] test budget::ledger_tests::a_valid_journal_without_a_local_witness_is_adopted_with_its_counts ... ok
[INFO] [stdout] test budget::ledger_tests::a_witness_inside_the_account_is_refused_and_one_beside_it_is_not ... ok
[INFO] [stdout] test budget::ledger_tests::a_witness_that_disagrees_with_the_journal_refuses ... ok
[INFO] [stdout] test budget::roots_tests::a_bound_root_holding_another_uuid_is_a_move ... ok
[INFO] [stdout] test budget::roots_tests::a_bound_root_that_is_gone_is_a_move ... ok
[INFO] [stdout] test budget::roots_tests::a_bound_root_without_budgets_is_a_move ... ok
[INFO] [stdout] test budget::ledger_tests::a_witness_without_a_journal_refuses_without_offering_the_copy ... ok
[INFO] [stdout] test budget::roots_tests::a_root_the_index_binds_is_home ... ok
[INFO] [stdout] test budget::roots_tests::a_root_whose_holder_still_holds_the_uuid_is_a_copy ... ok
[INFO] [stdout] test budget::roots_tests::a_uuid_the_index_does_not_know_is_adopted ... ok
[INFO] [stdout] test budget::ledger_tests::an_absent_account_is_established_by_the_first_admission ... ok
[INFO] [stdout] test budget::ledger_tests::an_applied_edge_can_establish_an_account_and_charge_travel_in_one_transaction ... ok
[INFO] [stdout] test budget::spend_tests::a_money_bound_resolves_and_writes_itself_as_the_number_its_key_takes ... ok
[INFO] [stdout] test budget::ledger_tests::deleting_the_account_directory_does_not_recreate_capacity ... ok
[INFO] [stdout] test budget::nonstart_tests::a_crashed_runs_unstarted_reservation_is_released_by_the_next_admission ... ok
[INFO] [stdout] test budget::spend_tests::a_spend_halt_says_six_things_and_a_seventh_only_where_it_has_to ... ok
[INFO] [stdout] test budget::nonstart_tests::a_live_runs_unstarted_reservation_is_left_alone ... ok
[INFO] [stdout] test budget::nonstart_tests::a_reservation_with_a_confirmed_start_can_never_be_released ... ok
[INFO] [stdout] test budget::nonstart_tests::a_reservation_with_an_ambiguous_start_can_never_be_released ... ok
[INFO] [stdout] test budget::spend_tests::an_amount_that_overflows_is_an_error_rather_than_a_wrap ... ok
[INFO] [stdout] test budget::nonstart_tests::a_spawn_that_failed_before_the_start_record_releases_its_unit ... ok
[INFO] [stdout] test budget::reuse_tests::a_broken_chain_is_classified_as_broken_rather_than_missing ... ok
[INFO] [stdout] test budget::reuse_tests::an_absent_journal_is_classified_apart_from_a_truncated_one ... ok
[INFO] [stdout] test budget::reuse_tests::retiring_a_damaged_account_keeps_the_history_and_drops_the_identity ... ok
[INFO] [stdout] test budget::spend_tests::the_spend_dimension_names_itself_the_same_way_on_every_surface ... ok
[INFO] [stdout] test budget::reuse_tests::retiring_a_root_with_no_witness_retires_nothing ... ok
[INFO] [stdout] test budget::reuse_tests::retiring_a_sound_account_is_refused_and_writes_nothing ... ok
[INFO] [stdout] test budget::reuse_tests::retiring_an_account_whose_journal_is_present_is_refused_and_writes_nothing ... ok
[INFO] [stdout] test budget::roots_tests::a_copy_is_refused_and_reported_without_touching_the_witness ... ok
[INFO] [stdout] test budget::roots_tests::locating_an_unindexed_root_under_its_own_open_journal_does_not_wait_on_itself ... ok
[INFO] [stdout] test budget::roots_tests::retiring_a_copy_keeps_its_claim_and_leaves_the_holder_alone ... ok
[INFO] [stdout] test budget::spend_tests::a_second_currency_in_one_account_is_refused_before_anything_is_appended ... ok
[INFO] [stdout] test budget::spend_tests::a_second_settle_for_one_reservation_is_corruption_and_so_is_an_absent_one ... ok
[INFO] [stdout] test budget::spend_tests::a_spend_settle_changes_neither_count ... ok
[INFO] [stdout] test budget::window_tests::a_day_renews_at_midnight_utc_of_the_following_day ... ok
[INFO] [stdout] test budget::spend_tests::a_spend_settle_revises_the_reserve_down_and_up ... ok
[INFO] [stdout] test budget::spend_tests::a_started_reserve_whose_run_is_gone_derives_the_unsettled_mark ... ok
[INFO] [stdout] test budget::spend_tests::an_unknown_receipt_kind_is_retained_and_makes_the_account_read_only ... ok
[INFO] [stdout] test budget::spend_tests::an_unpriced_or_unmeasurable_invocation_is_charged_the_reserve ... ok
[INFO] [stdout] test budget::window_tests::the_effective_day_is_never_earlier_than_the_highest_one_recorded ... ok
[INFO] [stdout] test budget::spend_tests::spend_is_checked_after_travel_and_after_invocations ... ok
[INFO] [stdout] test budget::spend_tests::the_day_is_the_spend_window_whichever_contract_the_account_holds ... ok
[INFO] [stdout] test budget::travel_tests::a_fanout_spends_one_travel_unit_and_one_invocation_per_arm ... ok
[INFO] [stdout] test budget::travel_tests::a_fanout_with_fewer_units_than_arms_reserves_nothing_at_all ... ok
[INFO] [stdout] test budget::travel_tests::a_manual_transition_is_refused_once_the_travel_bound_is_spent ... ok
[INFO] [stdout] test callback::tests::noop_executor_always_succeeds ... ok
[INFO] [stdout] test callback::tests::shell_executor_delivers_context_json_on_stdin ... ok
[INFO] [stdout] test budget::travel_tests::a_manual_transition_spends_travel_without_any_reservation ... ok
[INFO] [stdout] test callback::tests::shell_executor_downgrades_rejection_with_next_state ... ok
[INFO] [stdout] test callback::bounded::tests::within_its_bound_a_callback_behaves_as_unbounded ... ok
[INFO] [stdout] test callback::tests::shell_executor_parses_next_state_redirect ... ok
[INFO] [stdout] test callback::tests::shell_executor_parses_rejection_with_error_message ... ok
[INFO] [stdout] test callback::tests::shell_executor_rejects_non_cli_prefix ... ok
[INFO] [stdout] test callback::tests::shell_executor_reports_failure_on_nonzero_exit ... ok
[INFO] [stdout] test budget::travel_tests::a_poll_wait_releases_its_travel_unit_and_keeps_its_invocation ... ok
[INFO] [stdout] test callback::tests::shell_executor_treats_nonjson_stdout_as_implicit_success ... ok
[INFO] [stdout] test fence::tests::a_run_of_three_or_more_backticks_or_tildes_is_a_fence ... ok
[INFO] [stdout] test fence::tests::a_run_with_an_info_string_does_not_close_a_block ... ok
[INFO] [stdout] test fence::tests::a_tilde_run_opens_and_closes_a_block ... ok
[INFO] [stdout] test fence::tests::an_unclosed_fence_runs_to_the_end_of_the_text ... ok
[INFO] [stdout] test fence::tests::only_a_matching_run_at_least_as_long_closes_a_fence ... ok
[INFO] [stdout] test metadata::tests::a_non_finite_float_is_reported_by_its_yaml_spelling ... ok
[INFO] [stdout] test metadata::tests::a_non_scalar_key_is_reported_by_its_shape ... ok
[INFO] [stdout] test metadata::tests::a_qualified_id_is_the_site_the_report_names ... ok
[INFO] [stdout] test metadata::tests::a_scalar_key_becomes_its_yaml_text ... ok
[INFO] [stdout] test metadata::tests::a_tagged_value_becomes_a_one_key_object_naming_the_tag ... ok
[INFO] [stdout] test metadata::tests::a_value_outside_a_tasks_metadata_is_reported_against_the_document ... ok
[INFO] [stdout] test metadata::tests::every_other_shape_converts_to_its_json_counterpart ... ok
[INFO] [stdout] test metadata::tests::one_run_reports_every_value_json_cannot_hold ... ok
[INFO] [stdout] test metadata::tests::the_conversion_keeps_the_authors_own_spelling_and_shape ... ok
[INFO] [stdout] test metadata::tests::the_filter_publishes_nothing_where_only_rheis_own_keys_are_stored ... ok
[INFO] [stdout] test metadata::tests::the_filter_publishes_the_authors_half_alone ... ok
[INFO] [stdout] test metadata::tests::the_register_names_every_key_rhei_writes ... ok
[INFO] [stdout] test metadata::tests::the_reset_column_is_what_reset_actually_deletes ... ok
[INFO] [stdout] test money::tests::a_settings_amount_takes_a_bare_number_and_refuses_the_four_ways_of_writing_none ... ok
[INFO] [stdout] test callback::tests::shell_executor_parses_success_json_result ... ok
[INFO] [stdout] test money::tests::an_amount_is_written_with_its_currency_or_with_none_at_all ... ok
[INFO] [stdout] test callback::tests::shell_executor_passes_env_vars ... ok
[INFO] [stdout] test parser::fence_tests::a_workspace_index_may_quote_a_tasks_chapter ... ok
[INFO] [stdout] test parser::fence_tests::a_workspace_index_may_quote_a_truncated_transcript ... ok
[INFO] [stdout] test callback::tests::shell_executor_runs_successful_command_with_empty_stdout ... ok
[INFO] [stdout] test parser::fence_tests::a_run_with_an_info_string_never_closes_a_fence ... ok
[INFO] [stdout] test parser::fence_tests::an_unclosed_fence_runs_to_the_end_of_the_plan ... ok
[INFO] [stdout] test parser::fence_tests::a_tilde_fence_hides_the_tasks_chapter_it_quotes ... ok
[INFO] [stdout] test parser::fence_tests::an_inner_run_that_closes_itself_is_accepted_and_still_misread ... ok
[INFO] [stdout] test parser::fence_tests::an_inner_run_too_short_to_close_leaves_the_fence_open ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::consumes_before_state_is_parse_error ... ok
[INFO] [stdout] test parser::plan_snapshot_prior_tests::snapshot_prior_rejects_malformed_and_duplicate_task_inheritance_metadata ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_on_consumes_reference_without_an_export_name ... ok
[INFO] [stdout] test parser::plan_snapshot_prior_tests::snapshot_prior_task_inheritance_metadata_has_canonical_order ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_on_duplicate_consumed_export ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_on_duplicate_provided_export_name ... ok
[INFO] [stdout] test parser::plan_snapshot_prior_tests::snapshot_prior_parses_task_inheritance_metadata ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_on_provides_name_that_cannot_key_a_path ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_when_assignee_after_content ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_when_assignee_outside_task ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_when_assignee_before_state ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::errors_when_duplicate_assignee ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::parses_assignee_when_present ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::parses_assignee_without_prior ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::exclusions_before_consumes_is_a_parse_error ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::exclusions_accept_whitespace_around_real_entries ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::parses_exclusions_after_consumes_and_before_assignee ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::parses_provides_and_consumes_metadata ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::parses_task_without_assignee_leaves_none ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::unknown_metadata_error_lists_the_export_fields ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::provides_before_state_is_parse_error ... ok
[INFO] [stdout] test parser::plan_task_tooling_ast_tests::a_child_does_not_inherit_its_parents_tooling ... ok
[INFO] [stdout] test parser::plan_task_metadata_tests::exclusions_reject_empty_list_elements ... ok
[INFO] [stdout] test parser::plan_task_tooling_ast_tests::a_task_without_the_fields_has_both_lists_empty ... ok
[INFO] [stdout] test parser::plan_task_tooling_ast_tests::task_mcp_entries_keep_their_order_and_marker ... ok
[INFO] [stdout] test parser::plan_task_tooling_ast_tests::task_skill_entries_keep_their_order_and_marker ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::a_duplicate_task_tooling_id_is_refused ... ok
[INFO] [stdout] test parser::plan_task_tooling_ast_tests::a_tooling_line_is_metadata_after_a_blank_line_and_refused_after_content ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::a_task_tooling_field_twice_is_refused ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::a_malformed_task_tooling_entry_is_refused_naming_it ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::task_tooling_fields_are_accepted_last_in_the_block ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::unknown_metadata_error_lists_the_task_tooling_fields ... ok
[INFO] [stdout] test parser::plan_tests::a_content_section_round_trips_the_authored_block ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::an_empty_task_tooling_value_or_entry_is_refused ... ok
[INFO] [stdout] test budget::travel_tests::a_retry_spends_one_invocation_and_no_travel ... ok
[INFO] [stdout] test parser::plan_task_tooling_tests::a_task_tooling_field_out_of_order_is_refused ... ok
[INFO] [stdout] test parser::plan_tests::accepts_prior_references_with_and_without_the_kind_keyword ... ok
[INFO] [stdout] test parser::plan_tests::content_sections_keep_their_interior_blank_lines ... ok
[INFO] [stdout] test parser::plan_tests::allows_an_empty_tasks_section ... ok
[INFO] [stdout] test parser::plan_tests::allows_arbitrary_h2_chapters_before_tasks_section ... ok
[INFO] [stdout] test parser::plan_tests::errors_on_malformed_task_heading_in_tasks_section ... ok
[INFO] [stdout] test parser::plan_tests::errors_on_depth_over_structure_max_levels ... ok
[INFO] [stdout] test parser::plan_tests::errors_on_child_id_that_does_not_extend_parent ... ok
[INFO] [stdout] test parser::plan_tests::errors_when_frontmatter_appears_before_rhei_header ... ok
[INFO] [stdout] test parser::plan_tests::error_when_missing_rhei_title ... ok
[INFO] [stdout] test parser::plan_tests::errors_on_unknown_node_kind ... ok
[INFO] [stdout] test parser::plan_tests::errors_when_tasks_section_is_not_final_h2_chapter ... ok
[INFO] [stdout] test parser::plan_tests::parses_plan_frontmatter_metadata ... ok
[INFO] [stdout] test parser::plan_tests::errors_when_missing_tasks_section ... ok
[INFO] [stdout] test parser::plan_tests::errors_when_metadata_after_content ... ok
[INFO] [stdout] test parser::plan_tests::parses_structure_frontmatter_with_custom_node_kinds_and_depth ... ok
[INFO] [stdout] test parser::plan_tests::parses_minimal_plan_with_hierarchical_tasks ... ok
[INFO] [stdout] test parser::plan_tests::parses_named_task_ids_and_named_prior_dependencies ... ok
[INFO] [stdout] test parser::plan_tests::rejects_numeric_task_id_segments_outside_u32_range ... ok
[INFO] [stdout] test parser::plan_tests::rejects_prior_id_segments_with_leading_zeroes_instead_of_partial_match ... ok
[INFO] [stdout] test parser::states_line_tests::a_fenced_states_line_in_an_index_is_content ... ok
[INFO] [stdout] test parser::plan_tests::prior_before_state_is_parse_error ... ok
[INFO] [stdout] test parser::plan_tests::rejects_numeric_task_id_segments_with_leading_zeroes ... ok
[INFO] [stdout] test parser::states_line_tests::a_states_line_in_a_task_body_is_text ... ok
[INFO] [stdout] test parser::workspace_tests::errors_when_workspace_index_frontmatter_appears_before_header ... ok
[INFO] [stdout] test parser::workspace_tests::manifest_content_sections_keep_their_interior_blank_lines ... ok
[INFO] [stdout] test parser::workspace_tests::parses_panta_manifest_header_and_structure ... ok
[INFO] [stdout] test parser::workspace_tests::panta_manifest_rejects_tasks_section ... ok
[INFO] [stdout] test parser::workspace_tests::workspace_index_content_sections_keep_their_interior_blank_lines ... ok
[INFO] [stdout] test parser::plan_tests::parses_task_execution_overrides ... ok
[INFO] [stdout] test parser::workspace_tests::parses_workspace_index_frontmatter_metadata ... ok
[INFO] [stdout] test parser::states_line_tests::index_and_manifest_refuse_the_retired_states_line ... ok
[INFO] [stdout] test parser::workspace_tests::workspace_task_parser_uses_index_structure_for_nested_tasks ... ok
[INFO] [stdout] test parser::states_line_tests::refuses_the_retired_states_line_with_its_line_number ... ok
[INFO] [stdout] test platform::tests::a_printed_remedy_is_spelled_in_the_shell_it_is_offered_to ... ok
[INFO] [stdout] test platform::tests::a_printed_value_is_cmd_quoted_for_a_windows_shell ... ok
[INFO] [stdout] test platform::tests::a_printed_value_is_posix_quoted_for_a_unix_shell ... ok
[INFO] [stdout] test platform::tests::a_string_command_goes_to_sh_dash_c_unchanged ... ok
[INFO] [stdout] test platform::tests::the_printed_remedy_takes_this_platforms_dialect ... ok
[INFO] [stdout] test retired::tests::a_reserved_key_that_is_not_a_record_is_an_error ... ok
[INFO] [stdout] test retired::tests::an_absent_or_empty_record_retires_nothing ... ok
[INFO] [stdout] test retired::tests::reads_both_entry_shapes ... ok
[INFO] [stdout] test platform::tests::a_canonical_windows_path_loses_its_verbatim_prefix ... ok
[INFO] [stdout] test retired::tests::recording_creates_the_record_where_there_was_none ... ok
[INFO] [stdout] test retired::tests::recording_refuses_to_overwrite_a_foreign_value ... ok
[INFO] [stdout] test retired::tests::sibling_segments_are_exact_per_parent ... ok
[INFO] [stdout] test retired::tests::recording_keeps_every_other_key_and_entry ... ok
[INFO] [stdout] test root_access::tests::operator_a_writable_account_heals_the_next_acquisition ... ok
[INFO] [stdout] test parser::workspace_tests::workspace_task_collect_reports_multiple_recoverable_errors_with_task_file_lines ... ok
[INFO] [stdout] test root_access::tests::operator_an_interrupted_lock_open_is_retried_rather_than_degraded ... ok
[INFO] [stdout] test root_access::tests::operator_basin_file_access_retains_all_owners_on_read_only_project ... ok
[INFO] [stdout] test root_access::tests::operator_an_unguarded_hold_still_reads_as_a_reader ... ok
[INFO] [stdout] test root_access::tests::operator_basin_queued_readers_recheck_project_manifest_and_member_access ... ok
[INFO] [stdout] test root_access::tests::operator_degradation_warns_once_per_root ... ok
[INFO] [stdout] test root_access::tests::operator_degraded_shared_access_still_refuses_a_marked_root ... ok
[INFO] [stdout] test root_access::tests::operator_exclusive_refusal_names_the_lock_the_root_and_the_lever ... ok
[INFO] [stdout] test root_access::tests::operator_multiple_roots_are_sorted_and_reader_guards_are_external ... ok
[INFO] [stdout] test budget::travel_tests::an_applied_edge_spends_one_travel_unit_and_one_invocation ... ok
[INFO] [stdout] test root_access::tests::operator_queued_reader_refuses_newly_published_marker ... ok
[INFO] [stdout] test root_access::tests::operator_pending_member_blocks_every_core_loader_class ... ok
[INFO] [stdout] test root_access::tests::operator_root_guard_excludes_an_active_reader ... ok
[INFO] [stdout] test root_access::tests::operator_shared_access_degrades_where_the_lock_cannot_be_created ... ok
[INFO] [stdout] test state_machine::tests::a_broken_link_outside_a_fence_still_fails ... ok
[INFO] [stdout] test state_machine::tests::a_callback_timeout_on_an_edge_without_a_callback_is_warned_about ... ok
[INFO] [stdout] test state_machine::tests::a_consumed_retired_producer_is_reported_once_as_retired ... ok
[INFO] [stdout] test state_machine::tests::a_graph_without_consumes_gets_no_consumes_advisory ... ok
[INFO] [stdout] test state_machine::tests::a_link_inside_a_fenced_content_section_is_not_checked ... ok
[INFO] [stdout] test state_machine::tests::a_link_inside_a_fenced_task_body_is_not_checked ... ok
[INFO] [stdout] test state_machine::tests::a_live_ticket_under_a_retired_id_is_an_error ... ok
[INFO] [stdout] test state_machine::tests::a_malformed_reserved_key_is_an_error ... ok
[INFO] [stdout] test state_machine::tests::a_prior_naming_a_retired_ticket_is_reported_as_retired ... ok
[INFO] [stdout] test state_machine::tests::a_result_block_past_a_short_run_inside_a_fence_is_not_one ... ok
[INFO] [stdout] test state_machine::tests::a_result_block_quoted_in_a_tilde_fence_is_not_a_result_block ... ok
[INFO] [stdout] test state_machine::tests::a_retired_budget_identity_is_never_rebound ... ok
[INFO] [stdout] test state_machine::tests::a_shorter_run_inside_a_longer_fence_does_not_close_it ... ok
[INFO] [stdout] test state_machine::tests::accepts_counted_state_suffix_within_budget ... ok
[INFO] [stdout] test state_machine::tests::accepts_every_scope_and_event_pair ... ok
[INFO] [stdout] test state_machine::tests::accepts_if_condition_in_personality_referencing_declared_input ... ok
[INFO] [stdout] test state_machine::tests::accepts_if_condition_referencing_declared_input ... ok
[INFO] [stdout] test state_machine::tests::accepts_poll_waiting_on_a_person ... ok
[INFO] [stdout] test state_machine::tests::accepts_the_canonical_supervisor ... ok
[INFO] [stdout] test state_machine::tests::accepts_valid_states_and_escaped_spaces ... ok
[INFO] [stdout] test state_machine::tests::accepts_well_formed_poll_state ... ok
[INFO] [stdout] test state_machine::tests::an_absent_withhold_task_tooling_loads_as_not_withholding ... ok
[INFO] [stdout] test state_machine::tests::an_authored_false_withhold_task_tooling_is_kept_as_authored ... ok
[INFO] [stdout] test state_machine::tests::an_identity_binding_that_is_not_retired_is_fine ... ok
[INFO] [stdout] test state_machine::tests::an_inline_code_span_hides_its_link_and_nothing_else ... ok
[INFO] [stdout] test budget::travel_tests::an_applied_self_loop_spends_one_travel_unit ... ok
[INFO] [stdout] test state_machine::tests::an_unclosed_backtick_run_leaves_the_line_alone ... ok
[INFO] [stdout] test state_machine::tests::an_unauthored_state_serialises_without_withhold_task_tooling ... ok
[INFO] [stdout] test state_machine::tests::callback_bound_resolves_edge_then_machine_then_none ... ok
[INFO] [stdout] test state_machine::tests::callback_timeout_parses_at_the_root_and_on_an_edge ... ok
[INFO] [stdout] test state_machine::tests::callback_timeout_refuses_zero_and_malformed_values_at_either_level ... ok
[INFO] [stdout] test state_machine::tests::an_unclosed_fence_runs_to_the_end_of_the_body ... ok
[INFO] [stdout] test state_machine::tests::clamp_projects_is_refused_anywhere_in_a_state_machine_whatever_its_value ... ok
[INFO] [stdout] test state_machine::tests::clamp_projects_refusal_names_the_state_machine_file ... ok
[INFO] [stdout] test state_machine::tests::composes_template_text_before_inline_instructions ... ok
[INFO] [stdout] test state_machine::tests::conditional_control_tokens_need_no_value ... ok
[INFO] [stdout] test state_machine::tests::consumes_advisory_occurs_once_in_each_validation_pass ... ok
[INFO] [stdout] test state_machine::tests::consumes_is_one_graph_level_advisory_for_any_number_of_consumers ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::accepts_a_gating_state_left_only_by_a_wildcard_cancel ... ok
[INFO] [stdout] test state_machine::tests::custom_agent_profile_modes_preserve_declaration_order ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::accepts_a_state_left_only_by_a_wildcard_to_a_non_final_state ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::accepts_an_explicit_edge_to_a_final_state_including_cancellation ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::one_error_names_every_state_that_cannot_be_left ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::names_the_state_a_profile_cut_off_rather_than_the_one_the_walk_began_at ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::rejects_a_chain_of_states_that_together_reach_no_final_state ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::rejects_a_profile_that_narrows_away_the_only_path_out ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::rejects_a_profile_whose_only_way_out_is_a_wildcard_to_a_final_state ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::says_a_self_looping_state_leads_back_to_itself_rather_than_listing_nothing ... ok
[INFO] [stdout] test state_machine::tests::dead_end_states::rejects_a_state_left_only_by_a_wildcard_to_a_final_state ... ok
[INFO] [stdout] test state_machine::tests::detects_missing_state_and_bad_dependency_and_cycle ... ok
[INFO] [stdout] test state_machine::tests::detects_self_cycle ... ok
[INFO] [stdout] test state_machine::tests::detects_two_node_cycle ... ok
[INFO] [stdout] test state_machine::tests::detects_three_node_cycle ... ok
[INFO] [stdout] test state_machine::tests::does_not_warn_for_a_cancelled_step_an_open_prior_or_a_completed_step ... ok
[INFO] [stdout] test state_machine::tests::does_not_warn_when_priors_are_satisfied_or_task_is_open ... ok
[INFO] [stdout] test state_machine::tests::duplicate_sibling_child_id_is_rejected ... ok
[INFO] [stdout] test state_machine::tests::enforces_profile_allowed_on_task_state ... ok
[INFO] [stdout] test state_machine::tests::escaped_braces_need_no_value_and_stay_escaped ... ok
[INFO] [stdout] test state_machine::tests::explains_that_string_loading_cannot_resolve_prompt_templates ... ok
[INFO] [stdout] test state_machine::tests::extract_markdown_links_finds_all_links ... ok
[INFO] [stdout] test state_machine::tests::extract_markdown_links_handles_no_links ... ok
[INFO] [stdout] test state_machine::tests::ignores_non_markdown_files_and_subdirectories ... ok
[INFO] [stdout] test state_machine::tests::hints_that_an_unresolvable_prior_may_be_a_title ... ok
[INFO] [stdout] test state_machine::tests::is_non_file_link_classifies_correctly ... ok
[INFO] [stdout] test budget::travel_tests::two_transactions_racing_for_one_unit_admit_exactly_one ... ok
[INFO] [stdout] test state_machine::tests::link_validation_checks_task_and_subtask_content ... ok
[INFO] [stdout] test state_machine::tests::link_validation_ignores_external_urls ... ok
[INFO] [stdout] test state_machine::tests::link_validation_passes_when_file_exists ... ok
[INFO] [stdout] test state_machine::tests::link_validation_skipped_without_base_path ... ok
[INFO] [stdout] test state_machine::tests::link_validation_reports_missing_file ... ok
[INFO] [stdout] test state_machine::tests::loads_markdown_files_as_prompt_templates ... ok
[INFO] [stdout] test state_machine::tests::loads_profiles_and_node_policy ... ok
[INFO] [stdout] test state_machine::tests::link_validation_strips_fragment_from_file_link ... ok
[INFO] [stdout] test state_machine::tests::loads_state_machine_with_artifact_contracts ... ok
[INFO] [stdout] test state_machine::tests::loads_state_machine_with_models_and_state_selectors ... ok
[INFO] [stdout] test state_machine::tests::loads_state_machine_with_target_selectors ... ok
[INFO] [stdout] test state_machine::tests::missing_state_is_parse_error ... ok
[INFO] [stdout] test state_machine::tests::machine_set_dispatches_per_owning_rhei ... ok
[INFO] [stdout] test state_machine::tests::missing_prompt_templates_directory_is_not_an_error ... ok
[INFO] [stdout] test state_machine::tests::node_policy_overrides_match_type_and_level_before_by_type ... ok
[INFO] [stdout] test state_machine::tests::ok_when_all_dependencies_exist_named_and_numeric ... ok
[INFO] [stdout] test state_machine::tests::no_false_cycle_with_missing_dependency ... ok
[INFO] [stdout] test state_machine::tests::parses_execution_target_with_mode_and_provider ... ok
[INFO] [stdout] test state_machine::tests::passes_on_dag ... ok
[INFO] [stdout] test state_machine::tests::ok_when_all_tasks_have_valid_state ... ok
[INFO] [stdout] test state_machine::tests::ok_when_valid ... ok
[INFO] [stdout] test state_machine::tests::prior_without_state_is_parse_error ... ok
[INFO] [stdout] test state_machine::tests::poll_without_waiting_on_waits_on_no_person ... ok
[INFO] [stdout] test state_machine::tests::personality_stays_inline_only ... ok
[INFO] [stdout] test state_machine::tests::prompt_templates_dir_is_a_sibling_of_the_state_machine ... ok
[INFO] [stdout] test state_machine::tests::rejects_a_supervising_state_without_a_self_loop ... ok
[INFO] [stdout] test state_machine::tests::rejects_absolute_artifact_paths ... ok
[INFO] [stdout] test state_machine::tests::profile_for_returns_none_when_not_declared ... ok
[INFO] [stdout] test state_machine::tests::rejects_an_unknown_execute_on_value ... ok
[INFO] [stdout] test state_machine::tests::rejects_artifact_paths_that_escape_workspace_root ... ok
[INFO] [stdout] test state_machine::tests::rejects_child_prior_to_parent ... ok
[INFO] [stdout] test state_machine::tests::rejects_counted_state_suffix_when_state_has_no_visits ... ok
[INFO] [stdout] test state_machine::tests::rejects_duplicate_artifact_names_in_same_state_field ... ok
[INFO] [stdout] test state_machine::tests::rejects_counted_state_suffix_of_one ... ok
[INFO] [stdout] test state_machine::tests::rejects_empty_prompt_template_file_naming_the_path ... ok
[INFO] [stdout] test state_machine::tests::rejects_descendant_prior_to_ancestor ... ok
[INFO] [stdout] test state_machine::tests::rejects_empty_reference_name ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_on_a_gating_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_on_a_poll_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_on_a_final_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_combined_with_fanout ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_on_a_state_with_no_executor ... ok
[INFO] [stdout] test state_machine::tests::rejects_exit_code_transition_from_non_program_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_explicit_empty_all_targets ... ok
[INFO] [stdout] test state_machine::tests::rejects_if_condition_referencing_undeclared_input ... ok
[INFO] [stdout] test state_machine::tests::rejects_if_condition_with_unsupported_form ... ok
[INFO] [stdout] test state_machine::tests::rejects_execute_on_on_a_program_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_legacy_prompt_templates_yaml_sibling ... ok
[INFO] [stdout] test state_machine::tests::rejects_inline_top_level_prompt_templates_block ... ok
[INFO] [stdout] test state_machine::tests::rejects_nested_template_conditionals ... ok
[INFO] [stdout] test state_machine::tests::rejects_mutually_exclusive_task_execution_overrides ... ok
[INFO] [stdout] test state_machine::tests::rejects_nested_conditionals_inside_template_text ... ok
[INFO] [stdout] test state_machine::tests::rejects_node_policy_by_type_with_reserved_kind ... ok
[INFO] [stdout] test state_machine::tests::rejects_node_policy_default_with_undefined_profile ... ok
[INFO] [stdout] test state_machine::tests::rejects_node_policy_without_profiles ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_on_gating_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_with_blank_waiting_on ... ok
[INFO] [stdout] test state_machine::tests::rejects_non_scalar_and_non_identifier_values ... ok
[INFO] [stdout] test state_machine::tests::rejects_placeholder_without_a_supplied_value ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_with_invalid_interval ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_with_snapshot_inherit ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_with_visits ... ok
[INFO] [stdout] test budget::window_tests::an_account_drawn_on_an_earlier_clock_keeps_the_day_it_already_spent ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_with_zero_max_attempts ... ok
[INFO] [stdout] test state_machine::tests::rejects_poll_without_self_loop ... ok
[INFO] [stdout] test state_machine::tests::rejects_profile_with_initial_not_in_allowed ... ok
[INFO] [stdout] test state_machine::tests::rejects_profile_without_path_to_final_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_profiles_without_node_policy ... ok
[INFO] [stdout] test state_machine::tests::rejects_program_on_gating_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_snapshot_inherit_same_without_effective_target_and_fanout_source_without_target ... ok
[INFO] [stdout] test state_machine::tests::rejects_snapshot_inherit_select_target_all ... ok
[INFO] [stdout] test state_machine::tests::rejects_profile_with_unknown_state_in_allowed ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_initial_true_when_profiles_present ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_machine_with_conflicting_state_model_selectors ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_machine_with_conflicting_target_and_model_selectors ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_machine_with_unknown_all_models_entry ... ok
[INFO] [stdout] test state_machine::tests::rejects_snapshot_inherit_unsupported_compat ... ok
[INFO] [stdout] test state_machine::tests::rejects_snapshot_unknown_keys_in_closed_objects ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_machine_with_unknown_state_model ... ok
[INFO] [stdout] test state_machine::tests::rejects_prompt_templates_path_that_is_a_file ... ok
[INFO] [stdout] test state_machine::tests::rejects_state_machine_with_zero_visits ... ok
[INFO] [stdout] test state_machine::tests::rejects_task_override_on_fanout_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_task_override_on_target_locked_state ... ok
[INFO] [stdout] test state_machine::tests::rejects_task_model_not_declared_by_machine ... ok
[INFO] [stdout] test state_machine::tests::rejects_unresolvable_and_ambiguous_snapshot_inherit ... ok
[INFO] [stdout] test state_machine::tests::rejects_version_three_machine_without_profiles_and_node_policy ... ok
[INFO] [stdout] test state_machine::tests::rejects_task_state_outside_profile_allowed ... ok
[INFO] [stdout] test state_machine::tests::rejects_unknown_template_reference_naming_the_declared_ones ... ok
[INFO] [stdout] test state_machine::tests::reports_invalid_state_with_allowed_list ... ok
[INFO] [stdout] test state_machine::tests::reports_duplicate_prior_references ... ok
[INFO] [stdout] test state_machine::tests::reports_prior_kind_mismatch ... ok
[INFO] [stdout] test state_machine::tests::reports_missing_named_dependency ... ok
[INFO] [stdout] test state_machine::tests::reports_missing_numeric_dependency ... ok
[INFO] [stdout] test state_machine::tests::reports_undeclared_prior_kind_keyword ... ok
[INFO] [stdout] test state_machine::tests::session_continuation_is_a_preserved_closed_enum ... ok
[INFO] [stdout] test state_machine::tests::snapshot_prior_is_accepted_for_plan_aware_validation ... ok
[INFO] [stdout] test state_machine::tests::result_block_must_match_enclosing_task ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_empty_list_preserved_as_clear_marker ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_rejected_on_gating_state ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_accepts_string_and_object_forms ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_rejected_on_program_state ... ok
[INFO] [stdout] test state_machine::tests::result_block_on_non_terminal_task_is_invalid_even_when_file_exists ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_rejects_both_command_and_url ... ok
[INFO] [stdout] test state_machine::tests::state_skills_rejected_on_terminal_state ... ok
[INFO] [stdout] test state_machine::tests::state_mcp_servers_rejects_duplicate_ids ... ok
[INFO] [stdout] test state_machine::tests::string_form_reference_selects_a_template ... ok
[INFO] [stdout] test state_machine::tests::state_without_template_keeps_inline_instructions_only ... ok
[INFO] [stdout] test state_machine::tests::target_slug_preserves_dot_underscore_and_detects_fanout_collisions ... ok
[INFO] [stdout] test state_machine::tests::result_block_accepts_legacy_rhei_local_link_and_qualified_link ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_deduplicates_missing_producers_and_collects_independent_errors ... ok
[INFO] [stdout] test state_machine::tests::task_export_relationships_classify_a_proposed_cycle ... ok
[INFO] [stdout] test state_machine::tests::task_export_relationships_have_a_shared_structured_classification ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_keeps_unused_and_valid_exports_silent ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_rejects_an_unprovided_name_with_available_exports ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_preserves_the_single_prior_coherence_warning ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_requires_the_producer_as_a_direct_prior ... ok
[INFO] [stdout] test state_machine::tests::template_condition_rejects_mcp_not_declared ... ok
[INFO] [stdout] test budget::window_tests::an_unparseable_clock_is_an_error_naming_the_variable_not_a_fallback ... ok
[INFO] [stdout] test state_machine::tests::template_condition_accepts_mcp_and_skill_when_declared ... ok
[INFO] [stdout] test state_machine::tests::task_export_validation_reports_self_and_ancestor_consumption_once_each ... ok
[INFO] [stdout] test state_machine::tests::terminal_parent_with_non_terminal_subtask_errors ... ok
[INFO] [stdout] test state_machine::tests::the_shared_predicate_answers_every_shape_of_supervisor ... ok
[INFO] [stdout] test state_machine::tests::tilde_fences_are_code_and_do_not_close_backtick_blocks ... ok
[INFO] [stdout] test state_machine::tests::the_canonical_supervisor_warns_about_nothing ... ok
[INFO] [stdout] test state_machine::tests::template_text_is_checked_against_the_selecting_state_inputs ... ok
[INFO] [stdout] test state_machine::tests::transition_mcp_unavailable_accepts_true_and_list ... ok
[INFO] [stdout] test state_machine::tests::transition_mcp_unavailable_rejects_false ... ok
[INFO] [stdout] test state_machine::tests::transition_mcp_unavailable_rejects_on_program_state ... ok
[INFO] [stdout] test state_machine::tests::unit_type_validate_returns_ok_report ... ok
[INFO] [stdout] test state_machine::tests::validation_report_extend_merges_errors_and_warnings ... ok
[INFO] [stdout] test state_machine::tests::validates_node_policy_against_plan_structure ... ok
[INFO] [stdout] test state_machine::tests::treats_non_identifier_braces_as_literal ... ok
[INFO] [stdout] test state_machine::tests::valid_subtask_numbering_ok ... ok
[INFO] [stdout] test state_machine::tests::warns_for_a_prior_in_a_custom_cancellation_role_state ... ok
[INFO] [stdout] test state_machine::tests::warns_when_gating_state_declares_agent ... ok
[INFO] [stdout] test state_machine::tests::warns_when_a_self_loop_has_neither_a_budget_nor_a_counted_exit ... ok
[INFO] [stdout] test state_machine::tests::warns_when_an_open_task_waits_on_a_cancelled_prior ... ok
[INFO] [stdout] test state_machine::tests::warns_when_a_task_completed_ahead_of_its_prior ... ok
[INFO] [stdout] test state_machine::tests::warns_when_neither_visits_nor_an_exhaustion_edge_is_declared ... ok
[INFO] [stdout] test state_machine::tests::warns_when_no_transition_finishes_the_supervisor ... ok
[INFO] [stdout] test state_machine::tests::withhold_task_tooling_must_be_a_boolean ... ok
[INFO] [stdout] test state_machine::tests::warns_when_the_only_open_descendants_exit_is_cancellation ... ok
[INFO] [stdout] test state_machine::tests::withhold_task_tooling_rejected_on_final_state ... ok
[INFO] [stdout] test state_machine::tests::withhold_task_tooling_rejected_on_gating_state ... ok
[INFO] [stdout] test state_machine::tests::withhold_task_tooling_rejected_on_program_state ... ok
[INFO] [stdout] test state_machine::tests::warns_when_the_open_descendants_edge_reaches_no_final_state ... ok
[INFO] [stdout] test state_machine::tests::withhold_task_tooling_true_loads_as_withholding ... ok
[INFO] [stdout] test transition_history::tests::operator_history_pairs_coexist_with_legacy_and_unknown_metadata ... ok
[INFO] [stdout] test transition_history::tests::operator_history_rejects_lone_reversed_mismatching_nonadjacent_and_duplicate_pairs ... ok
[INFO] [stdout] test budget::window_tests::the_clock_variable_supplies_the_instant_admission_reckons_by ... ok
[INFO] [stdout] test state_machine::tests::terminal_parent_with_terminal_subtasks_is_valid ... ok
[INFO] [stdout] test transition_history::tests::operator_history_rejects_noncanonical_payloads ... ok
[INFO] [stdout] test workspace::qualify::tests::a_path_resolving_to_no_name_blames_resolution ... ok
[INFO] [stdout] test workspace::qualify::tests::current_directory_derives_the_resolved_directory_name ... ok
[INFO] [stdout] test tokens::tests::every_field_read_as_metadata_is_in_the_set ... ok
[INFO] [stdout] test budget::window_tests::the_day_key_is_the_utc_calendar_day_of_the_instant ... ok
[INFO] [stdout] test tokens::tests::every_field_in_the_set_reads_back_as_itself ... ok
[INFO] [stdout] test root_access::tests::operator_active_reader_survives_a_moved_state_home ... ok
[INFO] [stdout] test root_access::tests::operator_queued_reader_survives_a_moved_state_home ... ok
[INFO] [stdout] test root_access::tests::operator_basin_queued_readers_survive_a_moved_state_home ... ok
[INFO] [stdout] test callback::bounded::tests::without_a_bound_a_slow_callback_is_waited_for ... ok
[INFO] [stdout] test platform::process_tree::tests::the_grace_waits_for_the_whole_group ... ok
[INFO] [stdout] test callback::bounded::tests::a_callback_that_exits_while_a_background_child_holds_its_stdout_is_bounded ... ok
[INFO] [stdout] test callback::bounded::tests::a_callback_that_never_reads_a_payload_larger_than_the_pipe_is_still_bounded ... ok
[INFO] [stdout] test callback::bounded::tests::expiry_is_a_failed_result_naming_the_bound_as_authored ... ok
[INFO] [stdout] test platform::process_tree::tests::stopping_a_tree_reaches_a_grandchild ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- platform::process_tree::tests::stopping_a_tree_reaches_a_grandchild stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'platform::process_tree::tests::stopping_a_tree_reaches_a_grandchild' (1089) panicked at src/platform/process_tree.rs:343:9:
[INFO] [stdout] grandchild 1124 outlived its tree
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58e3dc742d71 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58e3dc75a60a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x58e3dc74768c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58e3dc719a86 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58e3dc7385c9 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x58e3dc5d9520 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x58e3dc7388f2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58e3dc719b32 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58e3dc712379 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58e3dc71aafd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x58e3dc75adec - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58e3dc45175a - <rhei_core[d7b35a7bfefda394]::platform::process_tree::tests::stopping_a_tree_reaches_a_grandchild::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x58e3dc5cc80b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   13:     0x58e3dc5d9e75 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   14:     0x58e3dc5d3734 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x58e3dc5dcfd2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x58e3dc741cf9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x7bb6c7235dfa - <unknown>
[INFO] [stdout]   18:     0x7bb6c72c93d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     platform::process_tree::tests::stopping_a_tree_reaches_a_grandchild
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 471 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.57s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096", kill_on_drop: false }`
[INFO] [stdout] 9421e47b381a2e344bddbd46bfd09561472b6f695dc82863d6142abf31544096
