[INFO] fetching crate devflow 2.12.0...
[INFO] testing devflow-2.12.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate devflow 2.12.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate devflow 2.12.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate devflow 2.12.0
[INFO] tweaked toml for crates.io crate devflow 2.12.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate devflow 2.12.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate devflow 2.12.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51
[INFO] running `Command { std: "docker" "start" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", 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" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", 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" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling devflow v2.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling git-conventional v1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling devflow-core v2.12.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 56.83s
[INFO] running `Command { std: "docker" "inspect" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", 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" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling devflow-core v2.12.0
[INFO] [stderr]    Compiling devflow v2.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 51.91s
[INFO] running `Command { std: "docker" "inspect" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", 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" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling devflow v2.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 33.33s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/devflow/780071adadacf0d8/out/devflow-780071adadacf0d8)
[INFO] [stdout] 
[INFO] [stdout] running 363 tests
[INFO] [stdout] test commands::tests::describe_worktree_dir_infers_phase_and_agent ... ok
[INFO] [stdout] test commands::tests::cron_hint_line_appends_sanitized_reset_when_retry_after_present ... ok
[INFO] [stdout] test commands::tests::all_roots_row_includes_gate_with_non_numeric_timestamp ... ok
[INFO] [stdout] test commands::tests::default_logs_phase_errors_with_nothing_to_show ... ok
[INFO] [stdout] test commands::tests::cron_instruction_hints_include_hermes_command_per_phase ... ok
[INFO] [stdout] test commands::tests::default_logs_phase_prefers_single_active_state ... ok
[INFO] [stdout] test commands::tests::cron_hint_line_never_emits_the_unsupported_devflow_intake_flag ... ok
[INFO] [stdout] test commands::tests::cron_hint_line_command_quoting_roundtrips_through_shell_for_space_and_apostrophe_paths ... ok
[INFO] [stdout] test commands::tests::cron_hint_line_omits_reset_fragment_when_retry_after_empty ... ok
[INFO] [stdout] test commands::tests::default_logs_phase_is_ambiguous_with_two_active_states ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_is_silent_when_monitor_alive_and_agent_dead ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_is_silent_when_monitor_pid_is_unrecorded ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_ignores_dead_agent_when_stopped ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_flags_stage_event_drift ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_flags_gate_pending_without_open_gate ... ok
[INFO] [stdout] test commands::tests::changelog_version_check_flags_mismatch_and_passes_on_agreement ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_flags_missing_feature_branch ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_flags_orphan_open_gate ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_ignores_dead_monitor_when_stopped ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_ordering_is_input_order_independent ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_returns_no_findings_when_all_agree ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_reports_stuck_when_monitor_and_agent_are_both_dead ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::doctor_reports_no_active_phases_when_idle ... ok
[INFO] [stdout] test commands::tests::a_corrupt_state_file_warns_while_an_absent_one_is_silent ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::reconcile_phase_flags_dead_agent_at_agent_stage ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::doctor_reports_gate_pending_without_gate_file ... ok
[INFO] [stdout] test commands::tests::gate_respond_requires_stage_when_ambiguous_and_errors_when_none_open ... ok
[INFO] [stdout] test commands::tests::gate_approve_arg_parsing_accepts_positional_stage ... ok
[INFO] [stdout] test commands::tests::gate_show_arg_parsing_accepts_phase_and_optional_stage ... ok
[INFO] [stdout] test commands::tests::gate_respond_auto_resolves_single_open_gate ... ok
[INFO] [stdout] test commands::tests::default_logs_phase_falls_back_to_newest_capture_file ... ok
[INFO] [stdout] test commands::tests::gate_show_errors_asking_for_stage_with_several_open_gates ... ok
[INFO] [stdout] test commands::tests::gate_show_errors_naming_gate_list_when_no_open_gate ... ok
[INFO] [stdout] test commands::tests::gate_show_auto_resolves_single_open_gate ... ok
[INFO] [stdout] test commands::tests::gate_show_renders_full_untruncated_sanitized_context ... ok
[INFO] [stdout] test commands::tests::gate_sweep_dry_run_does_not_write_a_response ... ok
[INFO] [stdout] test commands::tests::liveness_matrix_covers_all_four_rows ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::doctor_json_is_a_single_object_with_environment_and_reconciliation ... ok
[INFO] [stdout] test commands::tests::liveness_unknown_when_no_monitor_recorded ... ok
[INFO] [stdout] test commands::tests::opencode_subagent_dispatch_check_renders_both_arms ... ok
[INFO] [stdout] test commands::tests::liveness_treats_zero_and_overflow_pids_as_dead ... ok
[INFO] [stdout] test commands::tests::monitor_pid_persisted_for_one_phase_does_not_disturb_a_sibling ... ok
[INFO] [stdout] test commands::tests::gate_sweep_emits_gate_reaped_event_on_reap ... ok
[INFO] [stdout] test commands::tests::gate_sweep_skips_already_responded_gate_without_clobbering ... ok
[INFO] [stdout] test commands::tests::gate_sweep_without_reap_strays_flag_ignores_a_live_stray ... ok
[INFO] [stdout] test commands::tests::gate_sweep_reap_strays_dry_run_discovers_a_real_stray_without_signalling ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::collect_planning_doc_findings_missing_files_yield_no_findings_not_error ... ok
[INFO] [stdout] test commands::tests::phase_validate_failures_reset_when_the_phase_completes ... ok
[INFO] [stdout] test commands::tests::phase_validate_failures_survive_a_forced_restart ... ok
[INFO] [stdout] test commands::tests::pi_subagent_dispatch_check_renders_both_arms ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::doctor_json_body_carries_planning_doc_staleness_as_a_third_key ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::parse_planning_doc_versions_accepts_v_prefixed_cells ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::parse_planning_doc_versions_skips_non_semver_cells ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_downgrades_pre_cutoff_mismatch_to_warn ... ok
[INFO] [stdout] test commands::tests::evidence_require_shipped_failure_message_is_single_line_and_names_phase ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_normalizes_bare_cell_to_v_prefixed_tag ... ok
[INFO] [stdout] test commands::tests::evidence_require_shipped_names_stopped_at_rather_than_generic_not_shipped ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_numeric_cutoff_is_not_lexicographic ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::render_planning_doc_findings_json_is_an_array_of_objects ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_skips_a_malformed_row_defensively ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::render_planning_doc_text_lists_each_finding_detail ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::render_planning_doc_text_reports_consistent_when_no_findings ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_flags_problem_for_unreachable_post_cutoff_version ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::parse_semver_rejects_ranges_and_em_dash ... ok
[INFO] [stdout] test commands::tests::print_capture_from_tracks_offsets_across_appends ... ok
[INFO] [stdout] test commands::tests::evidence_require_shipped_exits_ok_iff_the_phase_has_shipped ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::reconcile_planning_docs_produces_no_finding_when_tag_is_reachable ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_dry_run_never_signals ... ok
[INFO] [stdout] test commands::tests::doctor_includes_hermes_check_in_the_seam ... ok
[INFO] [stdout] test commands::tests::doctor_includes_antigravity_check_in_the_seam ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_refuses_a_candidate_younger_than_the_minimum_age ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_refuses_a_dead_pid_as_identity_mismatch_before_the_age_check_runs ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_refuses_on_identity_mismatch_without_signalling ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_clears_a_real_child_with_verified_death ... ok
[INFO] [stdout] test commands::tests::recovery_hints_empty_for_healthy ... ok
[INFO] [stdout] test commands::tests::recovery_hints_includes_advance_when_stuck_and_gate_pending ... ok
[INFO] [stdout] test commands::tests::doctor_reconciliation::doctor_is_read_only_on_a_mismatched_project ... ok
[INFO] [stdout] test commands::tests::recovery_hints_includes_resume_for_stuck ... ok
[INFO] [stdout] test commands::tests::render_gate_age_unknown_for_non_numeric_timestamp ... ok
[INFO] [stdout] test commands::tests::render_gate_age_marks_escalated_gate_urgent ... ok
[INFO] [stdout] test commands::tests::render_gate_age_no_marker_for_fresh_gate ... ok
[INFO] [stdout] test commands::tests::stage_launched_ts_none_without_event ... ok
[INFO] [stdout] test commands::tests::render_stage_progress_line_omits_age_without_stage_launched_event ... ok
[INFO] [stdout] test commands::tests::rollover_offset_resets_on_shrunken_capture ... ok
[INFO] [stdout] test commands::tests::status_shows_pending_gate_prominently ... ok
[INFO] [stdout] test commands::tests::stage_launched_ts_reflects_event_age_not_phase_started_at ... ok
[INFO] [stdout] test commands::tests::stop_is_a_success_no_op_with_no_gate_and_no_lock ... ok
[INFO] [stdout] test commands::tests::stop_is_a_success_no_op_when_the_lock_names_a_dead_pid ... ok
[INFO] [stdout] test commands::tests::stop_never_treats_monitor_pid_as_a_signalling_target ... ok
[INFO] [stdout] test commands::tests::stop_refuses_to_signal_a_live_pid_that_fails_the_identity_check ... ok
[INFO] [stdout] test commands::tests::stop_signals_the_holder_when_the_recorded_identity_matches ... ok
[INFO] [stdout] test commands::tests::stray_finding_detail_states_only_what_was_checked ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::build_stray_process_findings_is_empty_for_no_strays ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::build_stray_process_findings_names_advance_child_layer ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::build_stray_process_findings_names_pid_layer_and_repair ... ok
[INFO] [stdout] test commands::tests::stop_refuses_when_the_recorded_start_time_does_not_match ... ok
[INFO] [stdout] test commands::tests::status_reading_monitor_liveness_writes_no_state_and_no_event ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::render_stray_process_text_is_empty_when_no_strays ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::render_stray_process_text_names_pid_and_repair_when_present ... ok
[INFO] [stdout] test commands::tests::workflow_started_payload_carries_build_provenance ... ok
[INFO] [stdout] test config_parse::tests::max_unattended_age_defaults_on_explicit_zero ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::doctor_json_body_carries_stray_processes_as_a_fourth_key ... ok
[INFO] [stdout] test config_parse::tests::max_unattended_age_defaults_on_unparsable ... ok
[INFO] [stdout] test config_parse::tests::max_unattended_age_defaults_when_absent ... ok
[INFO] [stdout] test config_parse::tests::max_unattended_age_parses_explicit_value ... ok
[INFO] [stdout] test config_parse::tests::parse_checkout_lock_timeout_defaults_and_parses ... ok
[INFO] [stdout] test config_parse::tests::parse_gate_timeout_env_override ... ok
[INFO] [stdout] test config_parse::tests::sweep_threshold_is_not_shorter_than_the_gate_poll_timeout ... ok
[INFO] [stdout] test config_parse::tests::parse_foreground_gate_timeout_env_override ... ok
[INFO] [stdout] test parallel::tests::pairs_default_all_to_claude_without_agents ... ok
[INFO] [stdout] test parallel::tests::pairs_default_missing_agents_to_claude ... ok
[INFO] [stdout] test parallel::tests::pairs_match_agents_positionally ... ok
[INFO] [stdout] test parallel::tests::pairs_reject_invalid_phase ... ok
[INFO] [stdout] test parallel::tests::pairs_reject_more_agents_than_phases ... ok
[INFO] [stdout] test parallel::tests::retry_after_from_reason_strips_prefix ... ok
[INFO] [stdout] test commands::tests::phase_artifact_on_base_detects_context_and_fails_open ... ok
[INFO] [stdout] test commands::tests::phase_artifact_probe_reads_the_supplied_base_not_the_default_trunk ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::tag_exists_and_reachable_false_for_a_missing_tag ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::collect_planning_doc_findings_reconciles_against_main ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::tag_exists_and_reachable_true_for_a_tagged_ancestor ... ok
[INFO] [stdout] test commands::tests::no_worktree_start_forks_the_feature_branch_from_the_configured_base ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::tag_exists_and_reachable_false_for_a_tag_unreachable_from_base ... ok
[INFO] [stdout] test pipeline_gate::tests::ship_override_abort_routes_through_abort ... ok
[INFO] [stdout] test commands::tests::stray_process_finding::doctor_finds_a_real_stray_and_never_signals_it_across_two_runs ... ok
[INFO] [stdout] test commands::tests::ensure_base_is_a_local_branch_rejects_commit_ish_that_is_not_a_local_branch ... ok
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test commands::tests::planning_doc_staleness::tag_exists_and_reachable_resolves_caller_root_under_a_hostile_git_dir ... test pipeline_gate::tests::ship_override_refuses_when_lock_contended ... ok
[INFO] [stdout] test pipeline_gate::tests::ship_override_refuses_when_no_response_written ... ok
[INFO] [stdout] ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 362 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] test pipeline_gate::tests::ship_override_refuses_when_not_at_ship_stage ... ok
[INFO] [stdout] test pipeline_gate::tests::ship_override_refuses_when_response_already_acked ... ok
[INFO] [stdout] test commands::tests::planning_doc_staleness::tag_exists_and_reachable_resolves_caller_root_under_a_hostile_git_dir ... ok
[INFO] [stdout] test parallel::tests::ensure_phase_worktree_forks_from_the_supplied_base ... ok
[INFO] [stdout] test pipeline_gate::tests::until_stop_never_emits_workflow_shipped_and_ship_evidence_reports_not_shipped ... ok
[INFO] [stdout] test pipeline_gate::tests::advance_ship_success_runs_finish_workflow ... ok
[INFO] [stdout] test pipeline_gate::tests::ship_override_advances_via_written_response ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_evaluated_emits_wire_status_and_decided_by_layer_for_resource_killed ... ok
[INFO] [stdout] test pipeline_gate::tests::advance_ship_success_emits_workflow_shipped_and_ship_evidence_reports_shipped ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_with_confirmed_checkpoint_and_no_session_id_falls_through ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_with_declared_checkpoint_but_unreported_gate_falls_through ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_at_checkpoint_resume_ceiling_falls_through_to_generic_gate ... ok
[INFO] [stdout] test pipeline_gate::tests::concurrent_ship_advances_finish_both_phases_independently ... ok
[INFO] [stdout] test pipeline_gate::tests::consecutive_failures_are_independent_across_phases ... ok
[INFO] [stdout] test pipeline_gate::tests::repeated_code_to_validate_transition_is_idempotent_on_the_counter ... ok
[INFO] [stdout] test pipeline_launch::tests::auto_chain_eligibility_is_code_and_auto_mode_only ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_with_non_claude_agent_never_resumes ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_without_declared_checkpoint_falls_through_to_generic_gate ... ok
[INFO] [stdout] test pipeline_launch::tests::auto_chain_guard_antigravity_engages_on_auto_code ... ok
[INFO] [stdout] test pipeline_launch::tests::auto_chain_flag_repaired_event_is_absent_on_a_clean_launch ... ok
[INFO] [stdout] test pipeline_gate::tests::abort_cleans_up_gate_files_so_a_later_gate_does_not_reuse_stale_response ... ok
[INFO] [stdout] test pipeline_launch::tests::canary_launcher_for_selects_antigravity_canary ... ok
[INFO] [stdout] test pipeline_gate::tests::finalization_retry_gate_never_auto_approves_even_with_yes_ship_set ... ok
[INFO] [stdout] test pipeline_launch::tests::auto_chain_flag_repaired_event_names_the_entry_point_that_found_the_leak ... ok
[INFO] [stdout] test pipeline_gate::tests::terminal_merge_failure_reopens_actionable_gate_and_never_reports_finished ... ok
[INFO] [stdout] test commands::tests::a_deleted_root_contributes_nothing_to_the_reachable_set ... ok
[INFO] [stdout] test pipeline_launch::tests::code_unknown_does_not_transition_to_validate ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_reaps_when_the_floor_is_zero ... ok
[INFO] [stdout] test commands::tests::reap_stray_candidates_escalates_to_kill_for_a_term_ignoring_child ... ok
[INFO] [stdout] test pipeline_gate::tests::ship_override_bounds_foreground_wait_on_terminal_hook_failure ... ok
[INFO] [stdout] test pipeline_gate::tests::transition_resets_infra_failures ... ok
[INFO] [stdout] test pipeline_launch::tests::absent_canary_refuses_to_launch ... ok
[INFO] [stdout] test pipeline_launch::tests::legacy_launch_flag_forces_the_single_document_path ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_with_worktree_declared_checkpoint_reads_the_execution_root ... ok
[INFO] [stdout] test pipeline_launch::tests::antigravity_canary_outcome_emits_antigravity_provenance ... ok
[INFO] [stdout] test pipeline_launch::tests::canary_gate_only_applies_to_the_stream_launch_path ... ok
[INFO] [stdout] test pipeline_launch::tests::canary_gate_still_fires_for_a_widened_stage_without_the_opt_out ... ok
[INFO] [stdout] test pipeline_launch::tests::pi_resolves_to_legacy_launch ... ok
[INFO] [stdout] test pipeline_launch::tests::canary_outcome_is_persisted_and_emitted ... ok
[INFO] [stdout] test pipeline_launch::tests::canary_runs_once_per_run ... ok
[INFO] [stdout] test pipeline_launch::tests::failed_relaunch_preserves_the_phase_cron_instructions_record ... ok
[INFO] [stdout] test pipeline_launch::tests::launch_stage_inner_clears_monitor_pid_on_early_failure ... ok
[INFO] [stdout] test pipeline_launch::tests::launch_stage_inner_refuses_at_code_when_the_canary_cannot_confirm ... ok
[INFO] [stdout] test pipeline_launch::tests::launch_stage_inner_resets_checkpoint_resumes_counter ... ok
[INFO] [stdout] test pipeline_launch::tests::launch_stage_inner_stamps_the_validate_dispatch_nonce_with_its_baseline ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 65, stage define, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test pipeline_launch::tests::launch_stage_persists_monitor_pid_for_reload ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 80, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] unattended-launch prerequisites — phase 80, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_from_a_rate_limited_state_relaunches ... ok
[INFO] [stdout] test pipeline_launch::tests::legacy_launch_is_off_by_default ... ok
[INFO] [stdout] test pipeline_launch::tests::legacy_launch_skips_the_delivery_canary ... ok
[INFO] [stdout] test pipeline_launch::tests::legacy_launch_use_is_recorded_in_provenance ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 81, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_refuses_auto_mode_handoff_that_would_fail_the_later_unattended_launch_check ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 76, stage define, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test pipeline_launch::tests::parse_failure_does_not_trigger_a_fallback ... ok
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_refuses_before_touching_state_when_target_cannot_run_the_stage ... ok
[INFO] [stdout] test pipeline_launch::tests::relaunch_checkpoint_session_does_not_change_stage ... ok
[INFO] [stdout] test pipeline_launch::tests::stream_launch_includes_antigravity_ignores_claude_legacy_opt_out ... ok
[INFO] [stdout] test pipeline_launch::tests::stream_launch_includes_antigravity_on_stream_stages ... ok
[INFO] [stdout] test pipeline_launch::tests::stream_launch_includes_antigravity_resolves_to_pipe_owning ... ok
[INFO] [stdout] test pipeline_launch::tests::relaunch_checkpoint_session_emits_exactly_one_audit_event ... ok
[INFO] [stdout] test pipeline_outcomes::tests::a_checkout_between_dispatches_does_not_read_as_authored_this_run ... ok
[INFO] [stdout] test pipeline_launch::tests::relaunch_checkpoint_session_increments_and_persists_counter ... ok
[INFO] [stdout] test pipeline_launch::tests::resume_clears_stop_marker_and_advances_past_stop_point ... ok
[INFO] [stdout] test pipeline_launch::tests::resume_does_not_clear_a_persisted_legacy_launch ... ok
[INFO] [stdout] test pipeline_outcomes::tests::an_uncaptured_baseline_does_not_claim_an_inherited_artifact ... ok
[INFO] [stdout] test pipeline_outcomes::tests::both_dispatch_directions_are_demonstrated_in_one_run ... ok
[INFO] [stdout] test pipeline_launch::tests::resume_re_marks_stopped_when_launch_stage_fails_outright ... ok
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_allows_plan_stage ... ok
[INFO] [stdout] test pipeline_launch::tests::legacy_launch_env_var_is_parsed_as_a_bool ... ok
[INFO] [stdout] test pipeline_outcomes::tests::classify_validate_outcome_sweeps_all_forty_two_cells ... ok
[INFO] [stdout] test pipeline_outcomes::tests::consecutive_failures_increment_saturates ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 79, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] unattended-launch prerequisites — phase 79, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_preserves_every_state_field_except_agent_and_monitor_pid ... ok
[INFO] [stdout] test pipeline_outcomes::tests::content_hooks_target_the_worktree_while_terminal_hooks_stay_on_project_root ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 74, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] unattended-launch prerequisites — phase 74, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_with_agent_hands_off_and_relaunches_under_the_new_driver ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 77, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_with_same_agent_is_an_ordinary_idempotent_resume ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 68, stage define, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test pipeline_launch::tests::resume_without_a_cap_is_unchanged ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 75, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test pipeline_launch::tests::resume_without_agent_leaves_the_saved_agent_untouched ... ok
[INFO] [stdout] test pipeline_launch::tests::unverified_canary_refuses_to_launch_with_a_distinct_message ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_absent_verdict_is_ambiguous_only_when_layer0_decided ... ok
[INFO] [stdout] test pipeline_outcomes::tests::a_passing_validate_at_the_ceiling_explains_why_it_gated ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ambiguous_gate_loop_back_respects_the_mid_arc_check ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_disagreement_gates_immediately ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_gaps_is_ambiguous_only_when_layer0_decided ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_no_verdict_gates_immediately ... ok
[INFO] [stdout] test pipeline_outcomes::tests::an_idempotent_rewrite_is_authored_not_inherited ... ok
[INFO] [stdout] test pipeline_outcomes::tests::gate_context_rendering_neutralizes_all_controls_and_obeys_limit ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 67, stage define, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test pipeline_launch::tests::resume_preserves_unfired_until_cap ... ok
[INFO] [stdout] test pipeline_outcomes::tests::grafted_failure_shape_gates_instead_of_shipping ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ceiling_clause_appears_only_at_the_ceiling_even_in_supervise_mode ... ok
[INFO] [stdout] test pipeline_outcomes::tests::handle_ship_outcome_with_yes_ship_auto_approves_exactly_once_with_attribution ... ok
[INFO] [stdout] test pipeline_outcomes::tests::checkout_hooks_skip_instead_of_running_unserialized_on_lock_timeout ... ok
[INFO] [stdout] test pipeline_outcomes::tests::checkout_hooks_merge_into_the_persisted_base_not_the_ambient_default ... ok
[INFO] [stdout] test pipeline_outcomes::tests::infra_ceiling_aborts_instead_of_gating ... ok
[INFO] [stdout] test pipeline_outcomes::tests::consecutive_failures_reaches_ceiling_across_cycles ... ok
[INFO] [stdout] test pipeline_outcomes::tests::non_success_status_never_classifies_as_passed_even_with_verdict_pass ... ok
[INFO] [stdout] test pipeline_outcomes::tests::evaluate_agent_result_with_real_git_and_empty_branch_still_reports_failed ... ok
[INFO] [stdout] test pipeline_outcomes::tests::evaluate_agent_result_with_unrunnable_git_does_not_report_failed ... ok
[INFO] [stdout] test pipeline_outcomes::tests::evaluate_layer2_unrunnable_git_falls_through_to_layer3 ... ok
[INFO] [stdout] test pipeline_outcomes::tests::evaluate_layer2_unrunnable_git_still_classifies_exit_137_as_resource_killed ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_agreement_advances_to_ship ... ok
[INFO] [stdout] test pipeline_outcomes::tests::primary_loop_rate_limited_writes_single_agent_cron_instructions ... ok
[INFO] [stdout] test pipeline_outcomes::tests::rate_limited_at_infra_ceiling_stops_resuming_and_aborts ... ok
[INFO] [stdout] test pipeline_outcomes::tests::handle_ship_outcome_without_yes_ship_writes_gate_but_no_response ... ok
[INFO] [stdout] test pipeline_outcomes::tests::rate_limited_with_unparseable_retry_hint_gates_instead_of_stalling_silently ... ok
[INFO] [stdout] test pipeline_outcomes::tests::resource_killed_on_code_bumps_infra_failures_not_consecutive_failures ... ok
[INFO] [stdout] test pipeline_outcomes::tests::resource_killed_on_validate_bumps_infra_not_consecutive_failures ... ok
[INFO] [stdout] test pipeline_outcomes::tests::external_verify_cycles_reach_ceiling_without_unbounded_loop ... ok
[INFO] [stdout] test pipeline_outcomes::tests::failure_gate_loop_back_respects_the_mid_arc_check ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ship_review_failed_loops_to_code ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ship_review_failed_uses_audit_fix ... ok
[INFO] [stdout] test pipeline_outcomes::tests::genuine_gaps_loop_back_still_issues_gaps_only ... ok
[INFO] [stdout] test pipeline_outcomes::tests::stale_verification_artifact_dispatches_full_execute ... ok
[INFO] [stdout] test pipeline_outcomes::tests::state_new_alone_never_derives_yes_ship_from_config ... ok
[INFO] [stdout] test pipeline_outcomes::tests::loop_back_reason_is_distinct_when_no_commit_baseline_exists ... ok
[INFO] [stdout] test pipeline_outcomes::tests::mid_arc_loop_back_issues_plain_execute_command ... ok
[INFO] [stdout] test pipeline_outcomes::tests::truncate_reason_caps_long_reasons_and_keeps_short_ones ... ok
[INFO] [stdout] test pipeline_outcomes::tests::non_validate_failure_fires_gate_and_hook ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_failure_threshold_forces_gate_then_aborts ... ok
[INFO] [stdout] test pipeline_outcomes::tests::terminal_hook_failure_stops_before_branch_cleanup ... ok
[INFO] [stdout] test pipeline_outcomes::tests::run_checkout_hooks_keeps_changelog_in_sync_with_tag_when_no_version_file ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ship_agent_failed_fires_gate ... ok
[INFO] [stdout] test pipeline_outcomes::tests::stage_failure_retry_cleans_stale_response ... ok
[INFO] [stdout] test pipeline_outcomes::tests::verdict_pass_classifies_as_passed_regardless_of_layer ... ok
[INFO] [stdout] test pipeline_outcomes::tests::verification_freshness_truth_table_is_exhaustive ... ok
[INFO] [stdout] test pipeline_outcomes::tests::phase_validate_failure_ceiling_gates_despite_trivial_commit_progress ... ok
[INFO] [stdout] test pipeline_outcomes::tests::phase_validate_failures_increment_saturates ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_gaps_does_not_advance_to_ship ... ok
[INFO] [stdout] test pipeline_outcomes::tests::phase_validate_failures_reset_on_operator_approval_at_the_ceiling_gate ... ok
[INFO] [stdout] test commands::tests::reachable_pids_are_excluded_from_both_the_findings_and_the_reap_candidates ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_missing_verdict_does_not_advance ... ok
[INFO] [stdout] test pipeline_launch::tests::advance_with_declared_checkpoint_and_reported_gate_relaunches_and_records ... ok
[INFO] [stdout] test preflight::tests::base_is_checked_out_anywhere_sees_a_linked_worktree ... ok
[INFO] [stdout] test preflight::tests::base_ref_currency_is_undeterminable_when_the_remote_ref_is_absent ... ok
[INFO] [stdout] test pipeline_outcomes::tests::repeated_failure_without_new_commits_still_reaches_the_ceiling ... ok
[INFO] [stdout] test pipeline_outcomes::tests::ship_loop_back_still_issues_gaps_only_when_verification_absent ... ok
[INFO] [stdout] test preflight::tests::currency_behind_and_checked_out_refuses_with_actionable_message ... ok
[INFO] [stdout] test preflight::tests::currency_fetch_failure_falls_back_to_existing_remote_ref ... ok
[INFO] [stdout] test preflight::tests::currency_is_current_when_local_equals_remote ... ok
[INFO] [stdout] test preflight::tests::currency_behind_and_not_checked_out_fast_forwards_and_proceeds ... ok
[INFO] [stdout] test preflight::tests::currency_message_contains_no_absolute_path ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_pass_advances ... ok
[INFO] [stdout] test preflight::tests::currency_behind_fast_forward_failure_falls_through_to_refusal ... ok
[INFO] [stdout] test preflight::tests::ensure_agent_binary_diagnoses_missing_program ... FAILED
[INFO] [stdout] test preflight::tests::currency_is_ahead_for_unpushed_local_work ... ok
[INFO] [stdout] test pipeline_outcomes::tests::healthy_multi_wave_progress_does_not_reach_the_ceiling ... ok
[INFO] [stdout] test preflight::tests::currency_behind_refuses_when_base_is_checked_out_in_another_worktree ... ok
[INFO] [stdout] test preflight::tests::enforcement_still_refuses_when_the_roadmap_heading_is_absent ... ok
[INFO] [stdout] test preflight::tests::currency_is_undeterminable_with_no_remote_configured ... ok
[INFO] [stdout] test preflight::tests::gh_auth_check_applies_only_to_ship_stage ... ok
[INFO] [stdout] test preflight::tests::major_bump_check_applies_only_to_ship_stage ... ok
[INFO] [stdout] test preflight::tests::enforcement_does_not_refuse_when_only_the_phase_dir_is_absent ... ok
[INFO] [stdout] test preflight::tests::currency_is_diverged_when_local_and_remote_both_moved_independently ... ok
[INFO] [stdout] test preflight::tests::major_bump_short_circuits_for_non_ship_stage ... ok
[INFO] [stdout] test pipeline_outcomes::tests::the_ceiling_reset_records_the_total_it_spent ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 90, stage define, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::generic_preflight_checks_surfaces_the_unattended_reason_alongside_an_earlier_failure ... ok
[INFO] [stdout] test preflight::tests::phase_heading_probe_does_not_confuse_a_phase_number_prefix ... ok
[INFO] [stdout] test preflight::tests::major_bump_errs_naming_bump_baseline_and_version_for_major_at_ship ... ok
[INFO] [stdout] test preflight::tests::preflight_interactivity_check_flags_auto_define_without_context_md ... FAILED
[INFO] [stdout] test preflight::tests::major_bump_ok_for_patch_or_minor_bump_at_ship ... FAILED
[INFO] [stdout] test preflight::tests::phase_reachability_resolves_caller_root_under_a_hostile_git_dir ... FAILED
[INFO] [stdout] test preflight::tests::fast_forward_base_ref_refuses_a_stale_expected_old_value ... FAILED
[INFO] [stdout] test preflight::tests::major_bump_surfaces_unreachable_baseline_refusal ... FAILED
[INFO] [stdout] test preflight::tests::preflight_retries_reset_on_pass ... ok
[INFO] [stdout] test preflight::tests::ensure_base_ref_current_fails_open_for_a_local_only_planning_branch ... ok
[INFO] [stdout] test preflight::tests::reachability_is_undeterminable_when_base_has_no_roadmap_at_all ... ok
[INFO] [stdout] test preflight::tests::run_preflight_adapter_hook_override_fires ... ok
[INFO] [stdout] test preflight::tests::reachability_is_unreachable_when_the_phase_dir_is_absent_from_base ... ok
[INFO] [stdout] test preflight::tests::reachability_is_unreachable_when_the_roadmap_entry_is_absent_from_base ... ok
[INFO] [stdout] test preflight::tests::reachability_is_undeterminable_outside_a_git_repo ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_failure_with_unmeasurable_count_accumulates_the_streak ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 61, stage define, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test preflight::tests::run_preflight_failing_check_gates_and_never_reaches_spawn_monitor ... ok
[INFO] [stdout] test preflight::tests::fast_forward_base_ref_never_writes_into_a_hostile_git_dir ... ok
[INFO] [stdout] test preflight::tests::reachability_is_reachable_when_roadmap_entry_and_phase_dir_are_both_on_base ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 80, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active and the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test preflight::tests::unattended_check_does_not_apply_outside_define_and_code ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 89, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 89, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_check_is_not_bypassed_by_yes_ship ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 85, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 85, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 85, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `opencode`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 85, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_check_refuses_a_legacy_or_non_claude_launch_shape ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 86, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [DOES NOT HOLD] no plan declares a human-only checkpoint — a plan declares a `blocking-human` gate or a `human-action` checkpoint, which no mode auto-approves (checkpoints.md rule 6)
[INFO] [stdout] unattended-launch prerequisites — phase 86, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_check_refuses_a_phase_whose_plan_declares_a_human_only_checkpoint ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 83, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 83, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_check_refuses_when_the_gsd_config_is_absent ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 84, stage code, mode auto:
[INFO] [stdout]   [COULD NOT BE DETERMINED] GSD config can hold the chain flag — `.planning/config.json` does not parse (key must be a string at line 1 column 3) — unreadable is not absent
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] unattended-launch prerequisites — phase 84, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_check_refuses_when_the_gsd_config_is_malformed ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 88, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] unattended-launch prerequisites — phase 88, stage code, mode supervise:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the legacy launch opt-out is active — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test preflight::tests::unattended_check_reports_but_does_not_refuse_in_supervise_mode ... ok
[INFO] [stdout] test preflight::tests::unattended_check_reports_every_condition_in_both_modes ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 87, stage define, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] unattended-launch prerequisites — phase 87, stage code, mode auto:
[INFO] [stdout]   [holds] GSD config can hold the chain flag
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [COULD NOT BE DETERMINED] no plan declares a human-only checkpoint — the phase has no plan files yet, but Code expects them
[INFO] [stdout] test preflight::tests::unattended_check_treats_an_unplanned_phase_as_pending_at_define_and_undetermined_at_code ... ok
[INFO] [stdout] test preflight::tests::unattended_launch_shape_condition_antigravity_allowed ... ok
[INFO] [stdout] test preflight::tests::unattended_launch_shape_condition_claude_unchanged ... ok
[INFO] [stdout] test preflight::tests::unattended_launch_shape_condition_non_stream_agent_refused ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 82, stage code, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [holds] Code would launch on the pipe-owning arm
[INFO] [stdout]   [holds] no plan declares a human-only checkpoint
[INFO] [stdout] test preflight::tests::unattended_refusal_reason_contains_no_absolute_path ... ok
[INFO] [stdout] test preflight::tests::undeterminable_currency_warning_names_the_branch_and_its_disposition ... ok
[INFO] [stdout] test preflight::tests::unreachable_message_contains_no_absolute_path ... ok
[INFO] [stdout] test preflight::tests::unreachable_message_names_the_base_branch_and_each_missing_half ... ok
[INFO] [stdout] test staleness::tests::affects_compiled_binary_in_workspace_scope_accepts_only_members_and_root_build_files ... ok
[INFO] [stdout] test staleness::tests::affects_compiled_binary_in_workspace_scope_accepts_root_cargo_config ... ok
[INFO] [stdout] test staleness::tests::affects_compiled_binary_unscoped_preserves_the_pre_phase_45_rule ... ok
[INFO] [stdout] test pipeline_outcomes::tests::validate_gate_message_leads_with_the_per_phase_total ... ok
[INFO] [stdout] test pipeline_outcomes::tests::verification_written_this_run_dispatches_gaps_only ... ok
[INFO] [stdout] test pipeline_outcomes::tests::worktree_mode_genuine_gaps_loop_back_issues_gaps_only ... ok
[INFO] [stdout] test pipeline_outcomes::tests::worktree_mode_main_checkout_only_artifact_is_the_or_both_roots_discriminator ... ok
[INFO] [stdout] test pipeline_outcomes::tests::worktree_mode_mid_arc_loop_back_issues_plain_execute ... ok
[INFO] [stdout] test staleness::tests::combined_staleness_dirty_flag_arm_flags_modified_tree_when_build_was_clean ... ok
[INFO] [stdout] test staleness::tests::combined_staleness_dirty_flag_arm_is_indeterminate_when_build_was_already_dirty ... ok
[INFO] [stdout] test preflight::tests::generic_preflight_checks_reports_major_bump_even_when_gh_auth_fails_first ... ok
[INFO] [stdout] test staleness::tests::divergent_lineage_docs_only_range_is_fresh ... ok
[INFO] [stdout] test staleness::tests::divergent_lineage_with_source_change_is_stale ... ok
[INFO] [stdout] test staleness::tests::dirty_flag_arm_ignores_non_build_files_but_still_flags_sources ... ok
[INFO] [stdout] test staleness::tests::docs_only_range_is_fresh ... ok
[INFO] [stdout] test preflight::tests::preflight_interactivity_check_probes_the_runs_persisted_base ... ok
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test staleness::tests::embedded_commit_is_stale_resolves_execution_root_under_a_hostile_git_dir ... test staleness::tests::enforce_build_staleness_blocks_self_dogfood_and_records_event_before_erroring ... ok
[INFO] [stdout] ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 362 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] test staleness::tests::embedded_commit_is_stale_resolves_execution_root_under_a_hostile_git_dir ... ok
[INFO] [stdout] test staleness::tests::enforce_build_staleness_never_blocks_on_indeterminate ... ok
[INFO] [stdout] test staleness::tests::is_self_dogfood_workspace_anchors_on_members_not_default_members ... ok
[INFO] [stdout] test staleness::tests::is_self_dogfood_workspace_matches_both_member_paths_only ... ok
[INFO] [stdout] test staleness::tests::enforce_build_staleness_does_not_block_self_dogfood_on_divergent_docs_only_lineage ... ok
[INFO] [stdout] test staleness::tests::embedded_commit_is_stale_maps_ancestry_exit_codes ... ok
[INFO] [stdout] test staleness::tests::is_self_dogfood_workspace_requires_exact_member_paths_not_substrings ... ok
[INFO] [stdout] test preflight::tests::preflight_major_bump_check_fires_against_the_worktree_head ... ok
[INFO] [stdout] test staleness::tests::porcelain_tracked_path_normalizes_status_bytes_renames_and_quotes ... ok
[INFO] [stdout] test staleness::tests::non_dogfood_project_keeps_the_broad_build_input_rule ... ok
[INFO] [stdout] test staleness::tests::git_error_range_fails_toward_stale ... ok
[INFO] [stdout] test staleness::tests::run_git_stdout_ignores_a_hostile_git_dir ... ok
[INFO] [stdout] test staleness::tests::mixed_range_docs_and_source_is_stale ... ok
[INFO] [stdout] test staleness::tests::enforce_build_staleness_warns_for_ordinary_project_with_stale_commit ... ok
[INFO] [stdout] test staleness::tests::spikes_only_dirty_tree_does_not_block_self_dogfood ... ok
[INFO] [stdout] test test_support::tests::reap_guard_reaps_the_monitor_when_a_later_assertion_panics ... ok
[INFO] [stdout] test tests::project_root_walks_up_to_nearest_devflow_ancestor ... ok
[INFO] [stdout] test preflight::tests::run_preflight_advance_gate_launches_agent_exactly_once ... ok
[INFO] [stdout] test test_support::tests::trailing_reap_call_is_skipped_when_a_later_assertion_panics ... ok
[INFO] [stdout] test staleness::tests::wr01_clean_tree_strict_ancestor_build_is_stale_and_hard_blocks ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 620, stage define, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test preflight::tests::run_preflight_advance_skips_recheck_on_idempotently_failing_check ... ok
[INFO] [stdout] unattended-launch prerequisites — phase 621, stage define, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] unattended-launch prerequisites — phase 621, stage define, mode auto:
[INFO] [stdout]   [DOES NOT HOLD] GSD config can hold the chain flag — no `.planning/config.json` under the launch root — nowhere for the chain flag to live
[INFO] [stdout]   [DOES NOT HOLD] Code would launch on the pipe-owning arm — the agent is `codex`, not claude or antigravity — the chain-flag guard binds only inside the pipe-owning monitor, which this launch shape never starts
[INFO] [stdout]   [not yet applicable] no plan declares a human-only checkpoint — the phase has no plan files yet — re-evaluated at Code
[INFO] [stdout] test preflight::tests::run_preflight_loopback_bounds_recursion ... ok
[INFO] [stdout] test preflight::tests::run_preflight_loopback_gate_launches_agent_exactly_once ... ok
[INFO] [stdout] test preflight::tests::run_preflight_major_bump_gate_not_auto_approved_by_yes_ship ... ok
[INFO] [stdout] test preflight::tests::run_preflight_major_bump_gates_and_never_ships_unattended ... ok
[INFO] [stdout] test staleness::tests::ahead_build_from_descendant_commit_warns_instead_of_blocking ... ok
[INFO] [stdout] test staleness::tests::embedded_commit_is_stale_uses_worktree_head ... ok
[INFO] [stdout] test staleness::tests::enforce_build_staleness_blocks_self_dogfood_behind_worktree_head ... ok
[INFO] [stdout] test staleness::tests::mid_run_stage_transition_does_not_readjudicate_staleness ... ok
[INFO] [stdout] test staleness::tests::staleness_without_worktree_is_unchanged ... ok
[INFO] [stdout] test test_support::tests::no_git_path_makes_git_unresolvable_and_restores_it ... ok
[INFO] [stdout] test pipeline_outcomes::tests::evaluate_layer2_unrunnable_git_keeps_success_for_a_non_commit_gated_stage ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin devflow`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::ensure_agent_binary_diagnoses_missing_program stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::ensure_agent_binary_diagnoses_missing_program' (4645) panicked at src/preflight.rs:1411:9:
[INFO] [stdout] assertion failed: ensure_agent_binary("sh").is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856f14 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x633309898802 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x63330962b6dc - <devflow[a9a882e51fd03f88]::preflight::tests::ensure_agent_binary_diagnoses_missing_program::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   19:     0x72d98408a3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::preflight_interactivity_check_flags_auto_define_without_context_md stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::preflight_interactivity_check_flags_auto_define_without_context_md' (4915) panicked at src/test_support.rs:109:14:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856ee2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x633309898612 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x6333096c6e57 - devflow[a9a882e51fd03f88]::test_support::init_repo::{closure#0}
[INFO] [stdout]   13:     0x633309636da2 - <devflow[a9a882e51fd03f88]::preflight::tests::preflight_interactivity_check_flags_auto_define_without_context_md::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   20:     0x72d98408a3d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::major_bump_ok_for_patch_or_minor_bump_at_ship stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::major_bump_ok_for_patch_or_minor_bump_at_ship' (4797) panicked at src/preflight.rs:1649:9:
[INFO] [stdout] assertion failed: preflight_major_bump_check(root, &state).is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856f14 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x633309898802 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x63330962b969 - <devflow[a9a882e51fd03f88]::preflight::tests::major_bump_ok_for_patch_or_minor_bump_at_ship::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   19:     0x72d98408a3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::phase_reachability_resolves_caller_root_under_a_hostile_git_dir stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::phase_reachability_resolves_caller_root_under_a_hostile_git_dir' (4867) panicked at src/preflight.rs:2526:22:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856ee2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x633309898612 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x6333096256c7 - devflow[a9a882e51fd03f88]::preflight::tests::reachability_fixture::{closure#0}
[INFO] [stdout]   13:     0x63330962710e - devflow[a9a882e51fd03f88]::preflight::tests::reachability_fixture
[INFO] [stdout]   14:     0x633309634f63 - <devflow[a9a882e51fd03f88]::preflight::tests::phase_reachability_resolves_caller_root_under_a_hostile_git_dir::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   21:     0x72d98408a3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::fast_forward_base_ref_refuses_a_stale_expected_old_value stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::fast_forward_base_ref_refuses_a_stale_expected_old_value' (4686) panicked at src/preflight.rs:3133:9:
[INFO] [stdout] the correct expected-old value must succeed
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856f14 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x63330962f8bc - <devflow[a9a882e51fd03f88]::preflight::tests::fast_forward_base_ref_refuses_a_stale_expected_old_value::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   18:     0x72d98408a3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preflight::tests::major_bump_surfaces_unreachable_baseline_refusal stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preflight::tests::major_bump_surfaces_unreachable_baseline_refusal' (4804) panicked at src/preflight.rs:2872:18:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63330987fed1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x63330989809a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x6333098856ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x633309856e36 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x633309875af9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x6333096f9df0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x633309875e22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x633309856ee2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x63330984f659 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x633309857fad - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x63330989883c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x633309898612 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x633309627f2a - devflow[a9a882e51fd03f88]::preflight::tests::run_git
[INFO] [stdout]   13:     0x63330962bec6 - <devflow[a9a882e51fd03f88]::preflight::tests::major_bump_surfaces_unreachable_baseline_refusal::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x6333096ed23b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x6333096fa415 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x6333096f3d04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x6333096fd4a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x63330987eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x72d983ff6dfa - <unknown>
[INFO] [stdout]   20:     0x72d98408a3d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     preflight::tests::ensure_agent_binary_diagnoses_missing_program
[INFO] [stdout]     preflight::tests::fast_forward_base_ref_refuses_a_stale_expected_old_value
[INFO] [stdout]     preflight::tests::major_bump_ok_for_patch_or_minor_bump_at_ship
[INFO] [stdout]     preflight::tests::major_bump_surfaces_unreachable_baseline_refusal
[INFO] [stdout]     preflight::tests::phase_reachability_resolves_caller_root_under_a_hostile_git_dir
[INFO] [stdout]     preflight::tests::preflight_interactivity_check_flags_auto_define_without_context_md
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 357 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.14s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51", kill_on_drop: false }`
[INFO] [stdout] 228cc34a526433a4912aa2c31771e443bdcd2668aad7b377e465bb802bc3ab51
