[INFO] cloning repository https://github.com/drdave-flexnetos/weave
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/drdave-flexnetos/weave" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdave-flexnetos%2Fweave", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdave-flexnetos%2Fweave'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 29b2f913177fceba1bb7059db8023a33cd5aedd6
[INFO] testing drdave-flexnetos/weave against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdave-flexnetos%2Fweave" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/drdave-flexnetos/weave
[INFO] finished tweaking git repo https://github.com/drdave-flexnetos/weave
[INFO] tweaked toml for git repo https://github.com/drdave-flexnetos/weave written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/drdave-flexnetos/weave on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/drdave-flexnetos/weave 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/Dicklesworthstone/franken_networkx`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded log v0.4.30
[INFO] [stderr]   Downloaded libsql-sys v0.9.30
[INFO] [stderr]   Downloaded clap_mangen v0.2.33
[INFO] [stderr]   Downloaded libsql-hrana v0.9.30
[INFO] [stderr]   Downloaded mwmatching v0.1.1
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded mt19937 v3.3.0
[INFO] [stderr]   Downloaded which v4.4.2
[INFO] [stderr]   Downloaded prost v0.12.6
[INFO] [stderr]   Downloaded prost-derive v0.12.6
[INFO] [stderr]   Downloaded hyper-rustls v0.25.0
[INFO] [stderr]   Downloaded criterion-plot v0.6.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.20
[INFO] [stderr]   Downloaded clap_complete v4.6.5
[INFO] [stderr]   Downloaded libsql v0.9.30
[INFO] [stderr]   Downloaded libsql-sqlite3-parser v0.13.0
[INFO] [stderr]   Downloaded criterion v0.7.0
[INFO] [stderr]   Downloaded bindgen v0.66.1
[INFO] [stderr]   Downloaded h2 v0.3.27
[INFO] [stderr]   Downloaded libsql-ffi v0.9.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0
[INFO] running `Command { std: "docker" "start" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", 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" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", 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" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling mwmatching v0.1.1
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling mt19937 v3.3.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.5
[INFO] [stderr]    Compiling clap_mangen v0.2.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling fnx-runtime v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling fnx-cgse v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling fnx-classes v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling fnx-algorithms v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling rusqlite v0.40.0
[INFO] [stderr]    Compiling weave-core v0.2.0 (/opt/rustwide/workdir/weave-core)
[INFO] [stderr]    Compiling weave-inject v0.2.0 (/opt/rustwide/workdir/weave-inject)
[INFO] [stderr]    Compiling weave-mcp v0.2.0 (/opt/rustwide/workdir/weave-mcp)
[INFO] [stderr]    Compiling weave v0.2.0 (/opt/rustwide/workdir/weave)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.24s
[INFO] running `Command { std: "docker" "inspect" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", 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" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rusqlite v0.40.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling fnx-runtime v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling fnx-cgse v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling weave-core v0.2.0 (/opt/rustwide/workdir/weave-core)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.6.0
[INFO] [stderr]    Compiling fnx-classes v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling fnx-algorithms v0.1.0 (https://github.com/Dicklesworthstone/franken_networkx#157810a9)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling weave-inject v0.2.0 (/opt/rustwide/workdir/weave-inject)
[INFO] [stderr]    Compiling weave-mcp v0.2.0 (/opt/rustwide/workdir/weave-mcp)
[INFO] [stderr]    Compiling criterion v0.7.0
[INFO] [stderr]    Compiling weave v0.2.0 (/opt/rustwide/workdir/weave)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", 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" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/weave-1a1936209d80f615)
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stdout] test git::tests::capture_non_git_cwd_yields_empty_tags ... ok
[INFO] [stdout] test git::tests::gitdir_garbage_or_main_dir_is_none ... ok
[INFO] [stdout] test git::tests::gitdir_handles_no_trailing_dotgit_and_whitespace ... ok
[INFO] [stdout] test git::tests::gitdir_linked_worktree_yields_name ... ok
[INFO] [stdout] test harness::tests::dry_run_plan_has_seven_layers_and_expected_defaults ... ok
[INFO] [stdout] test harness::tests::codex_install_prompt_shim_is_weave_managed ... ok
[INFO] [stdout] test git::tests::repo_name_is_toplevel_basename ... ok
[INFO] [stdout] test setup::tests::aider_merge_appends_once_and_preserves_foreign ... ok
[INFO] [stdout] test git::tests::porcelain_detached_head_is_empty_branch ... ok
[INFO] [stdout] test git::tests::porcelain_matches_path_and_strips_refs_heads ... ok
[INFO] [stdout] test setup::tests::codex_merge_inserts_before_first_table_and_preserves_foreign ... ok
[INFO] [stdout] test setup::tests::codex_merge_is_idempotent_and_heals_stale_path ... ok
[INFO] [stdout] test setup::tests::codex_notify_line_is_toml_argv_and_round_trips ... ok
[INFO] [stdout] test setup::tests::ephemeral_exe_detection ... ok
[INFO] [stdout] test setup::tests::hook_command_quotes_and_round_trips ... ok
[INFO] [stdout] test setup::tests::aider_prune_removes_only_weave_stanza ... ok
[INFO] [stdout] test setup::tests::resolve_ephemeral_falls_back_to_non_ephemeral_path_weave ... ok
[INFO] [stdout] test setup::tests::rejects_unquoted_prefixes_with_shell_operators_or_whitespace ... ok
[INFO] [stdout] test setup::tests::resolve_ephemeral_nothing_stable_warns ... ok
[INFO] [stdout] test setup::tests::resolve_ephemeral_path_weave_also_ephemeral_is_ignored ... ok
[INFO] [stdout] test setup::tests::resolve_ephemeral_prefers_cargo_bin ... ok
[INFO] [stdout] test setup::tests::resolve_explicit_wins_over_everything ... ok
[INFO] [stdout] test setup::tests::resolve_non_ephemeral_current_exe_is_byte_identical_default ... ok
[INFO] [stdout] test setup::tests::shell_single_quote_escapes_correctly ... ok
[INFO] [stdout] test setup::tests::verify_git_hook_errs_when_foreign_content_clobbered ... ok
[INFO] [stdout] test setup::tests::verify_merged_errs_when_a_foreign_hook_vanished ... ok
[INFO] [stdout] test setup::tests::verify_merged_errs_when_a_weave_hook_is_missing ... ok
[INFO] [stdout] test setup::tests::matches_current_quoted_form ... ok
[INFO] [stdout] test setup::tests::aider_stanza_carries_marker_and_quoted_exe ... ok
[INFO] [stdout] test setup::tests::foreign_commands_excludes_weave_includes_others ... ok
[INFO] [stdout] test setup::tests::codex_prune_removes_only_notify ... ok
[INFO] [stdout] test setup::tests::verify_git_hook_ok_fresh_file ... ok
[INFO] [stdout] test setup::tests::pretooluse_command_is_recognized_as_weave ... ok
[INFO] [stdout] test harness::tests::forge_loop_plan_is_codex_native_and_dry_run_by_default ... ok
[INFO] [stdout] test setup::tests::matches_only_real_weave_hooks ... ok
[INFO] [stdout] test setup::tests::pretooluse_merge_heals_a_stale_exe_path_in_place ... ok
[INFO] [stdout] test setup::tests::pretooluse_uninstall_preserves_foreign_pretooluse_hook ... ok
[INFO] [stdout] test setup::tests::pretooluse_merge_writes_matcher_bearing_entry_and_read_back_verifies ... ok
[INFO] [stdout] test setup::tests::verify_git_hook_errs_when_guard_absent ... ok
[INFO] [stdout] test setup::tests::verify_merged_ok_on_complete_write ... ok
[INFO] [stdout] test setup::tests::verify_pruned_errs_when_foreign_lost ... ok
[INFO] [stdout] test setup::tests::verify_pruned_errs_when_a_weave_hook_survives ... ok
[INFO] [stdout] test setup::tests::verify_merged_errs_when_exe_points_elsewhere ... ok
[INFO] [stdout] test setup::tests::verify_pruned_ok_when_no_weave_hook_and_foreign_kept ... ok
[INFO] [stdout] test tests::dashboard_alive_and_total_counts ... ok
[INFO] [stdout] test tests::dashboard_empty_case ... ok
[INFO] [stdout] test tests::dashboard_filter_echo_and_narrowing ... ok
[INFO] [stdout] test tests::dashboard_header_summary_counts ... ok
[INFO] [stdout] test tests::dashboard_empty_tags_render_dash ... ok
[INFO] [stdout] test tests::dashboard_ansi_prefix_vs_plain ... ok
[INFO] [stdout] test tests::dashboard_mixed_liveness_reasons_and_summary ... ok
[INFO] [stdout] test tests::dashboard_groups_by_repo_then_branch ... ok
[INFO] [stdout] test tests::liveness_for_matches_from_fields ... ok
[INFO] [stdout] test tests::dashboard_truncates_oversized_group ... ok
[INFO] [stdout] test tests::pretooluse_native_dangerous_predicate ... ok
[INFO] [stdout] test tests::pretooluse_response_is_pure_decision_json ... ok
[INFO] [stdout] test setup::tests::default_setup_does_not_write_pretooluse_then_optin_does_then_uninstall_prunes ... ok
[INFO] [stdout] test tests::setup_without_exe_flag_parses_none ... ok
[INFO] [stdout] test tests::setup_exe_flag_parses ... ok
[INFO] [stdout] test git::tests::capture_linked_worktree_gitfile_yields_id_without_git_binary ... ok
[INFO] [stdout] test git::tests::capture_main_worktree_dir_yields_sentinel ... ok
[INFO] [stdout] test tests::pretooluse_malformed_stdin_fails_open ... ok
[INFO] [stdout] test tests::pretooluse_dangerous_no_approver_denies ... ok
[INFO] [stdout] test tests::pretooluse_safe_tool_defers ... ok
[INFO] [stdout] test tests::turn_state_best_effort_swallows_a_write_failure ... ok
[INFO] [stdout] test tests::pretooluse_dangerous_denies_on_explicit_deny ... ok
[INFO] [stdout] test tests::pretooluse_dangerous_allows_on_approve ... ok
[INFO] [stdout] test tests::pretooluse_dangerous_denies_on_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-abe53c66e6ed0fcd)
[INFO] [stdout] 
[INFO] [stdout] running 236 tests
[INFO] [stdout] test binary_rejects_unknown_subcommand ... ok
[INFO] [stdout] test ambiguous_shared_target_degrades_to_queue_only_trace ... ok
[INFO] [stdout] test cli_broadcast_ask_hits_online_peer ... ok
[INFO] [stdout] test attach_flips_no_inject_peer_to_injectable_under_fake_mux ... ok
[INFO] [stdout] test cli_broadcast_notify_with_priority_persists ... ok
[INFO] [stdout] test cli_asks_and_ask_get_json_shapes ... ok
[INFO] [stdout] test cli_ask_and_answer_have_delivery_traces ... ok
[INFO] [stdout] test cli_broadcast_notify_hits_online_peer ... ok
[INFO] [stdout] test cli_graph_shows_peer_communication_network ... ok
[INFO] [stdout] test backup_then_restore_into_fresh_db_preserves_messages ... ok
[INFO] [stdout] test cli_drain_records_drained_stage ... ok
[INFO] [stdout] test cli_job_dispatch_claims_runs_runner_and_records_result ... ok
[INFO] [stdout] test cli_ask_status_reports_delivery_receipts_and_answer ... ok
[INFO] [stdout] test cli_job_delegate_creates_assigned_job_and_notifies_worker ... ok
[INFO] [stdout] test cli_ask_answer_ack_roundtrip ... ok
[INFO] [stdout] test cli_lease_path_conflict_parent_child ... ok
[INFO] [stdout] test backup_refuses_to_overwrite_without_force ... ok
[INFO] [stdout] test cli_notify_with_priority_persists ... ok
[INFO] [stdout] test cli_memory_roundtrip ... ok
[INFO] [stdout] test cli_lease_guard_blocks_staged_file ... ok
[INFO] [stdout] test cli_peer_policy_get_unknown_peer ... ok
[INFO] [stdout] test cli_peers_default_circle_human_output_unchanged ... ok
[INFO] [stdout] test cli_notify_and_delivery_trace ... ok
[INFO] [stdout] test cli_notify_dedup_idle_collapses_to_latest_and_spares_real_message ... ok
[INFO] [stdout] test cli_lease_roundtrip ... ok
[INFO] [stdout] test cli_notify_without_dedup_idle_keeps_both_unread ... ok
[INFO] [stdout] test cli_schedule_oneshot_tick_fires_and_delivers ... ok
[INFO] [stdout] test cli_peer_policy_set_and_get ... ok
[INFO] [stdout] test cli_orchestrator_claim_status_and_refusal ... ok
[INFO] [stdout] test cli_job_board_roundtrip ... ok
[INFO] [stdout] test cli_permission_roundtrip ... ok
[INFO] [stdout] test cli_send_and_receipts_unchanged_with_trace ... ok
[INFO] [stdout] test cli_ask_many_partial_to_complete ... ok
[INFO] [stdout] test cli_register_then_peers_lists_peer ... ok
[INFO] [stdout] test cli_peers_circle_scoping_and_all_circles ... ok
[INFO] [stdout] test cli_review_rejects_bad_url ... ok
[INFO] [stdout] test cli_responder_auto_ack_is_idempotent_and_non_closing ... ok
[INFO] [stdout] test cli_ask_failure_paths_are_clean ... ok
[INFO] [stdout] test cli_setup_git_hooks_installs_pre_commit ... ok
[INFO] [stdout] test cli_send_trace_id_in_json ... ok
[INFO] [stdout] test cli_send_with_priority_persists ... ok
[INFO] [stdout] test cli_point_to_point_commands_accept_session_id_recipient ... ok
[INFO] [stdout] test cli_sessions_reports_activity_after_send ... ok
[INFO] [stdout] test cli_send_idempotency_dedupes ... ok
[INFO] [stdout] test codex_tools_install_and_doctor_use_temp_home ... ok
[INFO] [stdout] test cli_schedule_recurring_list_and_cancel ... ok
[INFO] [stdout] test cli_review_roundtrip ... ok
[INFO] [stdout] test cli_send_then_inbox_shows_body ... ok
[INFO] [stdout] test doctor_json_reports_backend ... ok
[INFO] [stdout] test cli_search_finds_messages_by_body_and_subject ... ok
[INFO] [stdout] test daemon_status_cleans_stale_pidfile ... ok
[INFO] [stdout] test doctor_json_reports_db_is_default ... ok
[INFO] [stdout] test cli_tick_all_fires_other_sender_schedules ... ok
[INFO] [stdout] test cli_unknown_session_id_recipient_is_rejected ... ok
[INFO] [stdout] test daemon_stop_is_idempotent ... ok
[INFO] [stdout] test daemon_lifecycle_start_stop_status ... ok
[INFO] [stdout] test doctor_reports_remote_source_count ... ok
[INFO] [stdout] test daemon_start_is_idempotent ... ok
[INFO] [stdout] test describe_surfaces_in_peers_and_json_carries_presence_keys ... ok
[INFO] [stdout] test doctor_json_and_human_surface_liveness_counts ... ok
[INFO] [stdout] test doctor_surfaces_pull_from_federation_health ... ok
[INFO] [stdout] test doctor_reports_per_source_timeout ... ok
[INFO] [stdout] test doctor_timeout_falls_back_to_default ... ok
[INFO] [stdout] test doctor_pull_block_absent_when_no_federation ... ok
[INFO] [stdout] test export_for_scopes_to_one_identity ... ok
[INFO] [stdout] test federation_label_falls_through_to_shared ... ok
[INFO] [stdout] test federation_default_empty_is_local_only_shape ... ok
[INFO] [stdout] test export_writes_self_contained_html_with_message_text ... ok
[INFO] [stdout] test export_all_requires_explicit_flag_and_includes_cross_identity_messages ... ok
[INFO] [stdout] test federation_bad_store_is_skipped_not_fatal ... ok
[INFO] [stdout] test harness_forge_loop_dry_run_prints_codex_plan ... ok
[INFO] [stdout] test doctor_and_scan_surface_routing_anomaly_counts ... ok
[INFO] [stdout] test federation_no_token_tier_none ... ok
[INFO] [stdout] test harness_ide_merge_ide_dry_run_prints_seven_layer_plan ... ok
[INFO] [stdout] test federation_per_source_token_selected ... ok
[INFO] [stdout] test federation_peer_db_per_source_token_selected ... ok
[INFO] [stdout] test federation_local_path_with_equals_not_misparsed ... ok
[INFO] [stdout] test gc_runs_and_reports ... ok
[INFO] [stdout] test federation_mixed_local_and_remote_source ... ok
[INFO] [stdout] test git_hook_install_is_read_back_verified_and_preserves_foreign ... ok
[INFO] [stdout] test export_limit_caps_message_count ... ok
[INFO] [stdout] test federation_remote_host_peer_is_ttl_judged_not_pid_probed ... ok
[INFO] [stdout] test hook_guessed_identity_peeks_only_and_warns ... ok
[INFO] [stdout] test hook_stop_peeks_and_does_not_consume ... ok
[INFO] [stdout] test federation_sessions_union_origin_tagged ... ok
[INFO] [stdout] test federation_peers_union_origin_tagged ... ok
[INFO] [stdout] test hook_notification_responder_ack_is_idempotent_and_non_disruptive ... ok
[INFO] [stdout] test hook_stop_wake_env_var ... ok
[INFO] [stdout] test connect_cli_verdict_strings ... ok
[INFO] [stdout] test kill_cli_unknown_peer_errors ... ok
[INFO] [stdout] test hook_prompt_nudges_open_asks ... ok
[INFO] [stdout] test hook_tolerates_garbage_and_unknown_events ... ok
[INFO] [stdout] test mcp_ask_lifecycle_and_failures ... ok
[INFO] [stdout] test mcp_ask_verdict_is_success_not_error ... ok
[INFO] [stdout] test kill_cli_reports_failure_when_mux_kill_exits_nonzero ... ok
[INFO] [stdout] test injector_explicit_inject_drives_fake_tmux ... ok
[INFO] [stdout] test hook_turn_state_transitions_surface_in_peers ... ok
[INFO] [stdout] test hook_stop_wake_blocks_and_consumes ... ok
[INFO] [stdout] test hook_session_registers_and_prompt_drains_marks_read ... ok
[INFO] [stdout] test mcp_ask_many_lifecycle_and_failures ... ok
[INFO] [stdout] test mcp_cancel_schedule_idempotent ... ok
[INFO] [stdout] test kill_cli_fires_kill_pane_for_registered_peer ... ok
[INFO] [stdout] test injector_send_drives_fake_tmux ... ok
[INFO] [stdout] test mcp_doctor_per_source_token_tier_is_token_free ... ok
[INFO] [stdout] test mcp_connect_verdicts_and_failure_path ... ok
[INFO] [stdout] test mcp_doctor_surfaces_pull_from_block_token_free ... ok
[INFO] [stdout] test hook_wake_blocks_once_then_rearms_after_drain ... ok
[INFO] [stdout] test mcp_doctor_reports_per_source_timeout_token_free ... ok
[INFO] [stdout] test mcp_attach_upserts_and_rejects_bad_identity ... ok
[INFO] [stdout] test mcp_memory_search_scoped ... ok
[INFO] [stdout] test mcp_job_tools_happy_and_failure_paths ... ok
[INFO] [stdout] test mcp_permission_roundtrip ... ok
[INFO] [stdout] test every_top_level_command_has_documented_help ... ok
[INFO] [stdout] test mcp_orchestrator_claim_status_whoami ... ok
[INFO] [stdout] test mcp_review_roundtrip ... ok
[INFO] [stdout] test mcp_peers_with_remote_source_degrades_cleanly ... ok
[INFO] [stdout] test mcp_notify_and_delivery_lifecycle_and_failures ... ok
[INFO] [stdout] test mcp_stdio_explicit_session_beats_basename_fallback ... ok
[INFO] [stdout] test mcp_schedule_tools_roundtrip ... ok
[INFO] [stdout] test mcp_search_finds_messages ... ok
[INFO] [stdout] test mcp_memory_roundtrip ... ok
[INFO] [stdout] test mcp_lease_roundtrip ... ok
[INFO] [stdout] test mcp_set_message_priority_roundtrip ... ok
[INFO] [stdout] test mcp_set_and_get_peer_policy_roundtrip ... ok
[INFO] [stdout] test mcp_progressive_disclosure_default_surface_and_meta_roundtrip ... ok
[INFO] [stdout] test mcp_unknown_method_returns_jsonrpc_error ... ok
[INFO] [stdout] test mcp_daemon_start_stop_status_roundtrip ... ok
[INFO] [stdout] test mcp_stdio_identity_falls_back_to_basename_cwd ... ok
[INFO] [stdout] test mcp_tools_list_includes_priority_and_policy_tools ... ok
[INFO] [stdout] test mcp_send_with_priority_persists ... ok
[INFO] [stdout] test mcp_weave_notify_dedup_idle_collapses_and_spares_real_send ... ok
[INFO] [stdout] test mcp_presence_tools_set_and_fail_cleanly ... ok
[INFO] [stdout] test mcp_peers_and_sessions_reflect_federation ... ok
[INFO] [stdout] test mcp_weave_send_cross_store_routes_to_outbox ... ok
[INFO] [stdout] test mcp_stdio_initialize_list_and_send_inbox_roundtrip ... ok
[INFO] [stdout] test mcp_point_to_point_tools_accept_session_id_recipient_and_delegate_jobs ... ok
[INFO] [stdout] test mcp_weave_inbox_pulls_cross_store_on_drain ... ok
[INFO] [stdout] test mcp_wrong_recipient_answer_reports_routing_anomaly ... ok
[INFO] [stdout] test mcp_weave_send_cross_store_bad_recipient_is_error ... ok
[INFO] [stdout] test mcp_weave_send_supersedes_post_stamps_and_failure_path ... ok
[INFO] [stdout] test mcp_weave_peers_and_doctor_surface_liveness ... ok
[INFO] [stdout] test mcp_weave_scan_surfaces_remote_marker_reason_summary ... ok
[INFO] [stdout] test peers_json_live_session_reports_pid_host_and_alive_true ... ok
[INFO] [stdout] test peers_human_shows_remote_marker_and_reason ... ok
[INFO] [stdout] test peers_dead_local_pid_reads_offline_despite_recency ... ok
[INFO] [stdout] test peers_scan_and_doctor_surface_registered_stale_status ... ok
[INFO] [stdout] test peers_read_heartbeats_explicit_identity ... ok
[INFO] [stdout] test peers_json_surfaces_remote_host_peer_alive_remote_additive_keys ... ok
[INFO] [stdout] test peers_json_liveness_keys_match_scan_for_same_peer ... ok
[INFO] [stdout] test hook_prompt_no_nudge_without_open_asks ... ok
[INFO] [stdout] test post_send_hook_fires_with_env_and_skips_non_match ... ok
[INFO] [stdout] test provider_switch_claude_applies_provider_and_preserves_weave_hooks ... ok
[INFO] [stdout] test provider_switch_codex_applies_config_auth_and_preserves_notify_hook ... ok
[INFO] [stdout] test pretooluse_dangerous_no_approver_denies_blackbox ... ok
[INFO] [stdout] test pretooluse_malformed_stdin_fails_open_blackbox ... ok
[INFO] [stdout] test provider_switch_status_treats_missing_db_as_diagnostic_state ... ok
[INFO] [stdout] test notify_inject_failure_never_sinks_delivery ... ok
[INFO] [stdout] test pretooluse_safe_tool_defers_blackbox ... ok
[INFO] [stdout] test mcp_weave_scan_listed_runs_and_filters_safely ... ok
[INFO] [stdout] test provider_switch_gemini_applies_env_and_preserves_settings ... ok
[INFO] [stdout] test provider_switch_lists_and_reports_current_cc_switch_provider ... ok
[INFO] [stdout] test pretooluse_dangerous_allows_on_approve_blackbox ... ok
[INFO] [stdout] test provider_switch_status_reports_db_schema_apps_and_proxy_health_readonly ... ok
[INFO] [stdout] test peers_scan_and_doctor_surface_responsive_status ... ok
[INFO] [stdout] test scan_human_shows_remote_marker_reason_and_summary_counts ... ok
[INFO] [stdout] test pretooluse_dangerous_denies_on_timeout_blackbox ... ok
[INFO] [stdout] test read_commands_emit_valid_json ... ok
[INFO] [stdout] test send_ttl_message_round_trips_with_expiry ... ok
[INFO] [stdout] test scan_no_remote_rows_is_backward_compatible ... ok
[INFO] [stdout] test provider_switch_switch_model_updates_claude_codex_and_gemini_live_configs ... ok
[INFO] [stdout] test scan_json_surfaces_remote_host_peer_alive_remote_additive_keys ... ok
[INFO] [stdout] test send_ttl_cross_store_carries_through ... ok
[INFO] [stdout] test restore_config_settings_read_back_round_trip ... ok
[INFO] [stdout] test scan_and_doctor_surface_shared_target_misregistration ... ok
[INFO] [stdout] test send_ttl_rejects_out_of_range ... ok
[INFO] [stdout] test scan_lists_registered_peer_with_tags_and_json_shape ... ok
[INFO] [stdout] test scan_real_git_repo_tags_when_git_present ... ok
[INFO] [stdout] test reply_thread_receipts_roundtrip ... ok
[INFO] [stdout] test session_import_dry_run_counts_asks_without_writing ... ok
[INFO] [stdout] test session_export_import_round_trips_mesh_memory ... ok
[INFO] [stdout] test scan_repo_and_branch_filters_narrow_the_set ... ok
[INFO] [stdout] test session_import_dry_run_writes_nothing ... ok
[INFO] [stdout] test session_export_import_round_trips_across_distinct_dbs ... ok
[INFO] [stdout] test session_import_is_idempotent_on_reimport ... ok
[INFO] [stdout] test sessions_without_peer_show_empty_tags ... ok
[INFO] [stdout] test sessions_watch_json_liveness_matches_scan_for_same_peer ... ok
[INFO] [stdout] test sessions_watch_json_single_snapshot_and_exits ... ok
[INFO] [stdout] test sessions_watch_shows_liveness_reasons_and_remote_marker ... ok
[INFO] [stdout] test setup_codex_writes_notify_idempotent_and_preserves_foreign ... ok
[INFO] [stdout] test setup_settings_merge_is_read_back_verified ... ok
[INFO] [stdout] test sessions_watch_nonmatching_repo_filter_narrows_to_empty ... ok
[INFO] [stdout] test setup_aider_writes_stanza_idempotent_and_preserves_foreign ... ok
[INFO] [stdout] test sessions_watch_iterations_one_emits_one_frame_and_exits ... ok
[INFO] [stdout] test setup_rejects_invalid_provider ... ok
[INFO] [stdout] test setup_settings_merge_idempotent_second_run ... ok
[INFO] [stdout] test setup_provider_claude_is_unchanged_default_path ... ok
[INFO] [stdout] test setup_gemini_writes_hooks_idempotent_and_preserves_foreign ... ok
[INFO] [stdout] test session_import_replays_ask_thread_and_group ... ok
[INFO] [stdout] test sessions_watch_groups_distinct_repos_with_real_git ... ok
[INFO] [stdout] test spawn_cli_warns_but_proceeds_when_allowlist_unset ... ok
[INFO] [stdout] test supersede_missing_id_errors_cleanly ... ok
[INFO] [stdout] test supersede_hides_predecessor_from_unread_keeps_in_audit ... ok
[INFO] [stdout] test status_rejects_unknown_turn_state ... ok
[INFO] [stdout] test tier2_bad_source_is_skipped_good_source_delivers ... ok
[INFO] [stdout] test spawn_cli_drives_fake_tmux_and_registers ... ok
[INFO] [stdout] test sessions_without_watch_unchanged_regression ... ok
[INFO] [stdout] test mcp_lease_sweep_roundtrip ... ok
[INFO] [stdout] test supersede_cross_identity_is_rejected ... ok
[INFO] [stdout] test tags_visible_in_peers_sessions_and_doctor ... ok
[INFO] [stdout] test tier2_cross_store_broadcast_rejected ... ok
[INFO] [stdout] test tier2_misaddressed_intent_not_committed ... ok
[INFO] [stdout] test tier2_local_send_unchanged_no_outbox ... ok
[INFO] [stdout] test uninstall_prune_is_read_back_verified ... ok
[INFO] [stdout] test tier2_mcp_inbox_drain_nudges_own_pane_by_default ... ok
[INFO] [stdout] test tier2_unlisted_source_never_delivers ... ok
[INFO] [stdout] test unknown_backend_errors_loudly ... ok
[INFO] [stdout] test tier2_inject_pulled_false_is_queue_only ... ok
[INFO] [stdout] test tier2_cross_store_send_outbox_pull_and_idempotency ... ok
[INFO] [stdout] test tier2_dedup_keyed_on_intent_id_not_content ... ok
[INFO] [stdout] test tier2_pulled_message_nudges_own_pane_by_default ... ok
[INFO] [stdout] test tier2_inject_failure_is_non_fatal_to_delivery ... ok
[INFO] [stdout] test wl084_presence_tracks_client_process_not_hook_process ... ok
[INFO] [stdout] test wl084_same_session_refire_is_idempotent ... ok
[INFO] [stdout] test tier2_allow_inject_from_narrows_to_subset ... ok
[INFO] [stdout] test sessions_watch_iterations_two_emits_two_frames_and_exits ... ok
[INFO] [stdout] test wl084_dead_row_is_reclaimed_under_same_name ... ok
[INFO] [stdout] test wl084_session_hook_pins_identity_into_claude_env_file ... ok
[INFO] [stdout] test tier2_non_injectable_receiver_falls_open_to_queue_only ... ok
[INFO] [stdout] test wl084_same_basename_live_sessions_get_distinct_identities ... ok
[INFO] [stdout] test wl084_prompt_drain_resolves_by_session_key ... ok
[INFO] [stdout] test unset_presence_default_output_is_byte_identical ... ok
[INFO] [stdout] test tui_once_and_json_are_default_build_operator_surfaces ... ok
[INFO] [stdout] test provider_switch_models_auto_loads_cc_switch_and_ollama ... ok
[INFO] [stdout] test spawn_cli_hard_denies_disallowed_cwd_when_allowlist_set ... ok
[INFO] [stdout] test sessions_watch_is_read_only_store_unchanged_across_ticks ... ok
[INFO] [stdout] test cli_lease_sweep_removes_expired ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 236 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.79s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/prop.rs (/opt/rustwide/target/debug/deps/prop-517da336b1b8e62f)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test expiry_monotonicity ... ok
[INFO] [stdout] test expiry_saturates_without_panic ... ok
[INFO] [stdout] test unicode_and_long_bodies_roundtrip ... ok
[INFO] [stdout] test session_tag_capture_is_bounded_and_controlfree ... ok
[INFO] [stdout] test read_tracking_is_idempotent ... ok
[INFO] [stderr]      Running tests/security.rs (/opt/rustwide/target/debug/deps/security-6930f643cce24cf6)
[INFO] [stdout] test routing_delivers_exactly_addressed_messages_in_order ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.89s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 85 tests
[INFO] [stdout] test body_starting_with_short_flag_is_delivered_verbatim ... ok
[INFO] [stdout] test cli_schedule_oversized_body_is_rejected ... ok
[INFO] [stdout] test body_starting_with_double_dash_is_delivered_verbatim ... ok
[INFO] [stdout] test ask_body_is_delivered_verbatim ... ok
[INFO] [stdout] test attach_oversized_identity_is_rejected ... ok
[INFO] [stdout] test ask_many_result_is_bounded_and_secret_free ... ok
[INFO] [stdout] test control_only_hostname_falls_back_to_local ... ok
[INFO] [stdout] test cli_schedule_non_positive_at_is_rejected ... ok
[INFO] [stdout] test asks_list_is_bounded ... ok
[INFO] [stdout] test cross_store_oversized_body_is_rejected_at_enqueue ... ok
[INFO] [stdout] test ask_oversized_identity_is_rejected ... ok
[INFO] [stdout] test db_file_is_not_world_or_group_readable ... ok
[INFO] [stdout] test delivery_trace_never_contains_the_body ... ok
[INFO] [stdout] test cli_memory_oversized_body_rejected ... ok
[INFO] [stdout] test cli_memory_oversized_key_rejected ... ok
[INFO] [stdout] test export_neutralizes_script_breakout_and_event_handler ... ok
[INFO] [stdout] test federation_junk_path_cannot_escalate_to_a_write ... ok
[INFO] [stdout] test cross_store_bad_identity_is_rejected_at_enqueue ... ok
[INFO] [stdout] test ask_many_cap_enforced_and_per_peer_validated ... ok
[INFO] [stdout] test export_all_is_explicit_and_preserves_xss_defenses_across_identities ... ok
[INFO] [stdout] test doctor_never_prints_pull_token ... ok
[INFO] [stdout] test hostile_cwd_tag_never_reaches_a_shell ... ok
[INFO] [stdout] test hostile_oversized_hostname_is_capped_and_control_stripped ... ok
[INFO] [stdout] test hostile_oversized_description_is_capped_and_control_stripped ... ok
[INFO] [stdout] test job_caps_and_id_validators_reject_hostile_input ... ok
[INFO] [stdout] test attach_cannot_overwrite_another_peers_row ... ok
[INFO] [stdout] test doctor_never_prints_pull_from_token ... ok
[INFO] [stdout] test mcp_ask_stdout_is_pure_jsonrpc_no_body_leak ... ok
[INFO] [stdout] test idempotency_key_hostile_is_rejected ... ok
[INFO] [stdout] test cross_store_broadcast_is_refused ... ok
[INFO] [stdout] test mcp_clear_all_without_confirm_is_refused_and_preserves_data ... ok
[INFO] [stdout] test mcp_memory_oversized_body_is_error ... ok
[INFO] [stdout] test job_list_limit_is_bounded_and_output_secret_free ... ok
[INFO] [stdout] test federation_never_writes_the_foreign_store ... ok
[INFO] [stdout] test mcp_delivery_trace_is_secret_free ... ok
[INFO] [stdout] test mcp_memory_path_traversal_key_is_error ... ok
[INFO] [stdout] test federation_caps_an_oversized_peer_db_list ... ok
[INFO] [stdout] test mcp_schedule_oversized_cron_is_rejected ... ok
[INFO] [stdout] test invalid_weave_circle_is_sanitized_to_default ... ok
[INFO] [stdout] test mcp_schedule_neither_at_nor_every_is_rejected ... ok
[INFO] [stdout] test mcp_send_with_oversized_identity_is_rejected ... ok
[INFO] [stdout] test ask_oversized_body_is_rejected ... ok
[INFO] [stdout] test hostile_cwd_worktree_tag_is_bounded_and_nonfatal ... ok
[INFO] [stdout] test mcp_schedule_both_at_and_every_is_rejected ... ok
[INFO] [stdout] test orchestrator_output_is_secret_free ... ok
[INFO] [stdout] test mcp_schedule_invalid_cron_is_rejected ... ok
[INFO] [stdout] test oversized_body_is_rejected ... ok
[INFO] [stdout] test post_send_hook_hostile_subject_is_inert ... ok
[INFO] [stdout] test cli_memory_path_traversal_key_rejected ... ok
[INFO] [stdout] test restore_refuses_path_traversal_entry ... ok
[INFO] [stdout] test notify_caps_and_hostile_target_are_safe ... ok
[INFO] [stdout] test non_allow_listed_source_cannot_deliver ... ok
[INFO] [stdout] test post_send_hook_untrusted_program_refused_send_still_succeeds ... ok
[INFO] [stdout] test role_is_never_free_text ... ok
[INFO] [stdout] test presence_surfaces_are_secret_free ... ok
[INFO] [stdout] test idempotency_key_oversized_is_rejected ... ok
[INFO] [stdout] test session_export_refuses_to_overwrite_without_force ... ok
[INFO] [stdout] test presence_setters_are_owner_only ... ok
[INFO] [stdout] test session_export_rejects_nonexistent_parent_dir ... ok
[INFO] [stdout] test pull_never_writes_the_source_store ... ok
[INFO] [stdout] test session_import_rejects_malformed_ask_parent_id ... ok
[INFO] [stdout] test session_import_rejects_malformed_idempotency_key ... ok
[INFO] [stdout] test session_import_rejects_hostile_ask_asker ... ok
[INFO] [stdout] test session_import_rejects_malformed_ask_state ... ok
[INFO] [stdout] test session_import_rejects_non_weave_json ... ok
[INFO] [stdout] test session_import_rejects_oversized_ask_options ... ok
[INFO] [stdout] test setup_failed_settings_write_is_loud_and_preserves_foreign_hooks ... FAILED
[INFO] [stdout] test session_import_rejects_control_char_identity ... ok
[INFO] [stdout] test pulled_inject_never_carries_the_message_body ... ok
[INFO] [stdout] test session_import_rejects_oversized_body ... ok
[INFO] [stdout] test session_import_skips_dangling_ask_reference ... ok
[INFO] [stdout] test session_import_stores_sql_and_shell_metachars_as_literals ... ok
[INFO] [stdout] test pull_from_list_is_capped ... ok
[INFO] [stdout] test session_import_rejects_missing_and_directory_in_path ... ok
[INFO] [stdout] test ttl_is_capped ... ok
[INFO] [stdout] test non_inject_listed_source_never_keystrokes_even_with_inject_on ... ok
[INFO] [stdout] test kill_refuses_invalid_target_id ... ok
[INFO] [stdout] test supersede_cannot_censor_another_agents_message ... ok
[INFO] [stdout] test status_rejects_non_enum_turn_state_security ... ok
[INFO] [stdout] test ask_hostile_correlation_id_is_rejected_before_bind ... ok
[INFO] [stdout] test expired_ephemeral_is_not_recoverable ... ok
[INFO] [stdout] test spawn_cwd_dotdot_traversal_is_denied ... ok
[INFO] [stdout] test spawn_cwd_symlink_escape_is_denied ... ok
[INFO] [stdout] test spawn_oversized_child_argv_is_rejected ... ok
[INFO] [stdout] test spawn_untrusted_child_program_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- setup_failed_settings_write_is_loud_and_preserves_foreign_hooks stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'setup_failed_settings_write_is_loud_and_preserves_foreign_hooks' (4159) panicked at weave/tests/security.rs:5179:5:
[INFO] [stdout] setup must FAIL when settings.json cannot be written, not silently succeed
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5953119a9238 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5953119a9238 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5953119a9238 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5953119a9238 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5953119bf30a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5953119bf30a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x5953119ae012 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5953119ae012 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x595311984ee6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x595311984ee6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5953119a05e9 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x595311901f3c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x595311901f3c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5953119a07a2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x5953119a07a2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x595311984fd4 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5953119799e9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x595311985efd - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5953119bfa9c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5953118a3c70 - security[17e0d974d6f0eb20]::setup_failed_settings_write_is_loud_and_preserves_foreign_hooks
[INFO] [stdout]                                at /opt/rustwide/workdir/weave/tests/security.rs:5179:5
[INFO] [stdout]   20:     0x59531185b217 - security[17e0d974d6f0eb20]::setup_failed_settings_write_is_loud_and_preserves_foreign_hooks::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/weave/tests/security.rs:5143:69
[INFO] [stdout]   21:     0x5953118ae266 - <security[17e0d974d6f0eb20]::setup_failed_settings_write_is_loud_and_preserves_foreign_hooks::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5953118f501b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5953118f501b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x595311902895 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x595311902895 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x595311902895 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x595311902895 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x595311902895 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x595311902895 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x595311902895 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5953118fc1a4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5953118fc1a4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x595311905912 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x595311905912 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x595311905912 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x595311905912 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x595311905912 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x595311905912 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x595311905912 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5953119a83af - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   41:     0x5953119a83af - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7a961547baa4 - <unknown>
[INFO] [stdout]   43:     0x7a9615508a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     setup_failed_settings_write_is_loud_and_preserves_foreign_hooks
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 84 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p weave --test security`
[INFO] running `Command { std: "docker" "inspect" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0", kill_on_drop: false }`
[INFO] [stdout] ebba42eeb1a0a67e9c3d614a2527902afdc4f55a9f61362c94acb3c4855e7bb0
