[INFO] fetching crate kage-core 0.3.0...
[INFO] testing kage-core-0.3.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate kage-core 0.3.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate kage-core 0.3.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kage-core 0.3.0
[INFO] tweaked toml for crates.io crate kage-core 0.3.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kage-core 0.3.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kage-core 0.3.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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d
[INFO] running `Command { std: "docker" "start" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", 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" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", 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" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling toml_edit v0.25.15+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rand v0.10.3
[INFO] [stderr]    Compiling dirs v7.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling ulid v3.0.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling kage-core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", 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" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.16.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling kage-core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", 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" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/kage_core-3b66775388e8231a)
[INFO] [stdout] 
[INFO] [stdout] running 297 tests
[INFO] [stdout] test agent_report::tests::a_closing_tag_in_the_body_is_escaped_and_restored ... ok
[INFO] [stdout] test agent_report::tests::several_reports_in_one_message_are_all_found ... ok
[INFO] [stdout] test agent_report::tests::a_finished_report_reads_as_the_engine_has_always_written_it ... ok
[INFO] [stdout] test agent_report::tests::prose_between_reports_is_kept_and_both_reports_parse ... ok
[INFO] [stdout] test agent_report::tests::agent_text_splits_from_the_words_in_front ... ok
[INFO] [stdout] test agent_report::tests::a_padded_header_line_still_reads ... ok
[INFO] [stdout] test agent_report::tests::every_state_and_limit_round_trips ... ok
[INFO] [stdout] test agent_report::tests::mail_round_trips_with_its_closing_tag_escaped ... ok
[INFO] [stdout] test agent_report::tests::plain_text_and_other_elements_are_not_reports ... ok
[INFO] [stdout] test agents::tests::builtins_parse_and_list ... ok
[INFO] [stdout] test cancel::tests::cancel_is_idempotent ... ok
[INFO] [stdout] test agents::tests::inherit_means_none ... ok
[INFO] [stdout] test agents::tests::unknown_keys_are_ignored ... ok
[INFO] [stdout] test agents::tests::description_only_gets_the_defaults ... ok
[INFO] [stdout] test agents::tests::dir_loads_the_md_extension_case_insensitively ... ok
[INFO] [stdout] test agents::tests::file_with_every_key_parses ... ok
[INFO] [stdout] test agents::tests::a_user_file_replaces_the_builtin ... ok
[INFO] [stdout] test agents::tests::dir_loads_flat_markdown_files_only ... ok
[INFO] [stdout] test agent_report::tests::an_old_header_without_stats_or_model_reads ... ok
[INFO] [stdout] test agents::tests::isolation_is_none_or_worktree ... ok
[INFO] [stdout] test agents::tests::tools_split_and_trim ... ok
[INFO] [stdout] test agents::tests::turn_limits_and_timeouts_parse ... ok
[INFO] [stdout] test cancel::tests::blocked_receiver_wakes_on_cancel_from_another_thread ... ok
[INFO] [stdout] test agents::tests::invalid_files_fail_with_the_path ... ok
[INFO] [stdout] test cancel::tests::cancel_propagates_to_clones ... ok
[INFO] [stdout] test cancel::tests::cancelling_a_grandparent_wakes_a_grandchild_watch ... ok
[INFO] [stdout] test cancel::tests::child_clones_share_the_child_flag ... ok
[INFO] [stdout] test cancel::tests::fresh_flag_is_not_cancelled ... ok
[INFO] [stdout] test cancel::tests::reset_clears_a_cancelled_flag ... ok
[INFO] [stdout] test cancel::tests::resetting_a_child_keeps_a_cancelled_parent ... ok
[INFO] [stdout] test cancel::tests::resetting_the_parent_clears_the_cascade ... ok
[INFO] [stdout] test cancel::tests::dropping_watches_unregisters_them ... ok
[INFO] [stdout] test cancel::tests::watch_under_a_cancelled_ancestor_is_ready_at_once ... ok
[INFO] [stdout] test config::tests::an_empty_config_env_value_falls_back_to_home ... ok
[INFO] [stdout] test cancel::tests::flag_is_send_and_sync ... ok
[INFO] [stdout] test cancel::tests::cancelling_a_parent_reaches_every_descendant ... ok
[INFO] [stdout] test config::tests::create_dir_all_of_an_empty_parent_is_a_noop ... ok
[INFO] [stdout] test cancel::tests::watch_after_cancel_and_reset_is_not_ready ... ok
[INFO] [stdout] test cancel::tests::cancelling_a_child_does_not_wake_the_parent_watch ... ok
[INFO] [stdout] test cancel::tests::cancelling_a_child_leaves_the_parent_clear ... ok
[INFO] [stdout] test cancel::tests::watch_receives_after_cancel ... ok
[INFO] [stdout] test config::tests::keybindings_leader_and_timeoutlen_skip_defaults ... ok
[INFO] [stdout] test config::tests::default_provider_model_is_anthropic_sonnet ... ok
[INFO] [stdout] test config::tests::editor_mode_serializes_lowercase ... ok
[INFO] [stdout] test config::tests::custom_model_cost_parses_and_bad_prices_fail_validation ... ok
[INFO] [stdout] test config::tests::permissions_section_defaults_empty_and_hidden ... ok
[INFO] [stdout] test config::tests::acp_agents_default_empty_and_parse_from_table ... ok
[INFO] [stdout] test config::tests::load_default_rejects_bad_security_patterns_in_the_user_file ... ok
[INFO] [stdout] test config::tests::env_overrides_file ... ok
[INFO] [stdout] test config::tests::file_overrides_defaults ... ok
[INFO] [stdout] test config::tests::keybindings_leader_and_timeoutlen_parse ... ok
[INFO] [stdout] test config::tests::leftover_sandbox_table_still_parses ... ok
[INFO] [stdout] test config::tests::providers_parses_custom_and_override_tables_side_by_side ... ok
[INFO] [stdout] test config::tests::providers_section_defaults_empty ... ok
[INFO] [stdout] test config::tests::mcp_server_parses_stdio_and_http_transports ... ok
[INFO] [stdout] test config::tests::providers_validate_accepts_well_formed_config ... ok
[INFO] [stdout] test config::tests::keybindings_keep_unknown_keys_for_reporting ... ok
[INFO] [stdout] test config::tests::providers_validate_rejects_unknown_override_id ... ok
[INFO] [stdout] test config::tests::providers_validate_rejects_custom_id_shadowing_registered ... ok
[INFO] [stdout] test config::tests::load_layered_rejects_bad_security_patterns_in_the_user_file ... ok
[INFO] [stdout] test config::tests::providers_validate_rejects_invalid_custom_id ... ok
[INFO] [stdout] test config::tests::mcp_server_parses_the_oauth_table ... ok
[INFO] [stdout] test config::tests::providers_validate_requires_models ... ok
[INFO] [stdout] test config::tests::missing_file_yields_defaults ... ok
[INFO] [stdout] test config::tests::plugins_config_parses_nested_tables_per_stem ... ok
[INFO] [stdout] test config::tests::quoted_and_spaced_state_env_yields_a_clean_state_dir ... ok
[INFO] [stdout] test config::tests::save_keys_refuses_an_empty_key_path_and_writes_nothing ... ok
[INFO] [stdout] test config::tests::shell_program_parses ... ok
[INFO] [stdout] test config::tests::save_keys_refuses_to_replace_a_value_with_a_table ... ok
[INFO] [stdout] test config::tests::loop_section_defaults_and_parses ... ok
[INFO] [stdout] test config::tests::shell_scrub_env_parses_and_validates ... ok
[INFO] [stdout] test config::tests::shell_scrub_env_rejects_bad_globs ... ok
[INFO] [stdout] test config::tests::load_rejects_bad_security_patterns_and_load_raw_keeps_them_loadable ... ok
[INFO] [stdout] test config::tests::shell_program_rejects_empty ... ok
[INFO] [stdout] test config::tests::custom_models_declare_reasoning_efforts_and_input ... ok
[INFO] [stdout] test config_edit::tests::a_removed_entry_leaves_its_neighbours ... ok
[INFO] [stdout] test config_edit::tests::a_float_stays_a_float_through_an_edit ... ok
[INFO] [stdout] test config::tests::project_file_overrides_user_file ... ok
[INFO] [stdout] test config_edit::tests::a_replaced_table_keeps_its_key_order_and_comments ... ok
[INFO] [stdout] test config::tests::providers_custom_requires_base_url_and_defaults_models ... ok
[INFO] [stdout] test config_edit::tests::a_value_toml_cannot_hold_is_refused ... ok
[INFO] [stdout] test config::tests::editor_mode_defaults_modeless_and_parses_vim ... ok
[INFO] [stdout] test config_edit::tests::an_inline_entry_stays_inline ... ok
[INFO] [stdout] test config::tests::providers_env_overrides_file_values ... ok
[INFO] [stdout] test config_edit::tests::an_inline_model_list_keeps_its_key_order ... ok
[INFO] [stdout] test config_edit::tests::an_integer_past_the_toml_range_errors_instead_of_becoming_a_float ... ok
[INFO] [stdout] test error::tests::from_io_error ... ok
[INFO] [stdout] test error::tests::from_serde_error ... ok
[INFO] [stdout] test error::tests::invalid_path_message_contains_reason ... ok
[INFO] [stdout] test event::tests::auth_error_serializes_with_auth_kind ... ok
[INFO] [stdout] test error::tests::cancelled_displays_cleanly ... ok
[INFO] [stdout] test event::tests::loop_error_serializes_with_kind_tag ... ok
[INFO] [stdout] test event::tests::loop_event_roundtrips ... ok
[INFO] [stdout] test config_edit::tests::current_reads_the_entry_as_json ... ok
[INFO] [stdout] test event::tests::loop_event_carries_type_tag ... ok
[INFO] [stdout] test config_edit::tests::an_inline_key_of_a_replaced_table_stays_inline ... ok
[INFO] [stdout] test event::tests::token_usage_default_is_zero ... ok
[INFO] [stdout] test config::tests::providers_serialize_then_load_roundtrips ... ok
[INFO] [stdout] test config_edit::tests::integers_stay_integers_through_an_edit ... ok
[INFO] [stdout] test event::tests::message_end_deserializes_without_stop_reason ... ok
[INFO] [stdout] test event::tests::tool_output_omits_structured_when_none ... ok
[INFO] [stdout] test config_edit::tests::models_become_an_array_of_tables ... ok
[INFO] [stdout] test config::tests::quoted_and_spaced_config_env_yields_a_clean_default_path ... ok
[INFO] [stdout] test event::tests::tool_output_omits_terminate_when_default_false ... ok
[INFO] [stdout] test config::tests::save_keys_edits_inline_and_dotted_tables_in_place ... ok
[INFO] [stdout] test config::tests::save_keys_creates_a_missing_file_with_only_those_keys ... ok
[INFO] [stdout] test event::tests::tool_output_emits_terminate_when_true ... ok
[INFO] [stdout] test fsutil::tests::tilde_expands_to_home_and_tilde_user_stays ... ok
[INFO] [stdout] test fsutil::tests::unquote_and_trim_feeds_tilde_expansion ... ok
[INFO] [stdout] test fsutil::tests::unquote_and_trim_handles_unicode_and_empty_inputs ... ok
[INFO] [stdout] test fsutil::tests::unquote_and_trim_cleans_plain_quoted_and_spaced_values ... ok
[INFO] [stdout] test fsutil::tests::unquote_and_trim_keeps_unmatched_mismatched_and_interior_quotes ... ok
[INFO] [stdout] test highlight::tests::colors_parse ... ok
[INFO] [stdout] test highlight::tests::check_links_names_a_dangling_target_and_allows_forward_references ... ok
[INFO] [stdout] test highlight::tests::cycles_and_deep_chains_resolve_empty ... ok
[INFO] [stdout] test highlight::tests::links_resolve_and_win_over_fields ... ok
[INFO] [stdout] test highlight::tests::spec_deserializes_from_toml ... ok
[INFO] [stdout] test keymap::tests::actions_hold_the_rebindable_names ... ok
[INFO] [stdout] test keymap::tests::chord_form_is_one_key ... ok
[INFO] [stdout] test keymap::tests::ctrl_letters_ignore_case_unless_shift_is_named ... ok
[INFO] [stdout] test keymap::tests::del_removes_and_missing_errors ... ok
[INFO] [stdout] test keymap::tests::display_round_trips ... ok
[INFO] [stdout] test keymap::tests::earlier_mode_wins_and_set_replaces ... ok
[INFO] [stdout] test highlight::tests::set_base_drops_kage_overrides_only ... ok
[INFO] [stdout] test highlight::tests::set_validates_colors_and_name ... ok
[INFO] [stdout] test keymap::tests::entries_keep_first_set_order ... ok
[INFO] [stdout] test keymap::tests::exact_match_that_is_also_a_prefix ... ok
[INFO] [stdout] test fsutil::tests::failed_rename_removes_the_temp_file ... ok
[INFO] [stdout] test keymap::tests::lookup_is_longest_match ... ok
[INFO] [stdout] test keymap::tests::mode_letters_round_trip ... ok
[INFO] [stdout] test keymap::tests::notation_errors ... ok
[INFO] [stdout] test message::tests::content_carries_type_tag ... ok
[INFO] [stdout] test message::tests::flattened_thinking_frames_text_and_skips_blank ... ok
[INFO] [stdout] test message::tests::message_roundtrips_through_json ... ok
[INFO] [stdout] test keymap::tests::leader_expands_at_parse_time ... ok
[INFO] [stdout] test message::tests::only_agent_and_swarm_results_count_as_agent_results ... ok
[INFO] [stdout] test keymap::tests::vim_notation_parses ... ok
[INFO] [stdout] test message::tests::padded_agent_and_swarm_results_are_still_detected ... ok
[INFO] [stdout] test message::tests::thinking_duration_is_written_only_when_timed ... ok
[INFO] [stdout] test message::tests::thinking_without_a_signature_reads_and_writes_as_before ... ok
[INFO] [stdout] test message::tests::role_serializes_as_snake_case ... ok
[INFO] [stdout] test modality::tests::empty_inputs_lack_nothing ... ok
[INFO] [stdout] test message::tests::shell_runs_read_back_from_their_text ... ok
[INFO] [stdout] test modality::tests::inputs_roundtrip_and_label_in_order ... ok
[INFO] [stdout] test model_id::tests::both_forms_split_at_the_provider ... ok
[INFO] [stdout] test options::tests::an_idempotent_set_returns_the_change_without_queueing ... ok
[INFO] [stdout] test model_id::tests::the_old_form_is_rewritten_with_a_slash ... ok
[INFO] [stdout] test message::tests::tool_results_over_the_limit_keep_their_head_and_tail ... ok
[INFO] [stdout] test options::tests::default_config_seeds_defaults_only ... ok
[INFO] [stdout] test options::tests::defaults_validate_and_seed_the_default_store ... ok
[INFO] [stdout] test options::tests::compaction_threshold_validates_zero ... ok
[INFO] [stdout] test options::tests::option_from_json_accepts_scalars_and_rejects_the_rest ... ok
[INFO] [stdout] test options::tests::option_to_json_maps_each_variant ... ok
[INFO] [stdout] test config::tests::save_keys_appends_missing_tables_after_the_hand_written_ones ... ok
[INFO] [stdout] test options::tests::set_records_source_and_queues_changes ... ok
[INFO] [stdout] test config_edit::tests::a_table_is_replaced_and_the_rest_keeps_its_comments ... ok
[INFO] [stdout] test config::tests::permissions_table_parses_under_config ... ok
[INFO] [stdout] test options::tests::toml_paths_exist_in_serialized_config ... ok
[INFO] [stdout] test options::tests::thinking_levels_match_the_ladder ... ok
[INFO] [stdout] test options::tests::transcript_on_exit_takes_its_three_values ... ok
[INFO] [stdout] test fsutil::tests::replacing_preserves_existing_mode ... ok
[INFO] [stdout] test fsutil::tests::failed_write_leaves_the_old_file_intact ... ok
[INFO] [stdout] test permissions::tests::action_serializes_lowercase ... ok
[INFO] [stdout] test permissions::tests::confine_paths_defaults_on_and_explicit_false_is_honoured ... ok
[INFO] [stdout] test permissions::tests::default_applies_when_no_pattern_matches ... ok
[INFO] [stdout] test permissions::tests::deny_beats_allow ... ok
[INFO] [stdout] test permissions::tests::mcp_action_defaults_to_ask_and_honours_entries ... ok
[INFO] [stdout] test permissions::tests::mcp_table_parses_from_toml ... ok
[INFO] [stdout] test permissions::tests::entry_default_allow_keeps_yolo_for_unmatched ... ok
[INFO] [stdout] test permissions::tests::mcp_wildcard_covers_unlisted_servers ... ok
[INFO] [stdout] test permissions::tests::missing_tool_entry_allows ... ok
[INFO] [stdout] test permissions::tests::mcp_wildcard_parses_when_only_key ... ok
[INFO] [stdout] test permissions::tests::rules_are_per_tool ... ok
[INFO] [stdout] test permissions::tests::repeated_checks_answer_identically_through_the_glob_cache ... ok
[INFO] [stdout] test permissions::tests::subject_prefers_command_field ... ok
[INFO] [stdout] test fsutil::tests::parent_entry_sync_tolerates_missing_and_real_dirs ... ok
[INFO] [stdout] test permissions::tests::subject_for_canonicalizes_key_order ... ok
[INFO] [stdout] test permissions::tests::toml_roundtrip ... ok
[INFO] [stdout] test permissions::tests::validate_rejects_bad_glob ... ok
[INFO] [stdout] test protocol::agent_tree::tests::a_spawn_that_would_close_a_cycle_is_ignored ... ok
[INFO] [stdout] test protocol::agent_tree::tests::a_restored_agent_runs_again_when_announced ... ok
[INFO] [stdout] test protocol::agent_tree::tests::a_swarm_item_attribute_matches_whole_names_only ... ok
[INFO] [stdout] test protocol::agent_tree::tests::a_background_agent_restores_from_its_later_report ... ok
[INFO] [stdout] test protocol::agent_tree::tests::an_agent_moves_from_queued_through_waiting_to_done ... ok
[INFO] [stdout] test protocol::agent_tree::tests::an_escaped_swarm_item_reads_back_as_written ... ok
[INFO] [stdout] test protocol::agent_tree::tests::clear_forgets_every_agent ... ok
[INFO] [stdout] test options::tests::save_options_writes_each_option_at_its_toml_path ... ok
[INFO] [stdout] test protocol::agent_tree::tests::remove_subtree_forgets_a_branch_and_keeps_the_rest ... ok
[INFO] [stdout] test protocol::agent_tree::tests::envelopes_from_unknown_sessions_are_not_agents ... ok
[INFO] [stdout] test protocol::agent_tree::tests::restore_reads_the_agents_of_a_stored_conversation ... ok
[INFO] [stdout] test protocol::agent_tree::tests::restore_rebuilds_a_swarm_batch_from_its_aggregate ... ok
[INFO] [stdout] test protocol::agent_tree::tests::root_of_walks_up_to_the_first_session_that_is_not_an_agent ... ok
[INFO] [stdout] test protocol::agent_tree::tests::run_outcomes_map_to_end_states ... ok
[INFO] [stdout] test protocol::agent_tree::tests::time_adds_up_across_runs_and_starts_with_the_first_run ... ok
[INFO] [stdout] test protocol::agent_tree::tests::usage_under_sums_every_depth ... ok
[INFO] [stdout] test protocol::agent_tree::tests::under_lists_depth_first_in_spawn_order ... ok
[INFO] [stdout] test protocol::agent_tree::tests::restore_reads_the_stats_recorded_on_a_wrapper ... ok
[INFO] [stdout] test protocol::mcp::tests::server_info_roundtrips_with_a_flat_status ... ok
[INFO] [stdout] test protocol::tests::canonical_names_leave_unknown_names_alone ... ok
[INFO] [stdout] test protocol::tests::canonical_names_resolve_permission_requests ... ok
[INFO] [stdout] test protocol::tests::an_agent_spawned_envelope_from_before_background_reads ... ok
[INFO] [stdout] test config::tests::save_keys_changes_only_the_named_keys ... ok
[INFO] [stdout] test fsutil::tests::no_temp_files_left_behind ... ok
[INFO] [stdout] test fsutil::tests::writes_and_replaces_file ... ok
[INFO] [stdout] test protocol::tests::agent_spawned_has_its_own_tag ... ok
[INFO] [stdout] test config::tests::thinking_level_parses_and_roundtrips ... ok
[INFO] [stdout] test config::tests::tools_rename_parses_from_the_toml_table ... ok
[INFO] [stdout] test options::tests::agent_limits_validate_their_ranges ... ok
[INFO] [stdout] test options::tests::env_override_wins_over_toml ... ok
[INFO] [stdout] test fsutil::tests::private_write_is_0600_for_new_and_widened_files ... ok
[INFO] [stdout] test options::tests::invalid_toml_value_keeps_default_and_reports ... ok
[INFO] [stdout] test options::tests::set_validates_enums_and_ranges ... ok
[INFO] [stdout] test protocol::tests::canonical_names_resolve_renamed_tool_calls ... ok
[INFO] [stdout] test protocol::tests::every_command_roundtrips ... ok
[INFO] [stdout] test protocol::mcp::tests::every_status_roundtrips ... ok
[INFO] [stdout] test protocol::tests::events_roundtrip_and_tags_stay_disjoint ... ok
[INFO] [stdout] test options::tests::unset_theme_variants_read_the_kage_palettes ... ok
[INFO] [stdout] test protocol::tests::close_roundtrips ... ok
[INFO] [stdout] test protocol::tests::command_is_one_flat_object ... ok
[INFO] [stdout] test protocol::tests::shell_output_has_its_own_tag ... ok
[INFO] [stdout] test protocol::tests::envelope_is_one_flat_object ... ok
[INFO] [stdout] test protocol::tests::restart_mcp_roundtrips ... ok
[INFO] [stdout] test protocol::tests::every_event_roundtrips_inside_an_envelope ... ok
[INFO] [stdout] test resource_block::tests::a_literal_close_tag_in_the_body_is_escaped_and_survives ... ok
[INFO] [stdout] test resource_block::tests::attributes_escape_and_server_is_optional ... ok
[INFO] [stdout] test resource_block::tests::ordinary_text_does_not_parse ... ok
[INFO] [stdout] test skills::tests::invalid_directory_name_errors ... ok
[INFO] [stdout] test risk::tests::risk_serializes_as_snake_case ... ok
[INFO] [stdout] test skills::tests::disable_model_invocation_parses ... ok
[INFO] [stdout] test resource_block::tests::render_then_parse_roundtrips ... ok
[INFO] [stdout] test skills::tests::empty_directory_returns_empty_list ... ok
[INFO] [stdout] test skills::tests::description_over_max_length_errors ... ok
[INFO] [stdout] test skills::tests::folded_block_scalar_joins_indented_lines ... ok
[INFO] [stdout] test skills::tests::literal_block_scalar_keeps_line_breaks_and_chomp_markers ... ok
[INFO] [stdout] test skills::tests::unterminated_frontmatter_errors ... ok
[INFO] [stdout] test resource_block::tests::binary_blocks_carry_their_size ... ok
[INFO] [stdout] test options::tests::toml_values_seed_the_store_with_source_toml ... ok
[INFO] [stdout] test skills::tests::parses_simple_frontmatter ... ok
[INFO] [stdout] test skills::tests::nested_maps_and_block_scalars_parse_like_a_real_skill ... ok
[INFO] [stdout] test skills::tests::missing_directory_returns_empty_list ... ok
[INFO] [stdout] test skills::tests::validates_name_regex_and_length ... ok
[INFO] [stdout] test skills::tests::quoted_values_are_unquoted ... ok
[INFO] [stdout] test skills::tests::no_frontmatter_returns_whole_input_as_body ... ok
[INFO] [stdout] test skills::tests::skill_name_must_match_directory ... ok
[INFO] [stdout] test sse::tests::a_named_frame_with_empty_data_is_kept ... ok
[INFO] [stdout] test skills::tests::loads_a_skill_directory ... ok
[INFO] [stdout] test sse::tests::an_unterminated_frame_flushes_at_eof ... ok
[INFO] [stdout] test sse::tests::comments_and_unknown_fields_are_skipped ... ok
[INFO] [stdout] test sse::tests::a_frame_over_the_cap_is_rejected ... ok
[INFO] [stdout] test sse::tests::crlf_endings_and_missing_space_after_the_colon_parse ... ok
[INFO] [stdout] test sse::tests::a_bare_data_line_is_a_keepalive_between_frames ... ok
[INFO] [stdout] test sse::tests::multi_line_data_joins_with_newlines ... ok
[INFO] [stdout] test templates::tests::loads_a_template_file ... ok
[INFO] [stdout] test templates::tests::positional_substitution ... ok
[INFO] [stdout] test templates::tests::bash_slice_picks_args ... ok
[INFO] [stdout] test sse::tests::event_names_and_data_fields_are_kept ... ok
[INFO] [stdout] test templates::tests::at_and_arguments_join_all ... ok
[INFO] [stdout] test sse::tests::the_cap_spans_the_whole_frame_but_resets_per_frame ... ok
[INFO] [stdout] test templates::tests::a_doubled_dollar_renders_one_literal_dollar ... ok
[INFO] [stdout] test templates::tests::missing_directory_returns_empty ... ok
[INFO] [stdout] test templates::tests::rejects_invalid_filename_stem ... ok
[INFO] [stdout] test templates::tests::loads_templates_dir_ignores_non_md ... ok
[INFO] [stdout] test templates::tests::rejects_when_frontmatter_name_disagrees_with_stem ... ok
[INFO] [stdout] test templates::tests::unknown_placeholders_pass_through ... ok
[INFO] [stdout] test sync::tests::read_and_write_recover_from_poison ... ok
[INFO] [stdout] test thinking::tests::auto_moves_to_the_nearest_level ... ok
[INFO] [stdout] test thinking::tests::levels_follow_efforts_and_toggle ... ok
[INFO] [stdout] test sync::tests::lock_recovers_from_poison ... ok
[INFO] [stdout] test thinking::tests::explicit_levels_are_clamped_and_off_needs_asking ... ok
[INFO] [stdout] test thinking::tests::level_parse_roundtrips_each_variant ... ok
[INFO] [stdout] test thinking::tests::openai_reasoning_effort_caps_at_high ... ok
[INFO] [stdout] test thinking::tests::level_serializes_as_snake_case ... ok
[INFO] [stdout] test thinking::tests::reasoning_roundtrips_through_json ... ok
[INFO] [stdout] test thinking::tests::models_without_a_setting_send_nothing ... ok
[INFO] [stdout] test thinking::tests::unknown_models_pass_explicit_levels_through ... ok
[INFO] [stdout] test thinking::tests::next_in_wraps_within_the_given_levels ... ok
[INFO] [stdout] test thinking::tests::default_budget_tokens_increases_with_level ... ok
[INFO] [stdout] test thinking::tests::auto_is_high_when_the_model_allows_it ... ok
[INFO] [stdout] test thinking::tests::budget_stays_within_bounds ... ok
[INFO] [stdout] test templates::tests::loads_templates_dir_matches_the_extension_case_insensitively ... ok
[INFO] [stdout] test trust::tests::agent_files_cover_the_md_extension_case_insensitively ... ok
[INFO] [stdout] test templates::tests::multibyte_text_around_placeholders_survives ... ok
[INFO] [stdout] test trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable ... FAILED
[INFO] [stdout] test trust::tests::agents_join_the_config_tables_in_one_trust ... ok
[INFO] [stdout] test trust::tests::dot_agents_agents_join_trust_and_win_same_names ... ok
[INFO] [stdout] test trust::tests::project_agents_need_trust_without_a_config_file ... ok
[INFO] [stdout] test trust::tests::project_providers_and_acp_are_ignored_without_prompt ... ok
[INFO] [stdout] test reaper::imp::tests::wait_recovers_a_signaled_status ... ok
[INFO] [stdout] test reaper::imp::tests::try_wait_recovers_a_stolen_status ... ok
[INFO] [stdout] test reaper::imp::tests::drain_reaps_a_finished_child ... ok
[INFO] [stdout] test trust::tests::project_providers_and_acp_stay_ignored_when_trusted ... ok
[INFO] [stdout] test reaper::imp::tests::wait_recovers_a_stolen_status ... ok
[INFO] [stdout] test trust::tests::project_skills_need_trust_and_edit_invalidates ... ok
[INFO] [stdout] test trust::tests::project_without_risky_keys_is_never_untrusted ... ok
[INFO] [stdout] test trust::tests::untrusted_risky_keys_are_dropped_and_harmless_keys_apply ... ok
[INFO] [stdout] test trust::tests::trust_edit_reorder_and_revoke ... ok
[INFO] [stdout] test trust::tests::trust_refuses_a_project_changed_since_it_was_shown ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable' (1491) panicked at src/trust.rs:571:13:
[INFO] [stdout] assertion failed: untrusted_project(&project).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56ba42286ad1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x56ba4229e55a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x56ba4228b39c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x56ba4225f126 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x56ba4227d389 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x56ba4218d060 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x56ba4227d6b2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x56ba4225f204 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x56ba42257959 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x56ba4226019d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x56ba4229ed7c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x56ba4229ed42 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]   12:     0x56ba41f88d27 - <figment[456ce55a1039a9d]::jail::Jail>::expect_with::<kage_core[ea15702a1ec800f2]::trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable::{closure#0}>
[INFO] [stdout]   13:     0x56ba41ff1a4c - kage_core[ea15702a1ec800f2]::trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable
[INFO] [stdout]   14:     0x56ba41f38fd9 - <kage_core[ea15702a1ec800f2]::trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x56ba4218034b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   16:     0x56ba4218d9b5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   17:     0x56ba42187274 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x56ba42190b12 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x56ba42285ae9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7aad49c2cdfa - <unknown>
[INFO] [stdout]   21:     0x7aad49cc03d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     trust::tests::agent_unreadable_at_trust_time_becomes_untrusted_once_readable
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 296 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d", kill_on_drop: false }`
[INFO] [stdout] 6d1edaea1d82a4e8f5acfe8fb7a609fa498036c19fea99a142ee15c412120b4d
