[INFO] fetching crate cryochamber 0.2.8...
[INFO] testing cryochamber-0.2.8 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate cryochamber 0.2.8 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate cryochamber 0.2.8
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cryochamber 0.2.8
[INFO] tweaked toml for crates.io crate cryochamber 0.2.8 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cryochamber 0.2.8 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 cryochamber 0.2.8 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-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0
[INFO] running `Command { std: "docker" "start" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", 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" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0" "/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" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", 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" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling cc v1.2.66
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling signal-hook v0.4.4
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling inotify v0.11.3
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling cryochamber v0.2.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", 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" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0" "/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 inotify v0.11.3
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.53
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cryochamber v0.2.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling bstr v1.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 00s
[INFO] running `Command { std: "docker" "inspect" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", 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" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.35s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/cryochamber/60bdeef29e242080/out/cryochamber-60bdeef29e242080)
[INFO] [stdout] 
[INFO] [stdout] running 584 tests
[INFO] [stdout] test chamber_status::tests::has_open_question_false_when_outbox_has_no_question ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_true_when_question_exists_and_no_inbox_reply ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_uses_archived_inbox_replies ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_true_when_question_is_newer_than_last_reply ... ok
[INFO] [stdout] test chamber_status::tests::parse_settings_rows_handles_legacy_providers_array ... ok
[INFO] [stdout] test chamber_status::tests::overview_agent_running_requires_live_daemon ... ok
[INFO] [stdout] test chamber_status::tests::messages_are_sorted_chronologically_and_tagged_with_sessions ... ok
[INFO] [stdout] test chamber_status::tests::overview_exposes_has_open_question ... ok
[INFO] [stdout] test chamber_status::tests::overview_agent_running_false_when_idle ... ok
[INFO] [stdout] test chamber_status::tests::parse_settings_rows_returns_empty_for_empty_input ... ok
[INFO] [stdout] test chamber_status::tests::parse_settings_rows_expands_scalar_arrays_inline ... ok
[INFO] [stdout] test chamber_status::tests::parse_settings_rows_handles_scalars_and_provider ... ok
[INFO] [stdout] test chamber_status::tests::parse_settings_rows_returns_empty_for_invalid_toml ... ok
[INFO] [stdout] test chamber_status::tests::render_markdown_safe_drops_image_urls ... ok
[INFO] [stdout] test chamber_status::tests::render_markdown_safe_escapes_raw_html ... ok
[INFO] [stdout] test chamber_status::tests::render_markdown_safe_renders_basic_markdown ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_false_when_no_messages ... ok
[INFO] [stdout] test chamber_status::tests::status_includes_daily_digests_from_log ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_ignores_cryochamber_inbox_messages ... ok
[INFO] [stdout] test chamber_status::tests::status_renders_notes_markdown_to_html ... ok
[INFO] [stdout] test channel::zulip::tests::append_base64_tail_handles_two_byte_padding ... ok
[INFO] [stdout] test chamber_status::tests::status_uses_state_agent_override_over_config_agent ... ok
[INFO] [stdout] test chamber_status::tests::status_reads_plan_and_config_from_disk ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_ignores_operator_inbox_messages ... ok
[INFO] [stdout] test chamber_status::tests::status_missing_timer_json_returns_stopped_defaults ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_false_when_human_reply_is_newer_than_question ... ok
[INFO] [stdout] test chamber_status::tests::status_next_wake_uses_earliest_open_todo ... ok
[INFO] [stdout] test chamber_status::tests::wake_imminent_accepts_seconds_precision ... ok
[INFO] [stdout] test channel::zulip::tests::append_base64_tail_handles_single_byte_padding ... ok
[INFO] [stdout] test chamber_status::tests::status_completion_summary_comes_from_latest_session_log ... ok
[INFO] [stdout] test chamber_status::tests::has_open_question_keeps_same_second_prior_reply_open ... ok
[INFO] [stdout] test channel::zulip::tests::append_base64_tail_handles_empty_tail ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_leaves_already_absolute_uploads_but_strips_bang ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_keeps_message_when_upload_fails ... ok
[INFO] [stdout] test channel::zulip::tests::download_upload_rejects_unsafe_paths ... ok
[INFO] [stdout] test channel::zulip::tests::download_upload_rejects_non_upload_paths ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_ignores_other_links_on_same_site ... ok
[INFO] [stdout] test channel::zulip::tests::build_agent_sets_bounded_timeouts ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_ignores_malformed_link_without_opener ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_accepts_site_with_trailing_slash ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_uploads_and_strips_image_bang ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_leaves_plain_messages_alone ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_handles_nested_image_link ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_strips_bang_on_preuploaded_paths ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_is_idempotent_and_utf8_safe ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_handles_balanced_parens_in_destination ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_excludes_title_from_span ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_survives_unclosed_link ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_sanitizes_hostile_filenames ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_finds_relative_target ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_leaves_link_on_fetch_failure ... ok
[INFO] [stdout] test chamber_status::tests::status_plan_and_config_empty_when_files_missing ... ok
[INFO] [stdout] test channel::zulip::tests::from_zuliprc_parses_credentials ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_finds_absolute_target_on_site ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_ignores_uploads_on_other_hosts ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_downloads_duplicate_target_once ... ok
[INFO] [stdout] test channel::zulip::tests::externalize_local_links_uploads_each_file_once ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_returns_every_occurrence_in_order ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_downloads_and_rewrites ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_gives_same_filename_distinct_indices ... ok
[INFO] [stdout] test channel::zulip::tests::parse_upload_response_accepts_url_and_legacy_uri ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_without_links_touches_nothing ... ok
[INFO] [stdout] test config::tests::test_apply_overrides_all_fields ... ok
[INFO] [stdout] test channel::zulip::tests::upload_file_refuses_oversized_attachment ... ok
[INFO] [stdout] test config::tests::apply_optional_override_keeps_value_when_absent ... ok
[INFO] [stdout] test config::tests::apply_optional_override_replaces_value_when_present ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_rewrites_only_link_destinations ... ok
[INFO] [stdout] test channel::zulip::tests::markdown_links_detects_image_syntax_bang ... ok
[INFO] [stdout] test channel::zulip::tests::localize_upload_links_skips_existing_files ... ok
[INFO] [stdout] test channel::zulip::tests::multipart_boundary_avoids_colliding_with_payload ... ok
[INFO] [stdout] test channel::zulip::tests::matching_open_bracket_pairs_by_depth ... ok
[INFO] [stdout] test config::tests::test_load_malformed_toml ... ok
[INFO] [stdout] test channel::zulip::tests::resolve_local_attachment_accepts_chamber_files_only ... ok
[INFO] [stdout] test config::tests::test_apply_overrides_none_fields ... ok
[INFO] [stdout] test channel::zulip::tests::resolve_local_attachment_refuses_symlink_escape ... ok
[INFO] [stdout] test channel::zulip::tests::resolve_local_attachment_never_exposes_credentials_or_escapes_chamber ... ok
[INFO] [stdout] test config::tests::test_load_partial_toml ... ok
[INFO] [stdout] test config::tests::test_save_config_is_owner_readable_only ... ok
[INFO] [stdout] test daemon::dialog_tests::render_since_filters_by_timestamp ... ok
[INFO] [stdout] test daemon::property_tests::prop_interrupted_prefers_hibernate_outcome ... ok
[INFO] [stdout] test config::tests::unknown_config_key_is_ignored ... ok
[INFO] [stdout] test daemon::property_tests::prop_interrupted_without_hibernate_is_non_quick_failure ... ok
[INFO] [stdout] test daemon::dialog_tests::render_archived_only_oldest_first_no_marker ... ok
[INFO] [stdout] test daemon::dialog_tests::render_marker_before_first_new_message ... ok
[INFO] [stdout] test config::tests::test_save_config_omits_removed_report_fields ... ok
[INFO] [stdout] test daemon::request_tests::dialog_since_unparseable_rejected ... ok
[INFO] [stdout] test daemon::dialog::render_helpers_tests::interleave_breaks_ties_inbox_before_outbox ... ok
[INFO] [stdout] test daemon::dialog_tests::render_all_messages_new_marker_at_top ... ok
[INFO] [stdout] test daemon::dialog_tests::render_empty_returns_placeholder ... ok
[INFO] [stdout] test daemon::property_tests::prop_resolve_child_exit_quick_exit_threshold ... ok
[INFO] [stdout] test daemon::property_tests::prop_resolve_hibernate_request_matches_spec ... ok
[INFO] [stdout] test daemon::request_tests::dialog_uses_extra_session_new_when_no_pending ... ok
[INFO] [stdout] test daemon::dialog_tests::render_filter_drops_all_new_emits_omitted_count ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_normalizes_relative_offset_against_now ... ok
[INFO] [stdout] test daemon::dialog_tests::render_last_n_trims_oldest_first ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_normalizes_seconds_to_canonical_minute ... ok
[INFO] [stdout] test daemon::property_tests::prop_sleep_respects_deadlines ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_rejects_tz_offset_loudly ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_rejects_unparseable_at_without_adding ... ok
[INFO] [stdout] test daemon::property_tests::prop_idle_event_priority ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_rejects_empty_at ... ok
[INFO] [stdout] test daemon::session_tests::format_wake_sources_dedups_repeated_paths ... ok
[INFO] [stdout] test daemon::request_tests::dialog_includes_pending_outbox_messages ... ok
[INFO] [stdout] test daemon::session_tests::format_wake_sources_drops_staging_paths_but_keeps_real_ones ... ok
[INFO] [stdout] test daemon::request_tests::dialog_with_no_pending_no_marker ... ok
[INFO] [stdout] test daemon::request_tests::dialog_last_zero_rejected ... ok
[INFO] [stdout] test daemon::request_tests::dialog_with_pending_claims_and_marks_new ... ok
[INFO] [stdout] test daemon::request_tests::test_effective_linger_secs ... ok
[INFO] [stdout] test daemon::request_tests::dialog_since_iso_filters ... ok
[INFO] [stdout] test daemon::tests::cryo_agent_receive_routes_through_daemon_ipc ... ok
[INFO] [stdout] test daemon::session_tests::format_wake_sources_returns_empty_when_only_staging_paths_seen ... ok
[INFO] [stdout] test daemon::request_tests::todo_add_accepts_valid_at ... ok
[INFO] [stdout] test daemon::tests::delayed_wake_notice_is_silent_without_scheduled_wake ... ok
[INFO] [stdout] test daemon::tests::fake_runtime_park_then_respond_parked_records_response ... ok
[INFO] [stdout] test daemon::tests::delayed_wake_notice_is_silent_for_inbox_wakes ... ok
[INFO] [stdout] test daemon::session_tests::transient_write_artifacts_are_recognized_by_leading_dot ... ok
[INFO] [stdout] test daemon::tests::daemon_session_runtime_and_effects_live_in_submodules ... ok
[INFO] [stdout] test daemon::tests::fs_session_effects_write_reply_with_question_writes_frontmatter_and_prefix ... ok
[INFO] [stdout] test daemon::tests::session_prompt_notice_combines_delayed_wake_before_crash_notice ... ok
[INFO] [stdout] test daemon::tests::session_prompt_notice_is_empty_without_delayed_wake_or_crash ... ok
[INFO] [stdout] test daemon::tests::fs_session_effects_write_reply_without_question_omits_frontmatter_and_prefix ... ok
[INFO] [stdout] test daemon::tests::session_prompt_notice_uses_delayed_wake_notice_when_present ... ok
[INFO] [stdout] test daemon::tests::daemon_receive_request_is_wired_through_socket_request_and_effects ... ok
[INFO] [stdout] test daemon::tests::daemon_request_handling_lives_in_request_module ... ok
[INFO] [stdout] test daemon::tests::test_compute_sleep_timeout_wake_only ... ok
[INFO] [stdout] test daemon::tests::test_compute_sleep_timeout_past_wake_is_zero ... ok
[INFO] [stdout] test daemon::tests::test_crash_debug_suffix_empty_when_log_missing_or_blank ... ok
[INFO] [stdout] test daemon::tests::inbox_watcher_fires_on_atomic_tmp_rename ... ok
[INFO] [stdout] test daemon::tests::test_daemon_request_classification_groups_todo_variants ... ok
[INFO] [stdout] test daemon::tests::test_decide_next_step_error_hibernates_without_retry ... ok
[INFO] [stdout] test daemon::tests::test_agent_retry_backoff_increases_exponentially ... ok
[INFO] [stdout] test daemon::tests::test_decide_next_step_hibernate_uses_refreshed_wake ... ok
[INFO] [stdout] test daemon::tests::test_decide_next_step_maps_plan_complete_to_shutdown ... ok
[INFO] [stdout] test channel::zulip::tests::extract_upload_links_ignores_non_upload_links ... ok
[INFO] [stdout] test daemon::tests::test_agent_exit_while_parked_releases_hibernate ... ok
[INFO] [stdout] test daemon::tests::test_delayed_wake_over_threshold ... ok
[INFO] [stdout] test daemon::tests::test_build_bootstrap_state_runs_immediately_for_first_session_and_overdue_wake ... ok
[INFO] [stdout] test daemon::tests::test_build_bootstrap_state_supports_multiple_watch_dirs ... ok
[INFO] [stdout] test daemon::tests::test_crash_fallback_reply_includes_agent_log_tail ... ok
[INFO] [stdout] test daemon::tests::test_decide_next_step_validation_failed_hibernates_without_retry ... ok
[INFO] [stdout] test daemon::tests::test_delayed_wake_under_threshold ... ok
[INFO] [stdout] test daemon::tests::delayed_wake_notice_reports_late_scheduled_wake ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_dialog_request_returns_transcript_and_preserves_fallback ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_quick_exit_without_hibernate ... ok
[INFO] [stdout] test daemon::tests::test_compute_sleep_timeout_neither ... ok
[INFO] [stdout] test daemon::tests::test_clean_hibernate_fallback_has_no_log_dump ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_dialog_failure_after_claim_still_triggers_fallback ... ok
[INFO] [stdout] test daemon::tests::test_agent_log_tail_keeps_last_ten_nonempty_lines_capped ... ok
[INFO] [stdout] test daemon::tests::test_crash_debug_suffix_fences_sanitized_tail ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_receive_archives_inbox_even_when_response_delivery_fails ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_todo_requests_use_effects ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_receive_then_crash_uses_crash_fallback ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_send_then_crash_is_not_retryable ... ok
[INFO] [stdout] test daemon::tests::test_build_bootstrap_state_only_enables_watcher_when_configured_and_present ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_send_after_receive_satisfies_queued_inbox_message ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_receive_request_invokes_effect_and_returns_body ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_send_without_receive_can_still_post_status ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_timeout_after_hibernate_uses_hibernate_outcome ... ok
[INFO] [stdout] test daemon::tests::session_prompt_notice_reports_previous_session_crash ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_complete_refused_while_todo_is_due ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_writes_daemon_status_without_outbound_message ... ok
[INFO] [stdout] test daemon::tests::test_fs_effects_next_valid_todo_wake ... ok
[INFO] [stdout] test daemon::tests::test_fs_effects_next_valid_todo_wake_corrupt_file ... ok
[INFO] [stdout] test daemon::tests::test_handle_receive_request_returns_formatted_messages_and_claimed_filenames ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_reply_failure_still_finishes_session_log ... ok
[INFO] [stdout] test daemon::tests::daemon_scheduling_and_bootstrap_live_in_schedule_module ... ok
[INFO] [stdout] test daemon::tests::test_handle_todo_request_returns_response_and_log_event ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_complete_never_parks ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_linger_disconnect_keeps_hibernate_standing ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_linger_delivers_followup_into_same_session ... ok
[INFO] [stdout] test daemon::tests::test_event_loop_bootstrap_workless_wake_still_runs_session ... ok
[INFO] [stdout] test daemon::tests::test_fs_effects_has_unread_inbox ... ok
[INFO] [stdout] test daemon::tests::test_failure_report_releases_parked_hibernate_and_stands ... ok
[INFO] [stdout] test daemon::tests::test_drive_active_session_unreceived_inbox_only_gets_daemon_status ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_linger_release_clears_recorded_hibernate_outcome ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_linger_released_on_session_error_path ... ok
[INFO] [stdout] test chamber_status::tests::overview_agent_running_false_when_daemon_dead ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_linger_releases_on_due_todo ... ok
[INFO] [stdout] test daemon::tests::test_hibernate_with_window_parks_instead_of_responding ... ok
[INFO] [stdout] test daemon::tests::test_idle_dialog_refuses_without_archiving_inbox ... ok
[INFO] [stdout] test daemon::tests::test_inbox_watcher_detects_new_file ... ok
[INFO] [stdout] test daemon::tests::test_idle_receive_refuses_without_archiving_inbox ... ok
[INFO] [stdout] test daemon::tests::test_linger_expiry_respond_failure_is_logged ... ok
[INFO] [stdout] test daemon::tests::test_legacy_rotate_on_does_not_rotate_provider_in_event_loop ... ok
[INFO] [stdout] test daemon::tests::test_linger_release_log_failed_finalizes_and_propagates ... ok
[INFO] [stdout] test daemon::tests::test_linger_release_with_dead_client_keeps_hibernate_standing ... ok
[INFO] [stdout] test daemon::tests::test_linger_todo_due_release_respond_failure_is_logged ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_none_when_empty ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_all_invalid_returns_none ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_picks_earliest ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_skips_empty_at ... ok
[INFO] [stdout] test daemon::tests::test_parked_client_death_pauses_session_deadline_instead_of_resetting_it ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_skips_done ... ok
[INFO] [stdout] test daemon::tests::test_prepare_runtime_startup_propagates_signal_registration_failure ... ok
[INFO] [stdout] test daemon::tests::test_next_wake_from_todos_skips_invalid_and_picks_valid ... ok
[INFO] [stdout] test daemon::tests::test_prepare_runtime_startup_returns_registry_warning_but_continues ... ok
[INFO] [stdout] test daemon::tests::test_prepare_shutdown_state_clears_runtime_identity ... ok
[INFO] [stdout] test daemon::tests::test_prepare_startup_state_clears_stale_session_active ... ok
[INFO] [stdout] test daemon::tests::test_resolve_child_exit_nonzero_exit_is_retryable_after_quick_exit_window ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_hibernates_with_pending_todo ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_rejects_when_no_pending_todo ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_complete ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_gate_refuses_unread_inbox ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_failure_retries ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_complete_refused_while_todo_due ... ok
[INFO] [stdout] test daemon::tests::test_prepare_runtime_startup_propagates_socket_bind_failure ... ok
[INFO] [stdout] test daemon::tests::test_resolve_child_exit_without_hibernate_marks_quick_exit ... ok
[INFO] [stdout] test daemon::tests::test_resolve_hibernate_request_gate_skips_failure_reports ... ok
[INFO] [stdout] test daemon::tests::test_resolve_interrupted_session_prefers_hibernate_outcome ... ok
[INFO] [stdout] test daemon::tests::test_run_clears_stranded_session_active_on_startup_save ... ok
[INFO] [stdout] test daemon::tests::test_receive_refused_when_inbox_claim_fails ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_does_not_abort_on_mid_loop_state_save_failure ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_clears_session_active_after_launcher_error ... ok
[INFO] [stdout] test daemon::tests::test_resolve_child_exit_after_hibernate_returns_outcome ... ok
[INFO] [stdout] test daemon::tests::test_resolve_interrupted_session_without_hibernate_fails ... ok
[INFO] [stdout] test daemon::tests::test_prepare_runtime_startup_watcher_failure_is_nonfatal ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_marks_session_active_during_successful_session ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_completes_claimed_todo_after_successful_session ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_passes_inbox_wake_sources_to_session ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_reschedules_claimed_todo_after_crash ... ok
[INFO] [stdout] test daemon::tests::test_run_treats_locked_but_unresponsive_pid_as_stale_on_startup ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_wakes_on_preexisting_inbox_at_startup ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_hibernate_refreshes_next_wake_between_sessions ... ok
[INFO] [stdout] test daemon::tests::test_second_hibernate_refusal_propagates_respond_failure ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_does_not_claim_new_todos_during_retry_backoff ... ok
[INFO] [stdout] test daemon::tests::test_session_deadline_suspended_while_parked_and_reset_on_delivery ... ok
[INFO] [stdout] test daemon::tests::test_second_hibernate_while_parked_is_refused_before_logging ... ok
[INFO] [stdout] test daemon::tests::test_send_log_line_trims_trailing_newline_from_stdin_body ... ok
[INFO] [stdout] test daemon::tests::test_run_recovers_stale_claimed_todo_on_startup ... ok
[INFO] [stdout] test daemon::tests::test_should_ignore_inbox_wake_all_inbox_paths_and_empty_inbox_is_ignored ... ok
[INFO] [stdout] test daemon::tests::test_should_ignore_inbox_wake_empty_paths_never_ignored ... ok
[INFO] [stdout] test daemon::tests::test_session_loop_outcome_is_crash ... ok
[INFO] [stdout] test daemon::tests::test_should_ignore_inbox_wake_mixed_paths_wakes_even_if_inbox_empty ... ok
[INFO] [stdout] test daemon::tests::test_session_active_observed_inside_session_and_cleared_after ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_writes_deferred_fallback_when_shutdown_interrupts_retry_backoff ... ok
[INFO] [stdout] test daemon::tests::test_should_ignore_inbox_wake_all_inbox_paths_but_nonempty_inbox_wakes ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_drives_multiple_sessions_in_process ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_non_retryable_validation_failures_follow_schedule ... ok
[INFO] [stdout] test daemon::tests::test_should_ignore_inbox_wake_stale_path_under_symlinked_dir_is_ignored ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_carries_inbox_sources ... ok
[INFO] [stdout] test daemon::tests::watcher_startup_notice_reports_started_watcher ... ok
[INFO] [stdout] test daemon::tests::test_strip_ansi_removes_escape_sequences_and_control_chars ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_timeout_without_scheduled_wake ... ok
[INFO] [stdout] test daemon::tests::wake_prompt_uses_bounded_todo_display ... ok
[INFO] [stdout] test daemon::tests::watcher_startup_notice_is_silent_without_warning_or_watcher ... ok
[INFO] [stdout] test daemon::tests::watcher_startup_notice_prioritizes_warning ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_timeout_before_deadline_stays_idle ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_coalesces_inbox_changes ... ok
[INFO] [stdout] test daemon_client::tests::test_daemon_responding_uses_state_backed_client ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_timeout_after_deadline_wakes ... ok
[INFO] [stdout] test hub::discovery::tests::encode_decode_round_trip ... ok
[INFO] [stdout] test hub::discovery::tests::decode_rejects_invalid ... ok
[INFO] [stdout] test daemon_client::tests::test_send_request_loads_instance_id_from_state ... ok
[INFO] [stdout] test hub::discovery::tests::discover_local_only_skips_registered_chambers ... ok
[INFO] [stdout] test hub::discovery::tests::populate_reads_session_and_unread ... ok
[INFO] [stdout] test hub::discovery::tests::populate_reports_configured_zulip_sync ... ok
[INFO] [stdout] test hub::discovery::tests::populate_runtime_reports_agent_running_false_when_idle ... ok
[INFO] [stdout] test hub::discovery::tests::discover_merges_registered_chambers_outside_workspace ... ok
[INFO] [stdout] test hub::discovery::tests::discover_reads_registry_without_scanning_workspace ... ok
[INFO] [stdout] test hub::discovery::tests::discover_names_project_local_dot_cryo_chamber_after_parent_project ... ok
[INFO] [stdout] test hub::discovery::tests::scan_skips_subdirs_without_cryo_toml ... ok
[INFO] [stdout] test hub::discovery::tests::populate_runtime_exposes_rail_display_fields ... ok
[INFO] [stdout] test hub::lifecycle::tests::archive_logs_moves_existing_logs_and_skips_missing ... ok
[INFO] [stdout] test hub::lifecycle::tests::archive_logs_creates_history_dir_when_no_logs_present ... ok
[INFO] [stdout] test hub::discovery::tests::populate_runtime_reports_agent_running_when_session_active ... ok
[INFO] [stdout] test hub::lifecycle::tests::archive_and_unarchive_toggle_the_registry_flag ... ok
[INFO] [stdout] test hub::lifecycle::tests::reset_chamber_leaves_chamber_stopped_with_fresh_messages_dir ... ok
[INFO] [stdout] test hub::lifecycle::tests::archive_runtime_moves_todo_notes_and_messages ... ok
[INFO] [stdout] test hub::lifecycle::tests::resolve_cryo_exe_from_test_binary_prefers_target_debug_cryo ... ok
[INFO] [stdout] test hub::discovery::tests::scan_flags_malformed_cryo_toml_as_error ... ok
[INFO] [stdout] test daemon_client::tests::test_send_checked_request_reports_protocol_mismatch_when_probe_gets_eof ... ok
[INFO] [stdout] test hub::lifecycle::tests::stop_chamber_is_idempotent_on_nothing_running ... ok
[INFO] [stdout] test hub::lifecycle::tests::resolve_cryo_exe_prefers_sibling_of_current_exe ... ok
[INFO] [stdout] test hub::lifecycle::tests::start_chamber_rejects_missing_cryo_toml ... FAILED
[INFO] [stdout] test hub::routes::chamber::tests::lifecycle_status_json_reports_error_message ... ok
[INFO] [stdout] test hub::lifecycle::tests::start_chamber_rejects_missing_plan_md ... FAILED
[INFO] [stdout] test hub::lifecycle::tests::archive_chamber_refuses_while_daemon_running ... ok
[INFO] [stdout] test hub::routes::chamber::tests::lifecycle_status_json_reports_success_message ... ok
[INFO] [stdout] test hub::lifecycle::tests::start_chamber_refuses_archived_chamber_before_launch_preflight ... ok
[INFO] [stdout] test hub::routes::chamber::tests::messages_json_tags_each_message_with_the_session_that_owns_it ... ok
[INFO] [stdout] test hub::routes::chamber::tests::messages_json_includes_outbox_archive ... ok
[INFO] [stdout] test hub::routes::chamber::tests::messages_json_includes_unique_stable_ids_for_duplicate_messages ... ok
[INFO] [stdout] test hub::routes::chamber::tests::messages_json_sorted_by_timestamp ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_for_missing_state_has_zero_session ... ok
[INFO] [stdout] test daemon_client::tests::test_send_checked_request_reports_protocol_mismatch_response ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_includes_agent_running_when_session_is_active ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_includes_latest_session_summary ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_includes_daily_digests ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_includes_notes_content ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_includes_plan_and_masked_config ... ok
[INFO] [stdout] test hub::routes::chamber::tests::post_archive_sets_registry_flag_for_stopped_chamber ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_never_leaks_provider_api_key ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_log_tail_spans_last_five_sessions ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_plan_and_config_empty_when_files_missing ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_notes_content_empty_when_file_missing ... ok
[INFO] [stdout] test hub::routes::chamber::tests::post_unarchive_clears_registry_flag ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_renders_notes_markdown ... ok
[INFO] [stdout] test hub::routes::chamber::tests::todos_json_is_empty_array_when_missing ... ok
[INFO] [stdout] test hub::routes::chamber::tests::todos_json_returns_items_in_file_order ... ok
[INFO] [stdout] test hub::routes::chambers::tests::get_chambers_lists_workspace_scans ... ok
[INFO] [stdout] test hub::routes::chambers::tests::path_under::rejects_same_path_and_parent_components ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::collision_with_existing_chamber_rejected_400 ... ok
[INFO] [stdout] test daemon::tests::test_wait_for_idle_event_shutdown_and_disconnect ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::create_dir_failure_returns_500 ... ok
[INFO] [stdout] test hub::discovery::tests::scan_empty_workspace_returns_empty_index ... ok
[INFO] [stdout] test hub::routes::chambers::tests::get_chambers_includes_agent_running_from_disk ... ok
[INFO] [stdout] test hub::routes::chambers::tests::get_chambers_refreshes_runtime_fields_from_disk ... ok
[INFO] [stdout] test hub::routes::chambers::tests::path_under::accepts_child_path ... ok
[INFO] [stdout] test hub::routes::chamber::tests::post_start_refuses_archived_chamber_without_launching ... ok
[INFO] [stdout] test hub::routes::chamber::tests::status_json_exposes_raw_next_wake_for_browser_formatting ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::empty_name_rejected_400 ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::invalid_api_key_provider_rejected_400 ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::name_with_slash_rejected_400 ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_retries_retryable_failure_with_unread_inbox ... ok
[INFO] [stdout] test hub::discovery::tests::scan_finds_chambers_with_valid_config ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_control_chars ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_dotdot_and_leading_dot ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::accepts_simple_name ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::global_create_remembers_new_chamber_in_registry ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_too_long ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_empty ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::creates_new_chamber_returns_201_and_id ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::creates_new_chamber_without_api_key_provider ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::empty_api_key_rejected_400 ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::creates_new_chamber_with_selected_api_key_provider ... ok
[INFO] [stdout] test hub::routes::events::tests::broadcast_multiplexes_by_chamber_id ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_css_disables_running_active_animation_for_reduced_motion ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_css_styles_new_chamber_modal ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_css_does_not_keep_orphan_event_log_selectors ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_detail_header_truncates_title_and_gives_summary_room ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_disables_lifecycle_buttons_while_request_is_pending ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_does_not_render_restart_button ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_folds_completed_chambers_in_rail ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_emits_session_markers_between_messages_of_different_sessions ... ok
[INFO] [stdout] test hub::routes::chambers::tests::refresh_picks_up_new_chamber ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_daily_digest_rows_omit_latest_session_label ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_folds_older_thread_messages_into_history_details ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_folds_on_completion_even_while_daemon_still_running ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_whitespace ... ok
[INFO] [stdout] test hub::routes::chambers::tests::validate_name::rejects_slash_or_backslash ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_guards_async_detail_and_application_errors ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_hides_detail_wake_chip_when_chamber_is_stopped ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_only_renders_reset_for_stopped_chambers ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_gives_thread_min_height_so_overflow_can_scroll ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_mutes_rail_wake_time_for_stopped_chambers ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_new_chamber_modal_collects_provider_and_api_key ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_omits_rail_search_and_keeps_history_interactions ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_opens_completed_fold_when_selection_is_inside ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_places_sync_controls_in_right_drawer ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::scaffold_parity_with_cryo_init ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_opens_notes_at_bottom_by_default ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_does_not_render_wake_button ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_periodically_refreshes_chamber_registry ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_prioritizes_completed_status_over_running ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_pulses_active_session_even_when_chamber_plan_is_complete ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_preserves_rendered_markdown_scroll_across_sse_refreshes ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_css_animates_running_active_status_dot ... ok
[INFO] [stdout] test daemon::tests::test_run_event_loop_stops_after_ten_retryable_failures ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_rail_omits_preview_and_task_lines ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_refreshes_rail_after_log_events ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_archive_for_stopped_chambers_and_unarchive_when_archived ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_cryochamber_messages_as_system_notices ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_supports_chinese_language_toggle ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_uses_session_summary_in_header_with_hover_title ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_wake_chip_uses_relative_first_copy ... ok
[INFO] [stdout] test hub::routes::sync::tests::get_sync_reports_configured_zulip_backend ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_new_chamber_button_and_modal ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_notes_as_readable_prose ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_session_summary_without_repeated_labels ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_uses_distinct_class_when_agent_session_is_running ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_wires_new_chamber_modal_to_api_and_selection ... ok
[INFO] [stdout] test hub::routes::sync::tests::post_sync_action_rejects_unknown_backend ... ok
[INFO] [stdout] test hub::security::tests::build_allowlist_adds_configured_host_without_duplicating_loopback ... ok
[INFO] [stdout] test hub::security::tests::build_allowlist_always_contains_loopback ... ok
[INFO] [stdout] test hub::routes::sync::tests::get_sync_returns_empty_for_unconfigured_chamber ... ok
[INFO] [stdout] test hub::security::tests::csrf_ok_requires_custom_header_or_same_origin_fetch_metadata ... ok
[INFO] [stdout] test hub::security::tests::host_is_allowed_accepts_loopback_and_configured_rejects_others ... ok
[INFO] [stdout] test hub::security::tests::host_part_handles_ipv6 ... ok
[INFO] [stdout] test hub::routes::chambers::tests::post_new::creates_new_chamber_with_custom_api_key_provider ... ok
[INFO] [stdout] test hub::routes::sync::tests::post_sync_action_rejects_unknown_verb ... ok
[INFO] [stdout] test hub::security::tests::request_host_reads_header_then_uri_authority ... ok
[INFO] [stdout] test hub::state::tests::resolve_returns_none_for_unknown_id ... ok
[INFO] [stdout] test hub::state::tests::watcher_targets_skip_archived_chambers ... ok
[INFO] [stdout] test hub::security::tests::normalize_host_lowercases_and_unwraps_brackets ... ok
[INFO] [stdout] test hub::tests::router_security::foreign_host_header_is_forbidden ... ok
[INFO] [stdout] test hub::tests::router_security::hostless_post_reaches_handler ... ok
[INFO] [stdout] test hub::security::tests::is_state_changing_only_for_unsafe_methods ... ok
[INFO] [stdout] test hub::state::tests::resolve_finds_known_chamber ... ok
[INFO] [stdout] test hub::tests::router_security::post_start_without_csrf_header_is_forbidden ... ok
[INFO] [stdout] test hub::tests::test_classify_relative_time_preserves_unit_boundaries ... ok
[INFO] [stdout] test hub::tests::test_format_relative_time_basic ... ok
[INFO] [stdout] test hub::tests::router_security::post_reset_cross_site_is_forbidden ... ok
[INFO] [stdout] test hub::tests::router_security::post_reset_with_same_origin_fetch_metadata_reaches_handler ... ok
[INFO] [stdout] test hub::tests::router_security::loopback_get_is_allowed ... ok
[INFO] [stdout] test hub::tests::router_security::post_start_with_csrf_header_reaches_handler ... ok
[INFO] [stdout] test hub::watchers::tests::message_direction_for_path_classifies_inbox_and_outbox_paths ... ok
[INFO] [stdout] test hub::watchers::tests::classify_message_event_paths_filters_kind_extension_and_direction ... ok
[INFO] [stdout] test lifecycle::tests::restarted_state_requires_pid_or_instance_change ... ok
[INFO] [stdout] test log::tests::test_classify_session_outcome_prioritizes_failure_markers ... ok
[INFO] [stdout] test lib_tests::test_ensure_chamber_dir_rejects_non_chamber_with_actionable_message ... ok
[INFO] [stdout] test log::tests::test_daily_digests_empty_for_missing_log ... ok
[INFO] [stdout] test lib_tests::test_work_dir_prefers_chamber_dir_env_over_cwd ... ok
[INFO] [stdout] test log::tests::test_event_logger_drop_writes_interrupted ... ok
[INFO] [stdout] test hub::security::tests::host_part_strips_port ... ok
[INFO] [stdout] test log::tests::test_daily_digests_group_sessions_by_log_date_descending ... ok
[INFO] [stdout] test log::tests::test_daily_digests_limit_days ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_renders_daily_digests_in_log_tab ... ok
[INFO] [stdout] test lifecycle::tests::restarted_state_accepts_any_live_state_when_no_baseline_exists ... ok
[INFO] [stdout] test hub::watchers::tests::drop_watcher_allows_ensure_watching_to_rebuild ... ok
[INFO] [stdout] test hub::watchers::tests::ensure_watching_is_idempotent ... ok
[INFO] [stdout] test log::tests::test_injected_event_text_cannot_forge_session_or_rewrite_task ... ok
[INFO] [stdout] test log::tests::test_parse_session_header_malformed ... ok
[INFO] [stdout] test log::tests::test_parse_plan_complete_only_latest_session ... ok
[INFO] [stdout] test log::tests::test_parse_session_header_valid ... ok
[INFO] [stdout] test log::tests::test_parse_latest_session_summary_ignores_old_session ... ok
[INFO] [stdout] test log::tests::test_parse_plan_complete_present ... ok
[INFO] [stdout] test hub::routes::pages::tests::shell_hides_start_button_on_completed_plan ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_since_empty_log ... ok
[INFO] [stdout] test log::tests::test_parse_latest_session_summary_from_hibernate_wake ... ok
[INFO] [stdout] test log::tests::test_parse_plan_complete_absent ... ok
[INFO] [stdout] test log::tests::test_parse_task_absent ... ok
[INFO] [stdout] test log::tests::test_parse_wake_no_wake_line ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_exit_code_0_without_hibernate_is_failure ... ok
[INFO] [stdout] test log::tests::test_event_logger_session_lifecycle ... ok
[INFO] [stdout] test log::tests::test_parse_task_present ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_since_counts_correctly ... ok
[INFO] [stdout] test log::tests::test_read_current_session_incomplete ... ok
[INFO] [stdout] test log::tests::test_parse_wake_wrong_format ... ok
[INFO] [stdout] test log::tests::test_read_recent_sessions_empty_log_returns_none ... ok
[INFO] [stdout] test log::tests::test_read_latest_session_end_before_start ... ok
[INFO] [stdout] test log::tests::test_parse_wake_valid ... ok
[INFO] [stdout] test log::tests::test_read_latest_session_multiple ... ok
[INFO] [stdout] test log::tests::test_read_recent_sessions_returns_last_n ... ok
[INFO] [stdout] test lifecycle::tests::stop_chamber_leaves_locked_but_unresponsive_pid_untouched ... ok
[INFO] [stdout] test message::tests::format_inbox_empty_returns_no_messages ... ok
[INFO] [stdout] test message::tests::format_inbox_multiple_messages_concatenates_in_order ... ok
[INFO] [stdout] test message::tests::format_inbox_single_message_includes_metadata_and_body ... ok
[INFO] [stdout] test message::tests::archive_outbox_messages_ignores_missing_files_and_creates_archive_dir ... ok
[INFO] [stdout] test message::tests::message_filename_base_uses_hash_when_subject_has_no_slug_content ... ok
[INFO] [stdout] test log::tests::test_read_recent_sessions_returns_all_when_fewer_than_n ... ok
[INFO] [stdout] test message::tests::message_filename_base_uses_slug_when_subject_has_alphanumeric_text ... ok
[INFO] [stdout] test log::tests::test_session_header_is_local_basis_without_z_suffix ... ok
[INFO] [stdout] test message::tests::archive_outbox_messages_moves_files_to_outbox_archive ... ok
[INFO] [stdout] test log::tests::test_trailing_newlines_are_trimmed_from_logged_events ... ok
[INFO] [stdout] test message::tests::message_round_trip_preserves_is_question ... ok
[INFO] [stdout] test message::tests::message_to_markdown_emits_question_true_when_is_question_set ... ok
[INFO] [stdout] test message::tests::message_to_markdown_omits_question_field_when_is_question_false ... ok
[INFO] [stdout] test message::tests::parse_frontmatter_fields_keeps_metadata_and_invalid_timestamp_fallback ... ok
[INFO] [stdout] test message::tests::list_message_files_filters_markdown_files_and_sorts_by_filename ... ok
[INFO] [stdout] test message::tests::multi_line_header_values_render_single_line_frontmatter ... ok
[INFO] [stdout] test message::tests::list_message_files_skips_staging_and_dot_prefixed_files ... ok
[INFO] [stdout] test message::tests::slug_char_keeps_alphanumeric_characters ... ok
[INFO] [stdout] test message::tests::parse_message_defaults_is_question_to_false_when_absent ... ok
[INFO] [stdout] test message::tests::parse_message_sets_is_question_false_when_question_false ... ok
[INFO] [stdout] test message::tests::parse_message_sets_is_question_when_frontmatter_question_true ... ok
[INFO] [stdout] test message::tests::slug_char_replaces_separator_characters ... ok
[INFO] [stdout] test message::tests::read_message_dir_skips_malformed_messages ... ok
[INFO] [stdout] test message::tests::write_message_staging_temp_is_not_listed_mid_write ... ok
[INFO] [stdout] test message::tests::split_message_markdown_returns_frontmatter_and_trimmed_body ... ok
[INFO] [stdout] test process::tests::send_signal_group_null_signal_probes_own_group ... ok
[INFO] [stdout] test process::tests::pid_probe_indicates_alive_for_live_process ... ok
[INFO] [stdout] test process::tests::pid_probe_indicates_alive_when_permission_denied ... ok
[INFO] [stdout] test process::tests::pid_probe_indicates_dead_for_missing_process ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_since_filters_by_date ... ok
[INFO] [stdout] test protocol::tests::write_file_if_missing_skips_existing_file_without_clobbering ... ok
[INFO] [stdout] test protocol::tests::scaffold_chamber_creates_all_artifacts_in_empty_dir ... ok
[INFO] [stdout] test protocol::tests::scaffold_chamber_with_claude_does_not_write_agent_protocol_file ... ok
[INFO] [stdout] test process::tests::send_signal_group_kills_group_leader ... ok
[INFO] [stdout] test message::tests::subject_with_newline_cannot_forge_from_header ... ok
[INFO] [stdout] test protocol::tests::write_file_if_missing_writes_new_file ... ok
[INFO] [stdout] test protocol::tests::scaffold_chamber_idempotent_on_existing_files ... ok
[INFO] [stdout] test registry::tests::test_daemon_entry_has_socket_path ... ok
[INFO] [stdout] test registry::tests::list_marks_dead_pid_as_stopped_without_forgetting_chamber ... ok
[INFO] [stdout] test service::linux_tests::systemd_environment_path_is_quoted_and_escaped ... ok
[INFO] [stdout] test service::linux_tests::systemd_exec_start_quotes_each_word_and_escapes_specials ... ok
[INFO] [stdout] test service::linux_tests::systemd_unit_string_quotes_path_and_escapes_percent ... ok
[INFO] [stdout] test socket::tests::dialog_filter_round_trip_variants ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_since_filters_by_time ... ok
[INFO] [stdout] test log::tests::test_parse_sessions_since_interrupted ... ok
[INFO] [stdout] test socket::tests::dialog_request_round_trip_last_n ... ok
[INFO] [stdout] test registry::tests::unregister_keeps_stopped_chamber_in_registry ... ok
[INFO] [stdout] test socket::tests::receive_wait_request_is_not_part_of_the_protocol ... ok
[INFO] [stdout] test registry::tests::list_migrates_single_legacy_raw_path_entry_to_canonical_filename ... ok
[INFO] [stdout] test registry::tests::entry_filename_dedupes_symlinked_path_forms ... ok
[INFO] [stdout] test registry::tests::registry_dir_uses_user_state_home ... ok
[INFO] [stdout] test socket::tests::test_deserialize_send_request ... ok
[INFO] [stdout] test socket::tests::test_accept_empty_line ... ok
[INFO] [stdout] test socket::tests::test_accept_one_rejects_mismatched_instance_id ... ok
[INFO] [stdout] test socket::tests::test_accept_malformed_json ... ok
[INFO] [stdout] test socket::tests::test_responder_peer_disconnected_detects_dead_client ... ok
[INFO] [stdout] test registry::tests::list_prunes_registry_entries_for_missing_chambers ... ok
[INFO] [stdout] test socket::tests::test_accept_one_large_request_round_trips ... ok
[INFO] [stdout] test socket::tests::test_accept_unknown_fields_ignored ... ok
[INFO] [stdout] test socket::tests::test_hibernate_request_without_linger_deserializes ... ok
[INFO] [stdout] test socket::tests::test_serialize_hello_request ... ok
[INFO] [stdout] test socket::tests::test_serialize_hibernate_request ... ok
[INFO] [stdout] test socket::tests::test_serialize_response_ok ... ok
[INFO] [stdout] test socket::tests::test_send_request_no_server ... ok
[INFO] [stdout] test socket::tests::test_serialize_receive_request ... ok
[INFO] [stdout] test socket::tests::test_todo_done_request_serialization ... ok
[INFO] [stdout] test socket::tests::test_todo_list_request_serialization ... ok
[INFO] [stdout] test socket::tests::test_todo_remove_request_serialization ... ok
[INFO] [stdout] test socket::tests::test_socket_path ... ok
[INFO] [stdout] test state::tests::test_is_locked_no_pid ... ok
[INFO] [stdout] test socket::tests::test_socket_server_roundtrip ... ok
[INFO] [stdout] test state::tests::test_is_locked_own_pid ... ok
[INFO] [stdout] test socket::tests::test_send_request_with_instance_id_uses_explicit_instance_not_state ... ok
[INFO] [stdout] test state::tests::test_load_empty_file ... ok
[INFO] [stdout] test state::tests::test_load_minimal_json ... ok
[INFO] [stdout] test state::tests::test_session_active_defaults_false_when_missing ... ok
[INFO] [stdout] test state::tests::test_legacy_retry_count_is_not_reserialized ... ok
[INFO] [stdout] test sync_common::tests::backend_parse_roundtrip ... ok
[INFO] [stdout] test registry::tests::list_dedupes_legacy_raw_path_entries_for_same_canonical_chamber ... ok
[INFO] [stdout] test socket::tests::test_todo_add_request_serialization ... ok
[INFO] [stdout] test state::tests::test_load_corrupted_json ... ok
[INFO] [stdout] test sync_common::tests::classify_sync_error_detects_auth_or_config ... ok
[INFO] [stdout] test sync_common::tests::classify_sync_error_matches_ureq3_status_error_format ... ok
[INFO] [stdout] test sync_common::tests::format_outbox_post_quotes_each_system_message_line ... ok
[INFO] [stdout] test sync_common::tests::format_outbox_post_marks_system_messages_as_quotes ... ok
[INFO] [stdout] test sync_common::tests::classify_sync_error_treats_unknown_as_transient ... ok
[INFO] [stdout] test sync_common::tests::format_outbox_post_uses_body_only_for_agent_reply ... ok
[INFO] [stdout] test sync_common::tests::outbox_post_style_uses_attribution_for_other_senders ... ok
[INFO] [stdout] test sync_common::tests::format_outbox_post_keeps_attribution_for_other_senders ... ok
[INFO] [stdout] test state::tests::test_session_active_round_trip ... ok
[INFO] [stdout] test sync_common::tests::outbox_post_style_uses_system_quote_for_cryochamber ... ok
[INFO] [stdout] test state::tests::test_legacy_last_report_time_is_not_reserialized ... ok
[INFO] [stdout] test sync_common::tests::sync_loop_can_skip_send_for_a_receive_cycle ... ok
[INFO] [stdout] test sync_common::tests::classify_sync_error_walks_error_chain ... ok
[INFO] [stdout] test sync_common::tests::outbox_post_style_uses_body_only_for_agent ... ok
[INFO] [stdout] test sync_common::tests::push_outbox_messages_archives_successful_posts ... ok
[INFO] [stdout] test sync_common::tests::sync_common_does_not_dispatch_to_concrete_backends ... ok
[INFO] [stdout] test sync_common::tests::sync_loop_halts_when_send_reports_halt ... ok
[INFO] [stdout] test sync_common::tests::transient_error_log_logs_first_and_every_20th_failure ... ok
[INFO] [stdout] test sync_common::tests::sync_loop_receives_then_sends_each_cycle_after_outbox_event ... ok
[INFO] [stdout] test sync_common::tests::push_outbox_messages_stops_on_transient_error_and_leaves_message_unarchived ... ok
[INFO] [stdout] test registry::tests::set_archived_persists_across_register_and_unregister ... ok
[INFO] [stdout] test sync_common::tests::transient_error_log_reports_recovery_once ... ok
[INFO] [stdout] test sync_control::tests::summarize_all_empty_for_unconfigured_dir ... ok
[INFO] [stdout] test sync_control::tests::summarize_all_returns_configured_backends ... ok
[INFO] [stdout] test sync_common::tests::push_outbox_messages_skips_permanently_rejected_message_and_delivers_later_ones ... ok
[INFO] [stdout] test sync_control::tests::wait_for_state_returns_immediately_when_already_matching ... ok
[INFO] [stdout] test todo::tests::normalize_date_only_means_midnight ... ok
[INFO] [stdout] test sync_common::tests::sync_loop_halts_on_halt_command_without_sending ... ok
[INFO] [stdout] test todo::tests::normalize_iso_minute_is_passthrough ... ok
[INFO] [stdout] test todo::tests::normalize_iso_seconds_truncates_to_minute ... ok
[INFO] [stdout] test todo::tests::normalize_iso_space_separator_accepted ... ok
[INFO] [stdout] test sync_control::tests::pull_and_push_use_zulip_env_override ... ok
[INFO] [stdout] test todo::tests::normalize_rejects_natural_language ... ok
[INFO] [stdout] test todo::tests::normalize_rejects_negative_offset ... ok
[INFO] [stdout] test todo::tests::test_backward_compat_missing_at_field ... ok
[INFO] [stdout] test todo::tests::normalize_rejects_tz_offset_with_usage_error ... ok
[INFO] [stdout] test todo::tests::normalize_relative_offset_resolves_against_now ... ok
[INFO] [stdout] test todo::tests::test_corrupt_todo_json_errors_loudly_not_silently_empty ... ok
[INFO] [stdout] test todo::tests::test_display_for_prompt_shows_everything_when_few_done_items ... ok
[INFO] [stdout] test todo::tests::test_display_for_prompt_hides_old_done_items_behind_a_note ... ok
[INFO] [stdout] test todo::tests::test_display_for_prompt_always_shows_claimed_and_pending_regardless_of_age ... ok
[INFO] [stdout] test todo::tests::test_todo_file_claim_due_accepts_seconds_precision ... ok
[INFO] [stdout] test todo::tests::test_empty_todo_json_loads_as_empty_list ... ok
[INFO] [stdout] test todo::tests::test_todo_file_next_valid_wake_accepts_seconds_precision ... ok
[INFO] [stdout] test sync_control::tests::start_invokes_sync_subcommand_via_env_override ... ok
[INFO] [stdout] test todo::tests::test_todo_file_complete_claimed_marks_claimed_items_done ... ok
[INFO] [stdout] test todo::tests::test_todo_file_add_dedups_open_duplicates ... ok
[INFO] [stdout] test todo::tests::test_todo_file_claim_due_claims_due_items_and_returns_them ... ok
[INFO] [stdout] test todo::tests::test_todo_file_reschedule_claimed_after_crash_marks_claimed_done_and_adds_retry ... ok
[INFO] [stdout] test todo::tests::test_todo_file_next_valid_wake_skips_invalid_and_empty ... ok
[INFO] [stdout] test todo::tests::test_todo_file_next_valid_wake_ignores_claimed_items ... ok
[INFO] [stdout] test sync_control::tests::stop_propagates_non_zero_exit_as_error ... ok
[INFO] [stdout] test zulip_sync::pid_tests::read_invalid_pid_returns_none ... ok
[INFO] [stdout] test zulip_sync::pid_tests::read_missing_pid_returns_none ... ok
[INFO] [stdout] test zulip_sync::pid_tests::read_present_pid_returns_value ... ok
[INFO] [stdout] test zulip_sync::pid_tests::pid_path_points_into_dir ... ok
[INFO] [stdout] test zulip_sync::pid_tests::running_is_false_when_no_pid_file ... ok
[INFO] [stdout] test zulip_sync::pid_tests::running_is_false_for_dead_pid ... ok
[INFO] [stdout] test todo::tests::test_todo_file_round_trips_direct_file_operations ... ok
[INFO] [stdout] test state::tests::test_is_locked_stale_pid ... ok
[INFO] [stdout] test hub::lifecycle::tests::wait_for_live_daemon_times_out_when_no_daemon_registers ... ok
[INFO] [stdout] test hub::lifecycle::tests::wait_for_live_daemon_times_out_with_unlocked_state ... ok
[INFO] [stdout] test socket::tests::test_accept_one_times_out_on_silent_client ... ok
[INFO] [stdout] test hub::watchers::tests::watcher_emits_new_message_event_with_chamber_id ... ok
[INFO] [stdout] test sync_control::tests::wait_for_state_returns_false_on_timeout ... ok
[INFO] [stdout] test daemon::tests::test_inbox_watcher_ignores_non_create_events ... ok
[INFO] [stdout] test sync_control::tests::wait_for_state_observes_transition_before_deadline ... ok
[INFO] [stdout] test daemon::tests::test_stale_scheduled_wake_with_no_due_work_skips_session_and_resyncs ... ok
[INFO] [stdout] test daemon::tests::test_scheduled_wake_with_unreadable_todos_keeps_retrying_until_healed ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- hub::lifecycle::tests::start_chamber_rejects_missing_cryo_toml stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hub::lifecycle::tests::start_chamber_rejects_missing_cryo_toml' (3525) panicked at src/hub/../unit_tests/hub/lifecycle.rs:7:5:
[INFO] [stdout] assertion failed: err.to_string().contains("no cryo.toml")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c2e9cc3f101 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5c2e9cc58e2a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5c2e9cc4452c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5c2e9cc14dd6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5c2e9cc35279 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5c2e9cade2a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5c2e9cc355a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5c2e9cc14eb4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5c2e9cc0cf89 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5c2e9cc1624d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5c2e9cc5964c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5c2e9cc59612 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5c2e9c7f0f88 - <cryochamber[8b69368e02d76a75]::hub::lifecycle::tests::start_chamber_rejects_missing_cryo_toml::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5c2e9cad16eb - 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:     0x5c2e9cade8c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5c2e9cad81b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5c2e9cae1952 - <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:     0x5c2e9cc3dbaf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7faed117bdfa - <unknown>
[INFO] [stdout]   19:     0x7faed120f3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- hub::lifecycle::tests::start_chamber_rejects_missing_plan_md stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hub::lifecycle::tests::start_chamber_rejects_missing_plan_md' (3526) panicked at src/hub/../unit_tests/hub/lifecycle.rs:16:5:
[INFO] [stdout] assertion failed: err.to_string().contains("plan.md")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c2e9cc3f101 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5c2e9cc58e2a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5c2e9cc4452c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5c2e9cc14dd6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5c2e9cc35279 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5c2e9cade2a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5c2e9cc355a2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5c2e9cc14eb4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5c2e9cc0cf89 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5c2e9cc1624d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5c2e9cc5964c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5c2e9cc59612 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5c2e9c7f0ca5 - <cryochamber[8b69368e02d76a75]::hub::lifecycle::tests::start_chamber_rejects_missing_plan_md::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5c2e9cad16eb - 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:     0x5c2e9cade8c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5c2e9cad81b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5c2e9cae1952 - <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:     0x5c2e9cc3dbaf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7faed117bdfa - <unknown>
[INFO] [stdout]   19:     0x7faed120f3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     hub::lifecycle::tests::start_chamber_rejects_missing_cryo_toml
[INFO] [stdout]     hub::lifecycle::tests::start_chamber_rejects_missing_plan_md
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 582 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0", kill_on_drop: false }`
[INFO] [stdout] 0403dcf92c11e7e440ef612ed8a12609f87b0c2a3555c6e45937ff9d35d17bc0
