[INFO] cloning repository https://github.com/scottidler/loopr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/scottidler/loopr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fscottidler%2Floopr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fscottidler%2Floopr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2cb93282173d0e21e94188e9e9ea83e4e5444607 [INFO] testing scottidler/loopr/2cb93282173d0e21e94188e9e9ea83e4e5444607 against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fscottidler%2Floopr" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/scottidler/loopr [INFO] finished tweaking git repo https://github.com/scottidler/loopr [INFO] tweaked toml for git repo https://github.com/scottidler/loopr written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/scottidler/loopr on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/scottidler/loopr 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/scottidler/taskstore.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cookie_store v0.22.1 [INFO] [stderr] Downloaded wasm-streams v0.5.0 [INFO] [stderr] Downloaded jiff-static v0.2.21 [INFO] [stderr] Downloaded rusqlite v0.38.0 [INFO] [stderr] Downloaded jiff v0.2.21 [INFO] [stderr] Downloaded libsqlite3-sys v0.36.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 02606f8da2772a5843566dcfe6ff7a08106cc095a89cd7761f483eb735673ccc [INFO] running `Command { std: "docker" "start" "-a" "02606f8da2772a5843566dcfe6ff7a08106cc095a89cd7761f483eb735673ccc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "02606f8da2772a5843566dcfe6ff7a08106cc095a89cd7761f483eb735673ccc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02606f8da2772a5843566dcfe6ff7a08106cc095a89cd7761f483eb735673ccc", kill_on_drop: false }` [INFO] [stdout] 02606f8da2772a5843566dcfe6ff7a08106cc095a89cd7761f483eb735673ccc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 93932ce9dec0ac397e9711854952b7191ccff0dbd719ed872026996531d14923 [INFO] running `Command { std: "docker" "start" "-a" "93932ce9dec0ac397e9711854952b7191ccff0dbd719ed872026996531d14923", kill_on_drop: false }` [INFO] [stderr] Compiling aws-lc-rs v1.16.0 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling taskstore v0.2.1 (https://github.com/scottidler/taskstore.git#930cdc3a) [INFO] [stderr] Compiling jiff v0.2.21 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling loopr v0.1.13 (/opt/rustwide/workdir) [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling aws-lc-sys v0.37.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling env_logger v0.11.9 [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 h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling ureq v3.2.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s [INFO] running `Command { std: "docker" "inspect" "93932ce9dec0ac397e9711854952b7191ccff0dbd719ed872026996531d14923", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93932ce9dec0ac397e9711854952b7191ccff0dbd719ed872026996531d14923", kill_on_drop: false }` [INFO] [stdout] 93932ce9dec0ac397e9711854952b7191ccff0dbd719ed872026996531d14923 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 60fb7dec771ee460aff423090721b9262ebd20fffec01c0d3848f240994315d9 [INFO] running `Command { std: "docker" "start" "-a" "60fb7dec771ee460aff423090721b9262ebd20fffec01c0d3848f240994315d9", kill_on_drop: false }` [INFO] [stderr] Compiling loopr v0.1.13 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 51.16s [INFO] running `Command { std: "docker" "inspect" "60fb7dec771ee460aff423090721b9262ebd20fffec01c0d3848f240994315d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60fb7dec771ee460aff423090721b9262ebd20fffec01c0d3848f240994315d9", kill_on_drop: false }` [INFO] [stdout] 60fb7dec771ee460aff423090721b9262ebd20fffec01c0d3848f240994315d9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8d663d063a1a4be85b9acc67865becfc886a70366286f5d35ba8379a08b63c56 [INFO] running `Command { std: "docker" "start" "-a" "8d663d063a1a4be85b9acc67865becfc886a70366286f5d35ba8379a08b63c56", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.21s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/loopr-e4b2712710ca2974) [INFO] [stdout] [INFO] [stdout] running 2087 tests [INFO] [stdout] test agents::context::tests::test_auto_promoted_learning_sorted_first ... ok [INFO] [stdout] test agents::context::tests::test_combined_scope_role_confidence ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_legacy_fallback ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_creates_file ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_file_naming ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_session_scoped ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_all_levels ... ok [INFO] [stdout] test agents::agent_logger::tests::test_agent_logger_writes_formatted_line ... ok [INFO] [stdout] test agents::context::tests::test_assembled_context_token_estimate ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_no_guidance_when_not_set ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_guidance_with_loopr_md ... ok [INFO] [stdout] test agents::bridge::tests::test_bridge_increments_request_ids ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_build_implementer ... ok [INFO] [stdout] test agents::bridge::tests::test_bridge_handshake ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_load_missing_bundle ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_guidance_appears_before_hierarchy ... ok [INFO] [stdout] test agents::bridge::tests::test_bridge_event_tx ... ok [INFO] [stdout] test agents::bridge::tests::test_bridge_unknown_method ... ok [INFO] [stdout] test agents::context::tests::test_default_confidence_passes_standard_threshold ... ok [INFO] [stdout] test agents::context::tests::test_empty_learnings ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_guidance_contains_role_specific_transitions ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_load_work_hierarchy ... ok [INFO] [stdout] test agents::context::tests::test_empty_scope_ids_only_global ... ok [INFO] [stdout] test agents::context::tests::test_estimate_tokens_exact_boundary ... ok [INFO] [stdout] test agents::context::tests::test_estimate_tokens_longer ... ok [INFO] [stdout] test agents::bridge::tests::test_bridge_plan_create ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_build_reviewer ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_load_bundle_hierarchy ... ok [INFO] [stdout] test agents::context::tests::test_estimate_tokens_short ... ok [INFO] [stdout] test agents::context::tests::test_select_above_confidence_threshold ... ok [INFO] [stdout] test agents::context::tests::test_fewer_than_max_count ... ok [INFO] [stdout] test agents::context::tests::test_select_by_scope_work ... ok [INFO] [stdout] test agents::context::tests::test_select_by_role_mismatch ... ok [INFO] [stdout] test agents::context::tests::test_select_by_role_match ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_load_missing_work ... ok [INFO] [stdout] test agents::context::tests::test_select_global_always_included ... ok [INFO] [stdout] test agents::context::tests::test_select_none_roles_applies_to_all ... ok [INFO] [stdout] test agents::context::tests::test_select_promoted_always_included_regardless_of_confidence ... ok [INFO] [stdout] test agents::context::tests::test_select_below_confidence_threshold ... ok [INFO] [stdout] test agents::context::tests::test_sort_by_recency_desc ... ok [INFO] [stdout] test agents::context::tests::test_sort_by_confidence_desc ... ok [INFO] [stdout] test agents::context::tests::test_token_budget_for_implementer ... ok [INFO] [stdout] test agents::context::tests::test_token_budget_for_integrator ... ok [INFO] [stdout] test agents::context::tests::test_token_budget_for_researcher ... ok [INFO] [stdout] test agents::context::tests::test_token_budget_for_reviewer ... ok [INFO] [stdout] test agents::context::tests::test_truncate_from_head_at_newline ... ok [INFO] [stdout] test agents::context::tests::test_truncate_from_head_clean_break ... ok [INFO] [stdout] test agents::context::tests::test_truncate_list_empty ... ok [INFO] [stdout] test agents::context::tests::test_truncate_list_exceeds_budget ... ok [INFO] [stdout] test agents::context::tests::test_truncate_prose_at_newline ... ok [INFO] [stdout] test agents::context::tests::test_truncate_prose_at_sentence ... ok [INFO] [stdout] test agents::context::tests::test_truncate_prose_no_truncation ... ok [INFO] [stdout] test agents::context::tests::test_zero_max_count_returns_empty ... ok [INFO] [stdout] test agents::context::tests::test_truncate_from_head_no_truncation ... ok [INFO] [stdout] test agents::context::tests::test_truncate_list_all_fit ... ok [INFO] [stdout] test agents::context::tests::test_max_count_truncation ... ok [INFO] [stdout] test agents::context::tests::test_select_by_scope_chain ... ok [INFO] [stdout] test agents::context::tests::test_sort_promoted_first ... ok [INFO] [stdout] test agents::context::tests::test_token_budget_for_coordinator ... ok [INFO] [stdout] test agents::context::tests::test_select_excludes_unrelated_scope ... ok [INFO] [stdout] test agents::context::tests::test_truncate_from_head_keeps_tail ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_no_tools_section_when_empty ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_no_learnings_section_when_empty ... ok [INFO] [stdout] test agents::context::tests::test_estimate_tokens_empty ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_with_previous_summary ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_with_staleness ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_with_guidance_includes_schema_docs ... ok [INFO] [stdout] test agents::context::tests::test_context_builder_reviewer_no_previous_summary ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_generation_footer_generation_needed ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_generation_footer_draft_validator_enabled_validates ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_generation_footer_draft_validator_disabled_activates_directly ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_phase_status_shows_dependencies ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_phase_status_shows_blocked_deps ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_phase_status_includes_failure_learnings ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_phase_status_no_phase ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_phase_status_with_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_generation_footer_draft_needs_regen ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_excludes_merged_bundles_from_active ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_excludes_completed ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_comprehensive ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_empty ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_excludes_done_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_generation_footer_validation_cap_reached ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_excludes_merged_when_wi_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_with_bundles ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_includes_recently_merged_bundles ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_excludes_terminal_sessions ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_with_locks ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_with_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_works_before_plans ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_with_active_sessions ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_fsm_transition_executing_to_phase_gate ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_fsm_transition_phase_gate_to_goal_complete ... ok [INFO] [stdout] test agents::coordinator::tests::test_build_state_summary_with_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_fsm_transition_planning_to_activate ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_phase_completion_no_active_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_decrement_attempts_on_dependency_not_met ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_phase_completion_multiple_phases ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_phase_completion_all_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_phase_completion_no_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_check_phase_completion_partial ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_empty_actions_is_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_need_help ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_agent_spawned ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_document_validated_empty_issues ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_document_validated_fail_with_issues ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_document_validated_pass ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_error ... ok [INFO] [stdout] test agents::coordinator::tests::test_format_action_summary_record_created ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_exits_on_need_help ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_self_correction_max_requeries_exceeded ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_self_correction_parse_failure_then_success ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_exits_on_cancellation ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_empty_after_filter ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_continue_with_stub_actions ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_draft_ignores_orphan_from_other_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_filters_multi_level_actions ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_draft_returns_none_when_no_drafts ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_draft_scoped_to_active_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_next_phase_returns_none_all_completed ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_pending_draft_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_coordinator_iteration_persists ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_pending_draft_none_when_active ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_activate_phase_stays_when_no_phase_id ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_activate_phase_to_executing_when_wis_exist ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_stays_when_partial_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_stays_when_wis_in_progress ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_to_phase_gate_on_phase_timeout ... ok [INFO] [stdout] test agents::coordinator::tests::test_increment_attempts_tracks_retries ... ok [INFO] [stdout] test agents::coordinator::tests::test_find_next_phase_skips_completed ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_no_current_phase_stays ... ok [INFO] [stdout] test agents::coordinator::tests::test_infer_action_level_returns_none_for_create_learning ... ok [INFO] [stdout] test agents::coordinator::tests::test_infer_action_level_returns_none_for_done ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_to_goal_complete_on_goal_timeout ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_activate_phase_stays_when_no_wis ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_to_phase_gate_on_zero_wis ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_executing_to_phase_gate_with_mixed_done_abandoned ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_goal_timeout_takes_priority_over_phase_timeout ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_phase_timeout_takes_priority_over_wi_check ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_phase_gate_to_activate_when_more_phases ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_planning_stays_when_plan_but_no_spec ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_planning_stays_when_no_plan ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_planning_stays_when_plan_is_draft ... ok [INFO] [stdout] test agents::coordinator::tests::test_resolve_batch_deps_no_batch_refs ... ok [INFO] [stdout] test agents::coordinator::tests::test_resolve_batch_deps_non_create_action ... ok [INFO] [stdout] test agents::coordinator::tests::test_resolve_batch_deps_out_of_range ... ok [INFO] [stdout] test agents::coordinator::tests::test_resolve_batch_deps_resolves_batch_0 ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_transition_handler_complete_phase_on_activate ... ok [INFO] [stdout] test agents::coordinator::tests::test_load_or_create_coordinator_state_resumes_existing ... ok [INFO] [stdout] test agents::coordinator::tests::test_is_cancelled_false ... ok [INFO] [stdout] test agents::coordinator::tests::test_is_cancelled_true ... ok [INFO] [stdout] test agents::coordinator::tests::test_is_cancelled_missing ... ok [INFO] [stdout] test agents::coordinator::tests::test_system_prompt_contains_key_sections ... ok [INFO] [stdout] test agents::coordinator::tests::test_load_or_create_coordinator_state_with_goal ... ok [INFO] [stdout] test agents::coordinator::tests::test_load_or_create_coordinator_state_no_goal ... ok [INFO] [stdout] test agents::coordinator::tests::test_mark_phase_record_complete ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_goal_complete_returns_none ... ok [INFO] [stdout] test agents::coordinator::tests::test_prune_independent_deps_keeps_overlapping ... ok [INFO] [stdout] test agents::coordinator::tests::test_fsm_planning_stays_when_plan_spec_but_no_phases ... ok [INFO] [stdout] test agents::coordinator::tests::test_prune_independent_deps_empty_batch ... ok [INFO] [stdout] test agents::coordinator::tests::test_sweep_integrated_to_done_transitions_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_prune_independent_deps_removes_disjoint ... ok [INFO] [stdout] test agents::coordinator::tests::test_prune_independent_deps_keeps_external ... ok [INFO] [stdout] test agents::coordinator::tests::test_sweep_then_fsm_advances_to_phase_gate ... ok [INFO] [stdout] test agents::coordinator::tests::test_sweep_noop_when_no_integrated_works ... ok [INFO] [stdout] test agents::coordinator::tests::test_persist_coordinator_state ... ok [INFO] [stdout] test agents::executor::tests::test_create_work_duplicate_rejected ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_acquire_lock_conflict ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_acquire_lock ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_acquire_after_release ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_need_help ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_done ... ok [INFO] [stdout] test agents::executor::tests::test_assign_agent_auto_transitions_draft ... ok [INFO] [stdout] test agents::executor::tests::test_create_work_duplicate_case_insensitive ... ok [INFO] [stdout] test agents::executor::tests::test_assign_agent_dependency_not_met ... ok [INFO] [stdout] test agents::executor::tests::test_create_work_with_dependencies ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_read_file ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_run_tool ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_release_lock ... ok [INFO] [stdout] test agents::executor::tests::test_assign_agent_dependency_met ... ok [INFO] [stdout] test agents::executor::tests::test_execute_accept_bundle ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_write_file ... ok [INFO] [stdout] test agents::executor::tests::test_execute_action_unknown_tool ... ok [INFO] [stdout] test agents::executor::tests::test_execute_accept_bundle_full ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_learning_minimal ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_phase_error_path ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_learning_with_all_fields ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_plan_error_path ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_plan ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_work_error_path ... ok [INFO] [stdout] test agents::executor::tests::test_execute_commit_success ... ok [INFO] [stdout] test agents::executor::tests::test_execute_commit_specific_paths ... ok [INFO] [stdout] test agents::executor::tests::test_execute_triage_bundle_full ... ok [INFO] [stdout] test agents::executor::tests::test_execute_spawn_researcher ... ok [INFO] [stdout] test agents::executor::tests::test_execute_spawn_researcher_via_action ... ok [INFO] [stdout] test agents::executor::tests::test_handback_failed_all_rejected_bundles_returns_blocked ... ok [INFO] [stdout] test agents::executor::tests::test_handback_failed_no_bundles_returns_blocked ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_spec_error_path ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_spec ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_work ... ok [INFO] [stdout] test agents::executor::tests::test_handback_failed_sibling_active_returns_none ... ok [INFO] [stdout] test agents::executor::tests::test_execute_create_phase ... ok [INFO] [stdout] test agents::executor::tests::test_execute_propose_bundle_no_work ... ok [INFO] [stdout] test agents::executor::tests::test_handback_failed_with_active_bundle_returns_in_review ... ok [INFO] [stdout] test agents::executor::tests::test_handback_failed_sibling_terminal_checks_bundles ... ok [INFO] [stdout] test agents::executor::tests::test_list_directory_action ... ok [INFO] [stdout] test agents::executor::tests::test_execute_validate_document ... ok [INFO] [stdout] test agents::executor::tests::test_lock_conflict_policy_ignore ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_worktree_base_no_published_ticks ... ok [INFO] [stdout] test agents::executor::tests::test_read_file_not_found ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_latest_published_tick_id_none_at_bootstrap ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_latest_published_tick_id_returns_published ... ok [INFO] [stdout] test agents::executor::tests::test_execute_triage_bundle ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_worktree_base_picks_latest_published ... ok [INFO] [stdout] test agents::executor::tests::test_lock_conflict_policy_warn ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_worktree_base_published_without_sha_falls_back ... ok [INFO] [stdout] test agents::executor::tests::test_handback_succeeded_returns_in_review ... ok [INFO] [stdout] test agents::executor::tests::test_resolve_worktree_base_no_ticks ... ok [INFO] [stdout] test agents::executor::tests::test_execute_propose_bundle ... ok [INFO] [stdout] test agents::executor::tests::test_run_agent_task_coordinator_restart_loop ... ok [INFO] [stdout] test agents::generation::tests::test_build_phase_prompt_with_learnings ... ok [INFO] [stdout] test agents::generation::tests::test_build_spec_prompt_with_learnings_and_findings ... ok [INFO] [stdout] test agents::generation::tests::test_build_work_prompt_with_learnings_and_findings ... ok [INFO] [stdout] test agents::generation::tests::test_collect_failure_messages_deduplicates ... ok [INFO] [stdout] test agents::generation::tests::test_collect_failure_messages_empty ... ok [INFO] [stdout] test agents::executor::tests::test_search_code_action ... ok [INFO] [stdout] test agents::executor::tests::test_run_agent_task_lifecycle ... ok [INFO] [stdout] test agents::executor::tests::test_run_agent_task_researcher_flow ... ok [INFO] [stdout] test agents::executor::tests::test_run_agent_task_integrator_flow ... ok [INFO] [stdout] test agents::executor::tests::test_write_file_lock_advisory_allows ... ok [INFO] [stdout] test agents::executor::tests::test_write_file_creates_parent_dirs ... ok [INFO] [stdout] test agents::executor::tests::test_write_file_path_escape ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_draft_spec_with_active_plan ... ok [INFO] [stdout] test agents::executor::tests::test_propose_bundle_uses_deterministic_branch_name ... ok [INFO] [stdout] test agents::executor::tests::test_write_file_lock_strict_blocks ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_multiple_active_plans ... ok [INFO] [stdout] test agents::executor::tests::test_transition_assignee_validation_for_inprogress ... ok [INFO] [stdout] test agents::executor::tests::test_transition_action_uses_correct_param ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_multiple_active_specs ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_none_when_all_levels_populated ... ok [INFO] [stdout] test agents::executor::tests::test_propose_bundle_includes_base_tick_id ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_none_when_draft_plan_exists ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_none_when_draft_spec_exists ... ok [INFO] [stdout] test agents::executor::tests::test_run_agent_task_worktree_cleanup ... ok [INFO] [stdout] test agents::executor::tests::test_transition_role_inference ... ok [INFO] [stdout] test agents::executor::tests::test_transition_role_inference_all_collections ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_phase_when_active_spec_no_phases ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_plan_when_empty ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_work_when_active_phase_no_wis ... ok [INFO] [stdout] test agents::generation::tests::test_find_active_phases_for_spec_sorted ... ok [INFO] [stdout] test agents::generation::tests::test_find_active_plan_none ... ok [INFO] [stdout] test agents::generation::tests::test_determine_level_spec_when_active_plan_no_specs ... ok [INFO] [stdout] test agents::generation::tests::test_find_active_plan_skips_draft ... ok [INFO] [stdout] test agents::generation::tests::test_find_active_plan_some ... ok [INFO] [stdout] test agents::generation::tests::test_find_active_specs_for_plan ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_needing_regeneration_draft_no_failures ... ok [INFO] [stdout] test agents::generation::tests::test_generation_level_display ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_regen_multiple_drafts_returns_first ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_needing_regeneration_no_drafts ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_needing_regeneration_plan_with_failures ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_regen_phase_with_failures ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_needing_regeneration_cap_reached ... ok [INFO] [stdout] test agents::generation::tests::test_find_failed_validations_empty_store ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_regen_returns_none_for_phase_at_cap ... ok [INFO] [stdout] test agents::generation::tests::test_find_draft_regen_spec_with_failures ... ok [INFO] [stdout] test agents::generation::tests::test_find_phase_needing_works ... ok [INFO] [stdout] test agents::generation::tests::test_find_works_for_phase ... ok [INFO] [stdout] test agents::generation::tests::test_find_phase_needing_works_none_when_all_have ... ok [INFO] [stdout] test agents::generation::tests::test_phase_prompt_includes_accumulated_failures ... ok [INFO] [stdout] test agents::generation::tests::test_phase_prompt_includes_spec_context ... ok [INFO] [stdout] test agents::generation::tests::test_phase_prompt_instructions ... ok [INFO] [stdout] test agents::generation::tests::test_plan_prompt_includes_accumulated_failures ... ok [INFO] [stdout] test agents::generation::tests::test_plan_prompt_includes_goal ... ok [INFO] [stdout] test agents::generation::tests::test_plan_prompt_includes_learnings ... ok [INFO] [stdout] test agents::generation::tests::test_plan_prompt_instructions_present ... ok [INFO] [stdout] test agents::generation::tests::test_plan_prompt_no_optional_sections_when_empty ... ok [INFO] [stdout] test agents::generation::tests::test_spec_prompt_includes_accumulated_failures ... ok [INFO] [stdout] test agents::generation::tests::test_spec_prompt_includes_findings ... ok [INFO] [stdout] test agents::generation::tests::test_spec_prompt_includes_plan_context ... ok [INFO] [stdout] test agents::generation::tests::test_spec_prompt_instructions_reference_plan_id ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_includes_dependency_instructions ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_includes_existing_works ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_includes_findings ... ok [INFO] [stdout] test agents::generation::tests::test_find_works_for_phase_ordering ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_includes_phase_context ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_shows_none_when_no_existing ... ok [INFO] [stdout] test agents::generation::tests::test_is_phase_complete_false_mixed_nonterminal ... ok [INFO] [stdout] test agents::generation::tests::test_work_prompt_shows_dep_info_for_existing ... ok [INFO] [stdout] test agents::generation::tests::test_find_failed_validations_wrong_collection_excluded ... ok [INFO] [stdout] test agents::generation::tests::test_find_failed_validations_multiple_for_same_target ... ok [INFO] [stdout] test agents::generation::tests::test_find_failed_validations_returns_only_fails ... ok [INFO] [stdout] test agents::generation::tests::test_is_phase_complete_false_no_wis ... ok [INFO] [stdout] test agents::generation::tests::test_is_phase_complete_true ... ok [INFO] [stdout] test agents::generation::tests::test_is_phase_complete_false_not_done ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_empty ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_closed_channel ... ok [INFO] [stdout] test agents::generation::tests::test_is_phase_complete_true_with_abandoned ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_finds_tick ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_ignores_other_events ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_lagged_channel ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_returns_latest ... ok [INFO] [stdout] test agents::implementer::tests::test_format_action_summary_truncated_tool_output ... ok [INFO] [stdout] test agents::implementer::tests::test_drain_tick_published_mixed_events ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_reached_false_no_drafts ... ok [INFO] [stdout] test agents::implementer::tests::test_is_correctable_error_non_correctable ... ok [INFO] [stdout] test agents::implementer::tests::test_is_correctable_error_path_errors ... ok [INFO] [stdout] test agents::implementer::tests::test_is_correctable_error_schema_errors ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_direct_json ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_empty_array ... ok [INFO] [stdout] test agents::implementer::tests::test_build_implementer_summary_empty_locks_and_siblings ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_fenced_empty_array ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_fenced_non_empty_array ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_invalid ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_multiple ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_normalizes_type_in_prose ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_reached_at_phase_level ... ok [INFO] [stdout] test agents::implementer::tests::test_build_implementer_summary_with_locks_and_siblings ... ok [INFO] [stdout] test agents::implementer::tests::test_action_results_accumulate ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_reached_false_under_cap ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_prose_then_fenced_empty_array ... ok [INFO] [stdout] test agents::implementer::tests::test_context_builder_for_implementer ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_reached_at_spec_level ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_wrapped_in_code_block ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_reached_true_at_cap ... ok [INFO] [stdout] test agents::implementer::tests::test_context_builder_with_staleness ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_normalizes_type_to_action ... ok [INFO] [stdout] test agents::generation::tests::test_is_validation_cap_over_cap ... ok [INFO] [stdout] test agents::implementer::tests::test_implementer_context_includes_goal ... ok [INFO] [stdout] test agents::implementer::tests::test_context_builder_missing_work ... ok [INFO] [stdout] test agents::implementer::tests::test_budget_exhaustion_prompt_injected_at_penultimate_iteration ... ok [INFO] [stdout] test agents::implementer::tests::test_run_implementer_completes_on_done ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_actions_skips_malformed_in_fallback ... ok [INFO] [stdout] test agents::implementer::tests::test_force_propose_claims_content ... ok [INFO] [stdout] test agents::implementer::tests::test_parse_failure_recovery_via_self_correction ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_disabled_when_max_requeries_zero ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_bad_response ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_llm_failure ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_done_stops_remaining_actions ... ok [INFO] [stdout] test agents::implementer::tests::test_run_implementer_detects_staleness ... ok [INFO] [stdout] test agents::implementer::tests::test_strip_markdown_fences_bare_input ... ok [INFO] [stdout] test agents::implementer::tests::test_strip_markdown_fences_json_block ... ok [INFO] [stdout] test agents::implementer::tests::test_strip_markdown_fences_no_language_tag ... ok [INFO] [stdout] test agents::implementer::tests::test_strip_markdown_fences_prose_not_fenced ... ok [INFO] [stdout] test agents::implementer::tests::test_strip_markdown_fences_with_content ... ok [INFO] [stdout] test agents::implementer::tests::test_system_prompt_contains_key_instructions ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_empty_actions ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_max_requeries_exceeded ... ok [INFO] [stdout] test agents::implementer::tests::test_run_implementer_need_help_stops ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_need_help ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_integrates_with_run_loop ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_continue_with_actions ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_done ... ok [INFO] [stdout] test agents::implementer::tests::test_run_iteration_with_staleness_note ... ok [INFO] [stdout] test agents::implementer::tests::test_run_implementer_max_iterations ... ok [INFO] [stdout] test agents::implementer::tests::test_has_proposed_true_skips_force_propose ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_multiple_retries_then_success ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_no_overhead_on_valid_response ... ok [INFO] [stdout] test agents::implementer::tests::test_tool_error_correction_budget_shared_with_parse ... ok [INFO] [stdout] test agents::implementer::tests::test_tool_error_correction_non_correctable_falls_through ... ok [INFO] [stdout] test agents::implementer::tests::test_self_correction_parse_failure_then_success ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_recovers_open_tick ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_recovers_stuck_tick ... ok [INFO] [stdout] test agents::implementer::tests::test_run_implementer_session_iteration_persisted ... ok [INFO] [stdout] test agents::integrator::tests::test_has_tick_in_progress_all_states ... ok [INFO] [stdout] test agents::implementer::tests::test_tool_error_correction_parse_failure_on_corrected_response ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_idle_no_bundles ... ok [INFO] [stdout] test agents::implementer::tests::test_tool_error_correction_path_escapes ... ok [INFO] [stdout] test agents::integrator::tests::test_has_tick_in_progress_true ... ok [INFO] [stdout] test agents::integrator::tests::test_has_tick_in_progress_false ... ok [INFO] [stdout] test agents::integrator::tests::test_is_cancelled_missing ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_stale_bundle_rejected ... ok [INFO] [stdout] test agents::integrator::tests::test_is_cancelled_false ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_tick_publish_learning_creation ... ok [INFO] [stdout] test agents::integrator::tests::test_latest_published_tick_id_none ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_bundle_sealing_error_handling ... ok [INFO] [stdout] test agents::integrator::tests::test_is_cancelled_true ... ok [INFO] [stdout] test agents::integrator::tests::test_next_tick_number_with_existing ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_publishes_tick ... ok [INFO] [stdout] test agents::integrator::tests::test_merge_bundle_branches_success ... ok [INFO] [stdout] test agents::integrator::tests::test_latest_published_tick_id_some ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_mixed_stale_and_valid ... ok [INFO] [stdout] test agents::integrator::tests::test_next_tick_number_empty ... ok [INFO] [stdout] test agents::integrator::tests::test_validation_commands_empty ... ok [INFO] [stdout] test agents::integrator::tests::test_validation_commands_fail ... ok [INFO] [stdout] test agents::integrator::tests::test_validation_commands_first_fails ... ok [INFO] [stdout] test agents::integrator::tests::test_validation_commands_multiple_pass ... ok [INFO] [stdout] test agents::integrator::tests::test_validation_commands_pass ... ok [INFO] [stdout] test agents::lifeguard::tests::test_agent_errors_still_escalate ... ok [INFO] [stdout] test agents::lifeguard::tests::test_at_action_threshold_escalates ... ok [INFO] [stdout] test agents::lifeguard::tests::test_below_action_threshold_continues ... ok [INFO] [stdout] test agents::lifeguard::tests::test_config_error_unknown_tool ... ok [INFO] [stdout] test agents::lifeguard::tests::test_config_error_warning_at_threshold ... ok [INFO] [stdout] test agents::lifeguard::tests::test_config_errors_dont_escalate ... ok [INFO] [stdout] test agents::lifeguard::tests::test_different_actions_reset_counter ... ok [INFO] [stdout] test agents::lifeguard::tests::test_different_errors_dont_trigger ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_validation_failure ... ok [INFO] [stdout] test agents::lifeguard::tests::test_error_at_threshold_escalates ... ok [INFO] [stdout] test agents::lifeguard::tests::test_error_below_threshold_continues ... ok [INFO] [stdout] test agents::lifeguard::tests::test_error_window_eviction ... ok [INFO] [stdout] test agents::lifeguard::tests::test_hash_action_deterministic ... ok [INFO] [stdout] test agents::lifeguard::tests::test_hash_action_different_for_different_actions ... ok [INFO] [stdout] test agents::lifeguard::tests::test_is_config_error_patterns ... ok [INFO] [stdout] test agents::lifeguard::tests::test_parse_failure_above_threshold_escalates ... ok [INFO] [stdout] test agents::lifeguard::tests::test_parse_failure_below_threshold_continues ... ok [INFO] [stdout] test agents::lifeguard::tests::test_parse_failure_reset ... ok [INFO] [stdout] test agents::llm_client::tests::test_accumulate_sse_chunks ... ok [INFO] [stdout] test agents::llm_client::tests::test_accumulate_sse_json_response ... ok [INFO] [stdout] test agents::llm_client::tests::test_accumulate_sse_with_empty_lines ... ok [INFO] [stdout] test agents::integrator::tests::test_recover_stuck_ticks_learning_creation ... ok [INFO] [stdout] test agents::integrator::tests::test_run_integrator_cancellation ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_tick_creation_error_handling ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_new_missing_env ... ok [INFO] [stdout] test agents::integrator::tests::test_merge_bundle_branches_failure_cleans_up ... ok [INFO] [stdout] test agents::integrator::tests::test_recover_stuck_ticks_none ... ok [INFO] [stdout] test agents::integrator::tests::test_recover_stuck_ticks_validating ... ok [INFO] [stdout] test agents::integrator::tests::test_recover_stuck_ticks_sealing ... ok [INFO] [stdout] test agents::llm_client::tests::test_finalize_block_text ... ok [INFO] [stdout] test agents::llm_client::tests::test_finalize_block_tool_use ... ok [INFO] [stdout] test agents::llm_client::tests::test_finalize_block_tool_use_bad_json ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_large_text_chunk ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_malformed_json ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_missing_delta_field ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_missing_type_field ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_null_text_field ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_numeric_text_field ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_content_block_start ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_content_block_stop ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_done ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_empty_data ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_empty_text ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_invalid_json ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_message_delta ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_message_start ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_message_stop ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_multiword ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_not_data_line ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_special_chars ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_text_delta_valid ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_unicode_text ... ok [INFO] [stdout] test agents::llm_client::tests::test_parse_sse_wrong_delta_type ... ok [INFO] [stdout] test agents::researcher::tests::test_allowed_researcher_actions ... ok [INFO] [stdout] test agents::researcher::tests::test_build_system_prompt_injects_query ... ok [INFO] [stdout] test agents::researcher::tests::test_disallowed_researcher_actions ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_list_directory ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_list_directory_empty_dir ... ok [INFO] [stdout] test agents::integrator::tests::test_cycle_validation_multi_command_sequence ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_list_directory_not_a_dir ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_code_finds_content ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_code_no_matches ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_code_truncation_over_100_lines ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_files_finds_files ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_files_no_matches ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_search_files_truncation_at_200 ... ok [INFO] [stdout] test agents::researcher::tests::test_format_action_summary_done ... ok [INFO] [stdout] test agents::researcher::tests::test_format_action_summary_list_dir ... ok [INFO] [stdout] test agents::researcher::tests::test_execute_list_directory_entry_truncation_at_500 ... ok [INFO] [stdout] test agents::researcher::tests::test_format_action_summary_other_catch_all ... ok [INFO] [stdout] test agents::researcher::tests::test_format_action_summary_search_code ... ok [INFO] [stdout] test agents::integrator::tests::test_stale_rejection_handles_terminal_work ... ok [INFO] [stdout] test agents::integrator::tests::test_stale_policy_replan_at_safe_point ... ok [INFO] [stdout] test agents::integrator::tests::test_stale_rejection_creates_learning ... ok [INFO] [stdout] test agents::integrator::tests::test_stale_rejection_resets_work_to_ready ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_emit_chunk ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_debug ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_with_api_key ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_blocks_write_actions ... ok [INFO] [stdout] test agents::researcher::tests::test_system_prompt_contains_query_placeholder ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_done_on_first_iteration ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_self_correction_max_requeries_exceeded ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_need_help_exits ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_allows_normal_files ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_exits_on_cancellation ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_nonexistent_file_in_repo ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_absolute ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_credentials ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_parent_dir ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_env_file ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_key_file ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_emit_final_chunk ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_self_correction_parse_failure_then_success ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_secret_file ... ok [INFO] [stdout] test agents::llm_client::tests::test_agent_llm_client_emit_status ... ok [INFO] [stdout] test agents::reviewer::tests::test_parse_review_result_wrapped_in_code_block ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_relative_ok ... ok [INFO] [stdout] test agents::reviewer::tests::test_review_result_serde_approve ... ok [INFO] [stdout] test agents::reviewer::tests::test_review_result_serde_reject ... ok [INFO] [stdout] test agents::reviewer::tests::test_review_result_serde_with_issues ... ok [INFO] [stdout] test agents::reviewer::tests::test_review_verdict_display ... ok [INFO] [stdout] test agents::reviewer::tests::test_review_verdict_serde_roundtrip ... ok [INFO] [stdout] test agents::reviewer::tests::test_parse_review_result_direct_json ... ok [INFO] [stdout] test agents::reviewer::tests::test_parse_review_result_wrong_schema ... ok [INFO] [stdout] test agents::llm_client::tests::test_emit_chunk_no_subscribers ... ok [INFO] [stdout] test agents::llm_client::tests::test_emit_status_no_subscribers ... ok [INFO] [stdout] test agents::llm_client::tests::test_call_streaming_network_error ... ok [INFO] [stdout] test agents::researcher::tests::test_validate_path_rejects_pem_file ... ok [INFO] [stdout] test agents::reviewer::tests::test_parse_review_result_invalid ... ok [INFO] [stdout] test agents::reviewer::tests::test_system_prompt_contains_key_instructions ... ok [INFO] [stdout] test agents::sandbox::tests::test_allows_current_dir_component ... ok [INFO] [stdout] test agents::sandbox::tests::test_allows_existing_file_within_root ... ok [INFO] [stdout] test agents::sandbox::tests::test_allows_nested_nonexistent_directories ... ok [INFO] [stdout] test agents::sandbox::tests::test_allows_new_file_within_root ... ok [INFO] [stdout] test agents::sandbox::tests::test_allows_normal_file_with_denylist ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_blocks_credentials ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_blocks_env_file ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_blocks_key_extension ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_blocks_pem_extension ... ok [INFO] [stdout] test agents::researcher::tests::test_researcher_max_iterations ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_skipped_when_disabled ... ok [INFO] [stdout] test agents::sandbox::tests::test_denylist_blocks_secret_file ... ok [INFO] [stdout] test agents::sandbox::tests::test_rejects_absolute_path ... ok [INFO] [stdout] test agents::sandbox::tests::test_rejects_nested_parent_dir ... ok [INFO] [stdout] test agents::sandbox::tests::test_rejects_parent_dir_traversal ... ok [INFO] [stdout] test agents::tests::test_agent_action_acquire_lock_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_assign_agent_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_learning_backward_compat ... ok [INFO] [stdout] test agents::reviewer::tests::test_reviewer_missing_bundle_id ... ok [INFO] [stdout] test agents::researcher::tests::test_run_researcher_iteration_empty_actions_returns_done ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_phase_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_spec_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_plan_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_work_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_done_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_need_help_serde ... ok [INFO] [stdout] test agents::reviewer::tests::test_context_builder_for_reviewer ... ok [INFO] [stdout] test agents::tests::test_agent_action_override_work_parse_from_llm_json ... ok [INFO] [stdout] test agents::integrator::tests::test_stale_policy_auto_replay_and_verify ... ok [INFO] [stdout] test agents::reviewer::tests::test_run_reviewer_bad_response ... ok [INFO] [stdout] test agents::tests::test_agent_action_override_work_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_accept_bundle_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_list_directory_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_parse_from_llm_json ... ok [INFO] [stdout] test agents::tests::test_agent_action_create_learning_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_propose_bundle_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_release_lock_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_run_tool_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_search_code_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_search_files_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_spawn_researcher_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_transition_with_role ... ok [INFO] [stdout] test agents::tests::test_agent_action_transition_without_role_backward_compat ... ok [INFO] [stdout] test agents::tests::test_agent_action_triage_bundle_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_write_file_serde ... ok [INFO] [stdout] test agents::tests::test_agent_action_validate_document_serde ... ok [INFO] [stdout] test agents::reviewer::tests::test_run_reviewer_llm_failure ... ok [INFO] [stdout] test agents::reviewer::tests::test_reviewer_handles_already_accepted_bundle ... ok [INFO] [stdout] test agents::researcher::tests::test_run_researcher_iteration_mixed_allowed_disallowed ... ok [INFO] [stdout] test agents::reviewer::tests::test_run_reviewer_request_changes ... ok [INFO] [stdout] test agents::tests::test_agent_event_llm_output_serde ... ok [INFO] [stdout] test agents::tests::test_agent_event_staleness_detected_serde ... ok [INFO] [stdout] test agents::tests::test_agent_event_status_change_serde ... ok [INFO] [stdout] test agents::tests::test_agent_event_tool_completed_serde ... ok [INFO] [stdout] test agents::tests::test_agent_session_new ... ok [INFO] [stdout] test agents::tests::test_agent_session_new_coordinator ... ok [INFO] [stdout] test agents::tests::test_agent_session_new_researcher_with_target ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_collection_name ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_id ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_indexed_fields ... ok [INFO] [stdout] test agents::reviewer::tests::test_run_reviewer_reject ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_indexed_fields_reviewer ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_updated_at ... ok [INFO] [stdout] test agents::tests::test_agent_session_serde_backward_compat ... ok [INFO] [stdout] test agents::tests::test_agent_session_serde_roundtrip ... ok [INFO] [stdout] test agents::tests::test_agent_session_transition_chain ... ok [INFO] [stdout] test agents::tests::test_agent_session_transition_invalid ... ok [INFO] [stdout] test agents::tests::test_agent_session_record_indexed_fields_with_target_id ... ok [INFO] [stdout] test agents::tests::test_agent_session_transition_valid ... ok [INFO] [stdout] test agents::tests::test_agent_status_display ... ok [INFO] [stdout] test agents::tests::test_agent_session_unique_ids ... ok [INFO] [stdout] test agents::tests::test_agent_status_invalid_transitions ... ok [INFO] [stdout] test agents::tests::test_agent_status_is_terminal ... ok [INFO] [stdout] test agents::tests::test_agent_status_valid_transitions ... ok [INFO] [stdout] test agents::tests::test_agent_type_default_role ... ok [INFO] [stdout] test agents::tests::test_agent_status_serde_roundtrip ... ok [INFO] [stdout] test agents::tests::test_agent_type_display ... ok [INFO] [stdout] test agents::tests::test_agent_type_display_matches_serde ... ok [INFO] [stdout] test agents::tests::test_agent_type_is_thinking_plane ... ok [INFO] [stdout] test agents::tests::test_agent_type_serde_roundtrip ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_array_input ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_empty_array ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_empty_object ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_missing_field ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_on_commit_paths ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_null_input ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_string_input ... ok [INFO] [stdout] test agents::tests::test_string_or_vec_on_create_work ... ok [INFO] [stdout] test agents::reviewer::tests::test_run_reviewer_approve ... ok [INFO] [stdout] test agents::worker::tests::test_worker_shuts_down_when_signaled ... ok [INFO] [stdout] test cli::diagnose::tests::test_find_session_dir_with_id ... ok [INFO] [stdout] test cli::diagnose::tests::test_format_bytes ... ok [INFO] [stdout] test cli::diagnose::tests::test_read_log_no_filter ... ok [INFO] [stdout] test agents::reviewer::tests::test_context_builder_missing_bundle ... ok [INFO] [stdout] test cli::diagnose::tests::test_read_log_tail_larger_than_file ... ok [INFO] [stdout] test cli::diagnose::tests::test_read_log_with_filter ... ok [INFO] [stdout] test cli::diagnose::tests::test_run_sessions_no_dir ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_list_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_list_with_filters_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_output_default_since ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_output_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_pause_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_resume_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_coordinator_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_implementer_mapping ... ok [INFO] [stdout] test cli::diagnose::tests::test_read_log_with_tail ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_researcher_no_target ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_researcher_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_with_all_optional_params ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_start_reviewer_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_status_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_agent_stop_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_create_with_base_tick_id ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_create_with_claims_and_touched_paths ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_get_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_list_no_filter ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_list_with_work_filter ... ok [INFO] [stdout] test cli::dispatch::tests::test_bundle_transition_role_is_serde_compatible ... ok [INFO] [stdout] test cli::dispatch::tests::test_coordinator_accept_plan_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_coordinator_get_goal_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_coordinator_clear_goal_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_coordinator_goal_clear_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_coordinator_set_goal_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_crud_spec_with_parent_and_order ... ok [INFO] [stdout] test cli::dispatch::tests::test_get_and_list_mappings ... ok [INFO] [stdout] test cli::dispatch::tests::test_init_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_contradict_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_demote_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_get_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_list_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_reinforce_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_expire_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_get_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_learning_promote_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_list_holder_id_only ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_list_multiple_filters ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_list_with_filters ... ok [INFO] [stdout] test cli::dispatch::tests::test_lock_release_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_phase_create_mapping_with_order ... ok [INFO] [stdout] test cli::dispatch::tests::test_phase_list_with_parent_uses_spec_id ... ok [INFO] [stdout] test cli::dispatch::tests::test_phase_transition_normalizes_status_to_lowercase ... ok [INFO] [stdout] test cli::dispatch::tests::test_plan_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_report_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_plan_transition_normalizes_status_to_lowercase ... ok [INFO] [stdout] test cli::dispatch::tests::test_reports_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_shutdown_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_spec_create_mapping_with_parent ... ok [INFO] [stdout] test cli::dispatch::tests::test_spec_list_with_parent_uses_plan_id ... ok [INFO] [stdout] test cli::dispatch::tests::test_spec_transition_normalizes_status_to_lowercase ... ok [INFO] [stdout] test cli::dispatch::tests::test_status_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_get_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_list_no_filter ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_list_with_status_filter ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_publish_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_validate_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_tick_transition_role_is_serde_compatible ... ok [INFO] [stdout] test cli::dispatch::tests::test_transition_role_is_serde_compatible ... ok [INFO] [stdout] test cli::dispatch::tests::test_transition_skip_validation_flag ... ok [INFO] [stdout] test cli::dispatch::tests::test_validate_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_work_create_skips_work_fields_for_non_work ... ok [INFO] [stdout] test cli::dispatch::tests::test_work_create_with_parent_uses_phase_id ... ok [INFO] [stdout] test cli::dispatch::tests::test_work_list_with_parent_uses_phase_id ... ok [INFO] [stdout] test cli::dispatch::tests::test_work_transition_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_work_transition_preserves_status_casing ... ok [INFO] [stdout] test cli::dispatch::tests::test_worktree_cleanup_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_worktree_create_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_worktree_list_mapping ... ok [INFO] [stdout] test cli::dispatch::tests::test_worktree_refresh_mapping ... ok [INFO] [stdout] test cli::tests::test_cli_log_level_default_none ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_list ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_list_with_filters ... ok [INFO] [stdout] test agents::tests::test_agent_context_from_session_id_not_found ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_output_with_since ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_output ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_pause ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_resume ... ok [INFO] [stdout] test agents::tests::test_agent_context_is_cancelled_true_when_session_missing ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_start_implementer ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_start_researcher ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_start_researcher_with_target ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_start_coordinator ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_stop ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_status ... ok [INFO] [stdout] test agents::tests::test_agent_context_is_cancelled_false_when_running ... ok [INFO] [stdout] test agents::tests::test_agent_context_is_cancelled_true_when_cancelled ... ok [INFO] [stdout] test cli::tests::test_cli_parses_as_role ... ok [INFO] [stdout] test cli::tests::test_cli_parses_agent_start_reviewer ... ok [INFO] [stdout] test cli::tests::test_cli_parses_bundle_create ... ok [INFO] [stdout] test cli::tests::test_cli_parses_coordinator_clear_goal ... ok [INFO] [stdout] test cli::tests::test_cli_parses_coordinator_goal ... ok [INFO] [stdout] test agents::tests::test_agent_context_log_delegates ... ok [INFO] [stdout] test cli::tests::test_cli_parses_coordinator_set_goal ... ok [INFO] [stdout] test cli::tests::test_cli_parses_daemon ... ok [INFO] [stdout] test cli::tests::test_cli_parses_config_flag ... ok [INFO] [stdout] test cli::tests::test_cli_parses_bundle_create_with_claims ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_agents ... ok [INFO] [stdout] test cli::tests::test_cli_parses_coordinator_accept_plan ... ok [INFO] [stdout] test agents::tests::test_agent_context_from_session_id_success ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_sessions ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_state ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_summary ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_dump ... ok [INFO] [stdout] test cli::tests::test_cli_parses_log_level ... ok [INFO] [stdout] test cli::tests::test_cli_parses_learning_create ... ok [INFO] [stdout] test cli::tests::test_cli_parses_init ... ok [INFO] [stdout] test cli::tests::test_cli_parses_lock_create ... ok [INFO] [stdout] test cli::tests::test_cli_parses_no_args ... ok [INFO] [stdout] test cli::tests::test_cli_parses_plan_get ... ok [INFO] [stdout] test cli::tests::test_cli_parses_plan_create ... ok [INFO] [stdout] test cli::tests::test_cli_parses_report ... ok [INFO] [stdout] test cli::tests::test_cli_parses_reports ... ok [INFO] [stdout] test cli::tests::test_cli_parses_shutdown ... ok [INFO] [stdout] test cli::tests::test_cli_parses_status ... ok [INFO] [stdout] test cli::tests::test_cli_parses_tui ... ok [INFO] [stdout] test agents::tests::test_agent_context_emit_iteration_completed ... ok [INFO] [stdout] test cli::tests::test_cli_parses_tick_publish ... ok [INFO] [stdout] test agents::tests::test_agent_context_persist_iteration ... ok [INFO] [stdout] test agents::tests::test_agent_context_emit_iteration_completed_no_receivers ... ok [INFO] [stdout] test config::tests::test_agent_config_default_disabled ... ok [INFO] [stdout] test config::tests::test_agent_config_default_tools ... ok [INFO] [stdout] test config::tests::test_agent_config_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::test_agent_config_has_coordinator ... ok [INFO] [stdout] test cli::tests::test_cli_parses_work_create_with_resource_tags ... ok [INFO] [stdout] test config::tests::test_agent_role_config_implementer_defaults ... ok [INFO] [stdout] test config::tests::test_agent_config_has_researcher ... ok [INFO] [stdout] test cli::tests::test_cli_parses_worktree_create ... ok [INFO] [stdout] test agents::reviewer::tests::test_reviewer_creates_feedback_learning_on_approve ... ok [INFO] [stdout] test config::tests::test_agent_role_config_researcher_defaults ... ok [INFO] [stdout] test config::tests::test_agent_role_config_reviewer_defaults ... ok [INFO] [stdout] test config::tests::test_bundle_size_policy_default ... ok [INFO] [stdout] test config::tests::test_chat_config_default ... ok [INFO] [stdout] test config::tests::test_chat_config_to_delegate_role_config ... ok [INFO] [stdout] test config::tests::test_chat_config_to_role_config ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_dump_with_session ... ok [INFO] [stdout] test config::tests::test_chat_config_yaml_roundtrip ... ok [INFO] [stdout] test config::tests::test_config_default ... ok [INFO] [stdout] test config::tests::test_config_has_agents ... ok [INFO] [stdout] test config::tests::test_config_has_chat ... ok [INFO] [stdout] test config::tests::test_config_has_daemon_and_project ... ok [INFO] [stdout] test cli::tests::test_cli_parses_validate ... ok [INFO] [stdout] test config::tests::test_config_has_integrator ... ok [INFO] [stdout] test config::tests::test_config_has_strategy ... ok [INFO] [stdout] test config::tests::test_config_load_defaults_when_no_file ... ok [INFO] [stdout] test config::tests::test_config_log_level_default_none ... ok [INFO] [stdout] test config::tests::test_conflict_policy_default ... ok [INFO] [stdout] test config::tests::test_conflict_policy_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_coordinator_config_default ... ok [INFO] [stdout] test config::tests::test_config_log_level_yaml_without ... ok [INFO] [stdout] test config::tests::test_config_log_level_yaml_roundtrip ... ok [INFO] [stdout] test config::tests::test_coordinator_config_interview_mode_default ... ok [INFO] [stdout] test cli::tests::test_cli_parses_work_create ... ok [INFO] [stdout] test cli::tests::test_cli_parses_plan_transition ... ok [INFO] [stdout] test config::tests::test_coordinator_config_interview_mode_yaml ... ok [INFO] [stdout] test config::tests::test_coverage_strictness_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_coordinator_config_interview_mode_yaml_auto ... ok [INFO] [stdout] test config::tests::test_daemon_config_default ... ok [INFO] [stdout] test config::tests::test_evaluator_config_default ... ok [INFO] [stdout] test config::tests::test_integrator_config_default ... ok [INFO] [stdout] test config::tests::test_interview_mode_default ... ok [INFO] [stdout] test config::tests::test_coverage_strictness_default ... ok [INFO] [stdout] test config::tests::test_promotion_policy_default ... ok [INFO] [stdout] test config::tests::test_interview_mode_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_coordinator_config_interview_mode_yaml_omitted ... ok [INFO] [stdout] test config::tests::test_integrator_config_new_fields ... ok [INFO] [stdout] test agents::tests::test_agent_context_persist_iteration_noop_when_missing ... ok [INFO] [stdout] test config::tests::test_config_has_evaluator ... ok [INFO] [stdout] test cli::tests::test_cli_parses_plan_list ... ok [INFO] [stdout] test cli::tests::test_cli_parses_diagnose_log ... ok [INFO] [stdout] test config::tests::test_project_config_default ... ok [INFO] [stdout] test config::tests::test_stale_policy_default ... ok [INFO] [stdout] test config::tests::test_stale_policy_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_strategy_config_coverage_defaults ... ok [INFO] [stdout] test config::tests::test_strategy_config_coverage_yaml ... ok [INFO] [stdout] test config::tests::test_strategy_config_default ... ok [INFO] [stdout] test config::tests::test_strategy_config_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::test_strategy_config_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_tick_cadence_default ... ok [INFO] [stdout] test config::tests::test_tick_cadence_batched_serde ... ok [INFO] [stdout] test config::tests::test_tool_entry_fields ... ok [INFO] [stdout] test config::tests::test_validator_strictness_default ... ok [INFO] [stdout] test config::tests::test_validator_strictness_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_work_sla_config_default ... ok [INFO] [stdout] test config::tests::test_work_sla_config_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_work_sla_config_yaml_default_omitted ... ok [INFO] [stdout] test cli::tests::test_cli_verify ... ok [INFO] [stdout] test agents::integrator::tests::test_run_integrator_timeout ... ok [INFO] [stdout] test daemon::context::tests::test_context_event_broadcast ... ok [INFO] [stdout] test daemon::context::tests::test_context_new_creates_taskstore ... ok [INFO] [stdout] test daemon::context::tests::test_recover_completed_session_not_touched ... ok [INFO] [stdout] test daemon::context::tests::test_context_shared ... ok [INFO] [stdout] test daemon::context::tests::test_context_shared_event_broadcast ... ok [INFO] [stdout] test daemon::context::tests::test_context_new ... ok [INFO] [stdout] test daemon::context::tests::test_context_taskstore_crud ... ok [INFO] [stdout] test daemon::context::tests::test_stores_bundle_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_coordinator_goal_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_default ... ok [INFO] [stdout] test daemon::context::tests::test_stores_learning_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_lock_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_recover_empty_stores ... ok [INFO] [stdout] test daemon::context::tests::test_stores_phase_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_plan_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_recover_no_orphans ... ok [INFO] [stdout] test daemon::context::tests::test_stores_spec_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_work_insert_and_read ... ok [INFO] [stdout] test daemon::context::tests::test_stores_tick_insert_and_read ... ok [INFO] [stdout] test daemon::handlers::tests::test_accept_plan_empty_text ... ok [INFO] [stdout] test daemon::handlers::tests::test_accept_plan_neither_param ... ok [INFO] [stdout] test daemon::context::tests::test_recover_both_orphaned_types ... ok [INFO] [stdout] test daemon::handlers::tests::test_agent_session_model_from_config ... ok [INFO] [stdout] test daemon::handlers::tests::test_agent_start_max_pool_enforcement ... ok [INFO] [stdout] test daemon::handlers::tests::test_agent_start_pool_allows_after_terminal ... ok [INFO] [stdout] test daemon::handlers::tests::test_agent_status_fallback_to_hashmap ... ok [INFO] [stdout] test daemon::context::tests::test_recover_mixed_orphans ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_bootstrap_no_published_tick_no_base ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_missing_branch_name ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_missing_work_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_no_base_tick ... ok [INFO] [stdout] test daemon::context::tests::test_recover_open_tick_recovered ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_rejects_abandoned_work ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_rejects_done_work ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_staleness_guard_accepts_matching_base_tick ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_staleness_guard_broadcasts_stale_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_staleness_guard_rejects_no_base_tick_when_published_exists ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_staleness_guard_rejects_stale_base_tick ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_staleness_guard_uses_highest_tick_number ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_work_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_get_not_found ... ok [INFO] [stdout] test daemon::context::tests::test_recover_stuck_session_waiting_for_llm ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_list_filtered_by_work_id ... ok [INFO] [stdout] test daemon::context::tests::test_context_hydrates_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::context::tests::test_recover_stuck_session_running ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_transition_proposed_to_triaged ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_clear_goal ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_transition_not_found ... ok [INFO] [stdout] test daemon::context::tests::test_recover_stuck_tick_sealing ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_get_goal_when_none ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_set_goal ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_clear_goal_when_none ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_set_goal_empty_rejected ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_get_goal_returns_active ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_set_goal_missing_param ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_handshake ... ok [INFO] [stdout] test daemon::handlers::tests::test_coordinator_set_goal_replaces_previous ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_shutdown ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_status_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_status_with_records ... ok [INFO] [stdout] test daemon::context::tests::test_recover_stuck_tick_validating ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_system_init_without_store ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_unknown_method ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_output ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_output_missing_session_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_pause ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_pause_missing_session ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_pause_terminal_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_resume ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_agent_resume_missing_session ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_claims_array ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_claims_string_backward_compat ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_size_policy_rejects_too_many_files ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_bundle_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_accept_plan_with_plan_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_accept_plan_with_text ... ok [INFO] [stdout] test daemon::context::tests::test_recover_orphaned_works ... ok [INFO] [stdout] test daemon::handlers::tests::test_agent_status_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_update ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_phase_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_phase_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_phase_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_plan_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_plan_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_plan_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_spec_update_missing_id ... ok [INFO] [stdout] test daemon::context::tests::test_recover_orphaned_bundles ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_spec_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_spec_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_tick_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_tick_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_tick_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_tool_list ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_report_no_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_accept_plan_title_extraction ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_system_init_idempotent ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_reports_no_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_validate_no_validator ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_system_init ... ok [INFO] [stdout] test daemon::handlers::tests::test_dispatch_status_with_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_work_update_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_work_update_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_work_update_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_implementer_dedup_allows_after_terminal ... ok [INFO] [stdout] test daemon::handlers::tests::test_implementer_dedup_allows_different_work_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_implementer_dedup_rejects_second_on_same_work ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_dispatch_routes ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_publish_from_open ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_publish_from_sealing ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_publish_validation_failure ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_publish_wrong_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_events ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_failure ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_missing_tick_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_report_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_multi_command_stops_on_first_failure ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_integrator_validate_wrong_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_contradict ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_reinforce ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_demote ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_missing_content ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_contradict ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_invalid_scope ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_missing_source_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_reports ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_bundle_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_list_with_scope_filter ... ok [INFO] [stdout] test agents::worker::tests::test_worker_idles_when_no_work ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_promote_and_demote ... ok [INFO] [stdout] test agents::worker::tests::test_worker_picks_up_ready_work ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_reinforce ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_reinforce_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_report ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_auto_expire ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_missing_holder_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_missing_resource ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_promote_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_renewable_flag ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_with_ttl_param ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_expire ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_expire_already_expired ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_validate ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_get ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_validate_missing_params ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_list ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_list_filter_active_only ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_validate_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_learning_promote ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_release ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_release_already_released ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_release_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_max_pool_for_helper ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_missing_spec_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_missing_title ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_contradict_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_rejects_abandoned_spec ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_rejects_duplicate_draft ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_rejects_complete_spec ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_spec_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_list_filtered_by_spec_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_handle_validator_validate_unknown_collection ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_draft_to_active ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_demote_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_reinforce_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_latest_report_wins_for_validation_gate ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_create_rejects_duplicate_draft ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_get_missing_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_learning_promote_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_list_with_plans ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_expire_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_create_missing_title ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_release_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_non_draft_to_active_transition_no_gate ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_default_role_coordinator ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_draft_to_active ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_missing_params ... ok [INFO] [stdout] test daemon::handlers::tests::test_lock_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_blocked_no_report_when_validator_enabled ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_missing_plan_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_missing_title ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_plan_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_rejects_abandoned_plan ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_rejects_complete_plan ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_rejects_duplicate_draft ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_list_filtered_by_plan_id ... ok [INFO] [stdout] test daemon::context::tests::test_context_hydrates_all_record_types ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_allowed_with_warn_report ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_draft_to_active ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_allowed_with_pass_report ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_missing_number ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_blocked_no_report_when_validator_enabled ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_singleton_guard_allows_after_terminal ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_singleton_guard_blocks_second ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_skip_validation_override ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_list_filtered_by_status ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_transition_default_role_is_integrator ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_transition_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_transition_open_to_sealing ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_no_gate_when_validator_disabled ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_blocked_with_fail_report ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_broadcasts_event ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_missing_phase_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_missing_title ... ok [INFO] [stdout] test daemon::handlers::tests::test_phase_transition_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_phase_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_rejects_complete_phase ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_rejects_abandoned_phase ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_get_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_plan_transition_skip_validation_override ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_get_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_list_empty ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_list_filtered_by_phase_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_success ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_transition_draft_to_ready ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_transition_invalid_skip_state ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_transition_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_transition_wrong_role ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_cleanup_missing_work_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_cleanup_work_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_create_missing_work_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_validation_gate_no_report_enabled ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_create_work_not_found ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_dispatch_routes_all_methods ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_list_returns_response ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_refresh_missing_work_id ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_refresh_nonexistent_worktree ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_blocked_no_report_when_validator_enabled ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::supervisor::tests::test_supervisor_gives_up_after_max_restarts ... ok [INFO] [stdout] test daemon::handlers::tests::test_validation_gate_suggest_only_on_fail ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_worktree_create_validates_work_exists ... ok [INFO] [stdout] test daemon::handlers::tests::test_validation_gate_hard_fail_on_warn ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_allowed_with_pass_report ... ok [INFO] [stdout] test daemon::handlers::tests::test_spec_transition_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_create_persists_to_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_tick_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_get_reads_from_taskstore ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_transition_persists_to_taskstore ... ok [INFO] [stdout] test daemon::tests::test_graceful_shutdown_no_handles ... ok [INFO] [stdout] test daemon::tests::test_graceful_shutdown_with_handles ... ok [INFO] [stdout] test daemon::tests::test_ensure_one_daemon_live_daemon_errors ... ok [INFO] [stdout] test daemon::tests::test_ensure_one_daemon_stale_pid_cleanup ... ok [INFO] [stdout] test daemon::work_queue::tests::test_dedup_filter_allows_terminal_implementer ... ok [INFO] [stdout] test daemon::work_queue::tests::test_dedup_filter_excludes_active_implementer ... ok [INFO] [stdout] test daemon::work_queue::tests::test_dependency_filter_excludes_unmet ... ok [INFO] [stdout] test daemon::work_queue::tests::test_dependency_filter_includes_met ... ok [INFO] [stdout] test daemon::work_queue::tests::test_multiple_ready_works_returns_highest_priority ... ok [INFO] [stdout] test daemon::work_queue::tests::test_no_ready_works_returns_none ... ok [INFO] [stdout] test daemon::work_queue::tests::test_non_ready_works_excluded ... ok [INFO] [stdout] test daemon::work_queue::tests::test_phase_filter_excludes_non_matching ... ok [INFO] [stdout] test daemon::work_queue::tests::test_phase_filter_includes_matching ... ok [INFO] [stdout] test daemon::work_queue::tests::test_priority_fewer_deps_over_more_deps ... ok [INFO] [stdout] test daemon::handlers::tests::test_work_list_reads_from_taskstore ... ok [INFO] [stdout] test daemon::work_queue::tests::test_single_ready_work_returned ... ok [INFO] [stdout] test daemon::work_queue::tests::test_priority_no_contention_over_contention ... ok [INFO] [stdout] test domain::bundle::tests::test_advisory_accepted_can_be_superseded ... ok [INFO] [stdout] test domain::bundle::tests::test_advisory_accepted_can_still_be_rejected ... ok [INFO] [stdout] test domain::bundle::tests::test_advisory_bypass_does_not_break_normal_happy_path ... ok [INFO] [stdout] test domain::bundle::tests::test_advisory_bypass_path_continues_to_integrating ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_new ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_new_no_base_tick ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_serde_roundtrip ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_status_display ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_status_serde_roundtrip ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_unique_ids ... ok [INFO] [stdout] test daemon::tests::test_ensure_one_daemon_stale_socket_cleanup ... ok [INFO] [stdout] test domain::bundle::tests::test_bundle_status_display_matches_serde ... ok [INFO] [stdout] test daemon::tests::test_write_and_remove_pid_file ... ok [INFO] [stdout] test daemon::tests::test_daemon_pid_file_lifecycle ... ok [INFO] [stdout] test daemon::tests::test_daemon_status ... ok [INFO] [stdout] test daemon::tests::test_ensure_daemon_already_running ... ok [INFO] [stdout] test daemon::tests::test_daemon_multiple_clients ... ok [INFO] [stdout] test domain::bundle::tests::test_claims_deserialize_from_empty_string ... ok [INFO] [stdout] test domain::bundle::tests::test_claims_deserialize_from_array ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_integrating_to_merged_wrong_role ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_merged_to_anything ... ok [INFO] [stdout] test domain::bundle::tests::test_claims_deserialize_from_string ... ok [INFO] [stdout] test domain::bundle::tests::test_claims_vec_roundtrip ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_rejected_to_anything ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_superseded_to_anything ... ok [INFO] [stdout] test domain::bundle::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::bundle::tests::test_record_id ... ok [INFO] [stdout] test domain::bundle::tests::test_record_indexed_fields ... ok [INFO] [stdout] test domain::bundle::tests::test_record_indexed_fields_reflect_status ... ok [INFO] [stdout] test domain::bundle::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_accepted_to_integrating ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_early_rejection ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_integrating_to_merged ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_integrating_to_rejected ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_proposed_to_triaged ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_reviewed_to_accepted ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_superseded_from_non_final ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_triaged_to_accepted_coordinator ... ok [INFO] [stdout] test domain::bundle::tests::test_valid_triaged_to_reviewed ... ok [INFO] [stdout] test domain::chat::tests::test_chat_history_new ... ok [INFO] [stdout] test domain::chat::tests::test_funnel_state_serde_roundtrip ... ok [INFO] [stdout] test domain::chat::tests::test_system_prompt_chat ... ok [INFO] [stdout] test domain::chat::tests::test_system_prompt_executing ... ok [INFO] [stdout] test domain::chat::tests::test_system_prompt_interview ... ok [INFO] [stdout] test domain::chat::tests::test_system_prompt_plan_draft_refine ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_coordinator_goal_deactivate ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_coordinator_goal_new ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_coordinator_goal_serde_roundtrip ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_coordinator_goal_unique_ids ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_record_id ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_record_indexed_fields ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_triaged_to_accepted_wrong_role ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_record_indexed_fields_after_deactivate ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_fsm_state_display ... ok [INFO] [stdout] test domain::coordinator_goal::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_coordinator_state_new ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_new_with_auto_starts_in_interviewing ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_fsm_state_is_terminal ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_new_with_interactive_starts_in_interviewing ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_fsm_state_transitions ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_multiple_phases_completed ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_new_with_skip_starts_in_planning ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_record_first_assignment ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_record_trait ... ok [INFO] [stdout] test daemon::tests::test_daemon_handshake ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_serde_roundtrip_with_first_assigned ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_work_age_minutes_none_for_unassigned ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_work_age_minutes_synthetic ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_work_age_minutes_zero_for_just_assigned ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_work_attempts ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_work_first_assigned_at_empty_on_new ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_gap_serde ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_critical_gaps ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_indexed_fields ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_is_complete ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_new ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_record_trait ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_report_serde_roundtrip ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_verdict_display ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_verdict_display_matches_serde ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_verdict_serde_format ... ok [INFO] [stdout] test domain::coverage::tests::test_coverage_verdict_serde_roundtrip ... ok [INFO] [stdout] test domain::coverage::tests::test_gap_severity_display ... ok [INFO] [stdout] test domain::coverage::tests::test_gap_severity_display_matches_serde ... ok [INFO] [stdout] test domain::coverage::tests::test_gap_severity_serde_roundtrip ... ok [INFO] [stdout] test domain::coverage::tests::test_out_of_scope_item_serde ... ok [INFO] [stdout] test domain::decision::tests::test_decision_new ... ok [INFO] [stdout] test domain::decision::tests::test_decision_record_collection_name ... ok [INFO] [stdout] test domain::decision::tests::test_decision_record_id ... ok [INFO] [stdout] test domain::decision::tests::test_decision_record_indexed_fields ... ok [INFO] [stdout] test domain::decision::tests::test_decision_record_updated_at ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_record_first_assignment_not_overwritten ... ok [INFO] [stdout] test domain::decision::tests::test_decision_serde_roundtrip ... ok [INFO] [stdout] test domain::decision::tests::test_decision_status_display ... ok [INFO] [stdout] test domain::learning::tests::test_applicable_roles_filtering ... ok [INFO] [stdout] test domain::learning::tests::test_applicable_roles_none_means_all ... ok [INFO] [stdout] test domain::learning::tests::test_auto_promotion_blocked_by_contradictions ... ok [INFO] [stdout] test domain::learning::tests::test_auto_promotion_on_threshold ... ok [INFO] [stdout] test domain::learning::tests::test_backward_compat_deserialize_pre_mvp4_json ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_serde_backward_compat_without_first_assigned ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_skip_proposed_to_accepted ... ok [INFO] [stdout] test domain::coordinator_state::tests::test_serde_roundtrip ... ok [INFO] [stdout] test domain::learning::tests::test_auto_promotion_disabled ... ok [INFO] [stdout] test domain::learning::tests::test_confidence_default_for_new_learning ... ok [INFO] [stdout] test domain::learning::tests::test_confidence_after_mixed_operations ... ok [INFO] [stdout] test domain::learning::tests::test_contradict_updates_confidence ... ok [INFO] [stdout] test domain::learning::tests::test_indexed_fields_promoted_true ... ok [INFO] [stdout] test domain::learning::tests::test_learning_contradict ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_accepted_to_integrating_wrong_role ... ok [INFO] [stdout] test domain::learning::tests::test_auto_promotion_respects_min_reinforcements ... ok [INFO] [stdout] test daemon::tests::test_write_version_file ... ok [INFO] [stdout] test domain::chat::tests::test_system_prompt_plan_draft_request ... ok [INFO] [stdout] test domain::bundle::tests::test_invalid_proposed_to_triaged_wrong_role ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_all_aliases ... ok [INFO] [stdout] test domain::learning::tests::test_learning_new ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_display ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_serde_format ... ok [INFO] [stdout] test domain::learning::tests::test_learning_promote_demote ... ok [INFO] [stdout] test domain::learning::tests::test_learning_global_scope ... ok [INFO] [stdout] test domain::learning::tests::test_learning_reinforce ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_serde_roundtrip ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_pascal_case_alias ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_work_alias ... ok [INFO] [stdout] test domain::learning::tests::test_learning_unique_ids ... ok [INFO] [stdout] test domain::learning::tests::test_recompute_confidence_all_contradicted ... ok [INFO] [stdout] test domain::learning::tests::test_recompute_confidence_all_reinforced ... ok [INFO] [stdout] test domain::learning::tests::test_recompute_confidence_zero_observations ... ok [INFO] [stdout] test domain::learning::tests::test_record_id ... ok [INFO] [stdout] test domain::learning::tests::test_learning_serde_roundtrip ... ok [INFO] [stdout] test domain::learning::tests::test_recompute_confidence_mixed ... ok [INFO] [stdout] test domain::learning::tests::test_learning_source_id_preserved ... ok [INFO] [stdout] test domain::learning::tests::test_learning_scope_lowercase_canonical ... ok [INFO] [stdout] test domain::learning::tests::test_record_indexed_fields ... ok [INFO] [stdout] test domain::learning::tests::test_record_indexed_fields_reflect_scope ... ok [INFO] [stdout] test domain::lock::tests::test_lock_expire ... ok [INFO] [stdout] test domain::lock::tests::test_lock_is_active ... ok [INFO] [stdout] test domain::learning::tests::test_resource_tags ... ok [INFO] [stdout] test domain::learning::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::lock::tests::test_lock_is_expired_future ... ok [INFO] [stdout] test domain::lock::tests::test_lock_is_expired_past ... ok [INFO] [stdout] test domain::learning::tests::test_reinforce_updates_confidence ... ok [INFO] [stdout] test domain::lock::tests::test_lock_is_expired_no_expiry ... ok [INFO] [stdout] test domain::lock::tests::test_lock_new ... ok [INFO] [stdout] test domain::lock::tests::test_lock_release ... ok [INFO] [stdout] test domain::lock::tests::test_lock_resource_preserved ... ok [INFO] [stdout] test domain::lock::tests::test_lock_status_display ... ok [INFO] [stdout] test domain::lock::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::lock::tests::test_lock_serde_roundtrip ... ok [INFO] [stdout] test domain::lock::tests::test_record_id ... ok [INFO] [stdout] test domain::lock::tests::test_lock_status_serde_roundtrip ... ok [INFO] [stdout] test domain::lock::tests::test_lock_status_serde_format ... ok [INFO] [stdout] test domain::mailbox::tests::test_mailbox_broadcast ... ok [INFO] [stdout] test domain::lock::tests::test_lock_unique_ids ... ok [INFO] [stdout] test domain::mailbox::tests::test_mailbox_gc ... ok [INFO] [stdout] test domain::mailbox::tests::test_mailbox_priority_ordering ... ok [INFO] [stdout] test domain::mailbox::tests::test_mailbox_send_and_read ... ok [INFO] [stdout] test domain::mailbox::tests::test_mailbox_unread_count ... ok [INFO] [stdout] test domain::mailbox::tests::test_message_priority_ordering ... ok [INFO] [stdout] test domain::lock::tests::test_lock_granted_by_preserved ... ok [INFO] [stdout] test domain::phase::tests::test_phase_invalid_transition_reverse ... ok [INFO] [stdout] test domain::phase::tests::test_phase_invalid_transition_wrong_role ... ok [INFO] [stdout] test domain::mailbox::tests::test_message_payload_variants ... ok [INFO] [stdout] test domain::phase::tests::test_phase_order_preserved ... ok [INFO] [stdout] test domain::phase::tests::test_phase_preserves_spec_id ... ok [INFO] [stdout] test domain::phase::tests::test_phase_record_collection_name ... ok [INFO] [stdout] test domain::lock::tests::test_record_indexed_fields ... ok [INFO] [stdout] test domain::lock::tests::test_record_indexed_fields_reflect_status ... ok [INFO] [stdout] test domain::phase::tests::test_phase_record_id ... ok [INFO] [stdout] test domain::lock::tests::test_lock_holder_id_preserved ... ok [INFO] [stdout] test domain::learning::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::phase::tests::test_phase_new ... ok [INFO] [stdout] test domain::mailbox::tests::test_priority_serde ... ok [INFO] [stdout] test domain::mailbox::tests::test_agent_message_serde_roundtrip ... ok [INFO] [stdout] test domain::phase::tests::test_phase_record_serde_roundtrip ... ok [INFO] [stdout] test domain::phase::tests::test_phase_serde_roundtrip ... ok [INFO] [stdout] test domain::phase::tests::test_phase_record_indexed_fields ... ok [INFO] [stdout] test domain::phase::tests::test_phase_unique_ids ... ok [INFO] [stdout] test domain::phase::tests::test_phase_record_updated_at ... ok [INFO] [stdout] test domain::phase::tests::test_phase_valid_transition_active_to_complete ... ok [INFO] [stdout] test domain::phase::tests::test_phase_valid_transition_draft_to_active ... ok [INFO] [stdout] test domain::phase::tests::test_phase_valid_transition_to_abandoned ... ok [INFO] [stdout] test domain::plan::tests::test_hierarchy_status_display_matches_serde ... ok [INFO] [stdout] test domain::plan::tests::test_hierarchy_status_display ... ok [INFO] [stdout] test domain::plan::tests::test_hierarchy_status_pascal_case_aliases ... ok [INFO] [stdout] test domain::plan::tests::test_hierarchy_status_serde_format ... ok [INFO] [stdout] test domain::plan::tests::test_invalid_transition_abandoned_to_active ... ok [INFO] [stdout] test domain::plan::tests::test_hierarchy_status_serde_roundtrip ... ok [INFO] [stdout] test domain::plan::tests::test_invalid_transition_draft_to_complete ... ok [INFO] [stdout] test domain::plan::tests::test_invalid_transition_complete_to_active ... ok [INFO] [stdout] test domain::plan::tests::test_plan_new ... ok [INFO] [stdout] test domain::plan::tests::test_plan_record_id ... ok [INFO] [stdout] test domain::plan::tests::test_invalid_transition_wrong_role ... ok [INFO] [stdout] test domain::plan::tests::test_plan_record_collection_name ... ok [INFO] [stdout] test domain::plan::tests::test_plan_record_indexed_fields ... ok [INFO] [stdout] test domain::plan::tests::test_plan_record_updated_at ... ok [INFO] [stdout] test domain::plan::tests::test_plan_record_roundtrip_json ... ok [INFO] [stdout] test domain::plan::tests::test_valid_transition_active_to_abandoned ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_record_collection_name ... ok [INFO] [stdout] test domain::plan::tests::test_plan_unique_ids ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_record_id ... ok [INFO] [stdout] test domain::plan::tests::test_plan_serde_roundtrip ... ok [INFO] [stdout] test domain::plan::tests::test_valid_transition_draft_to_active ... ok [INFO] [stdout] test domain::plan::tests::test_valid_transition_active_to_complete ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_new ... ok [INFO] [stdout] test domain::role::tests::test_role_display_matches_serde ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_record_indexed_fields ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_record_updated_at ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_serde_roundtrip ... ok [INFO] [stdout] test domain::proposal::tests::test_proposal_status_display ... ok [INFO] [stdout] test domain::role::tests::test_role_copy ... ok [INFO] [stdout] test domain::role::tests::test_role_display ... ok [INFO] [stdout] test domain::plan::tests::test_valid_transition_draft_to_abandoned ... ok [INFO] [stdout] test domain::role::tests::test_role_equality ... ok [INFO] [stdout] test domain::role::tests::test_role_serde_roundtrip ... ok [INFO] [stdout] test domain::spec::tests::test_spec_invalid_transition_skip_state ... ok [INFO] [stdout] test domain::role::tests::test_role_serde_format ... ok [INFO] [stdout] test domain::spec::tests::test_spec_invalid_transition_reverse ... ok [INFO] [stdout] test domain::spec::tests::test_spec_new ... ok [INFO] [stdout] test domain::spec::tests::test_spec_invalid_transition_wrong_role ... ok [INFO] [stdout] test domain::spec::tests::test_spec_preserves_plan_id ... ok [INFO] [stdout] test domain::spec::tests::test_spec_record_collection_name ... ok [INFO] [stdout] test domain::spec::tests::test_spec_record_updated_at ... ok [INFO] [stdout] test domain::spec::tests::test_spec_valid_transition_draft_to_active ... ok [INFO] [stdout] test domain::spec::tests::test_spec_valid_transition_active_to_complete ... ok [INFO] [stdout] test domain::spec::tests::test_spec_record_id ... ok [INFO] [stdout] test domain::spec::tests::test_spec_unique_ids ... ok [INFO] [stdout] test domain::spec::tests::test_spec_valid_transition_to_abandoned ... ok [INFO] [stdout] test domain::spec::tests::test_spec_record_roundtrip_via_serde ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_open_to_published ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_open_to_failed_wrong_role ... ok [INFO] [stdout] test domain::spec::tests::test_spec_serde_roundtrip ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_failed_to_anything ... ok [INFO] [stdout] test domain::spec::tests::test_spec_record_indexed_fields ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_open_to_sealing_wrong_role ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_open_to_validating ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_sealing_to_published ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_validating_to_sealing ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_validating_to_published_wrong_role ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_sealing_to_validating_wrong_role ... ok [INFO] [stdout] test domain::tick::tests::test_record_id ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_sealing_to_failed_wrong_role ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_sealing_to_open ... ok [INFO] [stdout] test domain::tick::tests::test_record_indexed_fields ... ok [INFO] [stdout] test domain::tick::tests::test_record_indexed_fields_reflect_status ... ok [INFO] [stdout] test domain::tick::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::tick::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::tick::tests::test_invalid_published_to_anything ... ok [INFO] [stdout] test domain::tick::tests::test_tick_serde_roundtrip ... ok [INFO] [stdout] test domain::tick::tests::test_tick_status_display ... ok [INFO] [stdout] test domain::tick::tests::test_tick_status_display_matches_serde ... ok [INFO] [stdout] test domain::tick::tests::test_tick_number_preserved ... ok [INFO] [stdout] test domain::tick::tests::test_tick_new ... ok [INFO] [stdout] test domain::tick::tests::test_tick_unique_ids ... ok [INFO] [stdout] test domain::tick::tests::test_valid_open_to_failed ... ok [INFO] [stdout] test domain::tick::tests::test_tick_status_serde_roundtrip ... ok [INFO] [stdout] test domain::tick::tests::test_tick_status_is_terminal ... ok [INFO] [stdout] test domain::tick::tests::test_valid_sealing_to_failed ... ok [INFO] [stdout] test domain::tick::tests::test_valid_validating_to_failed ... ok [INFO] [stdout] test domain::transition::tests::test_invalid_transition_wrong_role ... ok [INFO] [stdout] test domain::tick::tests::test_valid_sealing_to_validating ... ok [INFO] [stdout] test domain::tick::tests::test_valid_validating_to_published ... ok [INFO] [stdout] test domain::transition::tests::test_valid_transition_any_role ... ok [INFO] [stdout] test domain::transition::tests::test_valid_transition_with_role ... ok [INFO] [stdout] test domain::validation::tests::test_issue_severity_display ... ok [INFO] [stdout] test domain::transition::tests::test_invalid_transition_no_rule ... ok [INFO] [stdout] test domain::transition::tests::test_invalid_transition_error_message ... ok [INFO] [stdout] test domain::validation::tests::test_issue_severity_display_matches_serde ... ok [INFO] [stdout] test domain::validation::tests::test_issue_severity_serde_roundtrip ... ok [INFO] [stdout] test domain::validation::tests::test_validation_issue_no_suggestion ... ok [INFO] [stdout] test domain::validation::tests::test_validation_issue_serde ... ok [INFO] [stdout] test domain::tick::tests::test_tick_status_serde_format ... ok [INFO] [stdout] test domain::tick::tests::test_valid_open_to_sealing ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_collection_name ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_indexed_fields ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_record_id ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_new ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_record_updated_at ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_record_roundtrip_json ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_serde_roundtrip ... ok [INFO] [stdout] test domain::validation::tests::test_validation_report_with_multiple_issues ... ok [INFO] [stdout] test domain::validation::tests::test_validation_verdict_display ... ok [INFO] [stdout] test domain::validation::tests::test_validation_verdict_serde_format ... ok [INFO] [stdout] test domain::validation::tests::test_validation_verdict_serde_roundtrip ... ok [INFO] [stdout] test domain::work::tests::test_invalid_abandoned_not_by_implementer ... ok [INFO] [stdout] test domain::validation::tests::test_validation_verdict_display_matches_serde ... ok [INFO] [stdout] test domain::work::tests::test_invalid_abandoned_to_anything ... ok [INFO] [stdout] test domain::lock::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::work::tests::test_invalid_draft_to_ready_wrong_role ... ok [INFO] [stdout] test domain::work::tests::test_invalid_in_review_to_integrated_wrong_role ... ok [INFO] [stdout] test domain::work::tests::test_invalid_skip_draft_to_in_progress ... ok [INFO] [stdout] test domain::work::tests::test_override_blocked_to_abandoned_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_invalid_in_progress_to_in_review_wrong_role ... ok [INFO] [stdout] test domain::work::tests::test_invalid_done_to_anything ... ok [INFO] [stdout] test domain::work::tests::test_override_in_progress_to_in_review_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_override_in_progress_to_abandoned_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_override_in_progress_to_ready_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_override_in_review_to_ready_not_in_normal ... ok [INFO] [stdout] test domain::work::tests::test_override_in_review_to_abandoned_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_override_in_review_to_ready_coordinator ... ok [INFO] [stdout] test domain::work::tests::test_override_rejected_for_implementer ... ok [INFO] [stdout] test domain::work::tests::test_override_rejected_for_integrator ... ok [INFO] [stdout] test domain::work::tests::test_override_not_in_normal_transitions ... ok [INFO] [stdout] test domain::work::tests::test_record_collection_name ... ok [INFO] [stdout] test domain::work::tests::test_valid_abandoned_from_all_non_terminal ... ok [INFO] [stdout] test domain::work::tests::test_record_indexed_fields_phase_id ... ok [INFO] [stdout] test domain::work::tests::test_valid_in_progress_to_blocked_any_role ... ok [INFO] [stdout] test domain::work::tests::test_valid_in_progress_to_in_review ... ok [INFO] [stdout] test domain::work::tests::test_valid_in_review_to_in_progress_rejection ... ok [INFO] [stdout] test domain::work::tests::test_valid_integrated_to_done_integrator ... ok [INFO] [stdout] test domain::work::tests::test_valid_ready_to_in_progress ... ok [INFO] [stdout] test domain::work::tests::test_record_id ... ok [INFO] [stdout] test domain::work::tests::test_record_indexed_fields_status ... ok [INFO] [stdout] test domain::work::tests::test_work_new ... ok [INFO] [stdout] test domain::work::tests::test_record_updated_at ... ok [INFO] [stdout] test domain::work::tests::test_valid_draft_to_ready ... ok [INFO] [stdout] test domain::work::tests::test_work_serde_roundtrip ... ok [INFO] [stdout] test domain::work::tests::test_work_status_display ... ok [INFO] [stdout] test domain::work::tests::test_work_status_display_matches_serde ... ok [INFO] [stdout] test domain::work::tests::test_work_status_serde_roundtrip ... ok [INFO] [stdout] test domain::work::tests::test_work_unique_ids ... ok [INFO] [stdout] test domain::work::tests::test_valid_in_review_to_integrated ... ok [INFO] [stdout] test domain::work::tests::test_valid_integrated_to_done ... ok [INFO] [stdout] test error::tests::test_error_is_send_sync ... ok [INFO] [stdout] test error::tests::test_io_error_conversion ... ok [INFO] [stdout] test error::tests::test_serde_json_error_conversion ... ok [INFO] [stdout] test evaluator::prompts::tests::test_all_coverage_prompts_request_json ... ok [INFO] [stdout] test evaluator::prompts::tests::test_phase_works_prompt_contains_fields ... ok [INFO] [stdout] test evaluator::prompts::tests::test_phase_works_prompt_no_residual_placeholders ... ok [INFO] [stdout] test evaluator::prompts::tests::test_plan_specs_prompt_contains_fields ... ok [INFO] [stdout] test evaluator::prompts::tests::test_plan_specs_prompt_contains_schema ... ok [INFO] [stdout] test evaluator::prompts::tests::test_plan_specs_prompt_no_residual_placeholders ... ok [INFO] [stdout] test evaluator::prompts::tests::test_spec_phases_prompt_contains_fields ... ok [INFO] [stdout] test evaluator::prompts::tests::test_spec_phases_prompt_no_residual_placeholders ... ok [INFO] [stdout] test evaluator::tests::test_evaluate_phase_works ... ok [INFO] [stdout] test evaluator::tests::test_evaluate_plan_specs_complete ... ok [INFO] [stdout] test evaluator::tests::test_parse_response_direct ... ok [INFO] [stdout] test evaluator::tests::test_evaluate_plan_specs_incomplete ... ok [INFO] [stdout] test evaluator::tests::test_parse_response_fallback_on_invalid_json ... ok [INFO] [stdout] test evaluator::tests::test_evaluate_spec_phases ... ok [INFO] [stdout] test evaluator::tests::test_parse_response_with_code_fences ... ok [INFO] [stdout] test evaluator::tests::test_report_has_model_field ... ok [INFO] [stdout] test evaluator::tests::test_report_has_valid_id_and_timestamp ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::all_valid_transitions ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::invalid_transitions ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::is_terminal_correct ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::lifecycle_cancel_from_pause ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::lifecycle_failure_during_llm ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::lifecycle_happy_path ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::lifecycle_pause_resume ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::self_transitions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::agent_status::terminal_states_reject_all_outbound ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::bundle_serde_all_statuses ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::reverse_directions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::self_transitions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::skip_states_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::terminal_states_reject_all_outbound ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_accepted_to_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_early_rejection_coordinator ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_early_rejection_reviewer ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_integrating_to_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_superseded_from_all_non_terminal ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_triaged_to_reviewed_by_reviewer ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_accepted_to_integrating ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::valid_happy_path ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_integrating_to_merged ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_proposed_to_triaged ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_reviewed_to_accepted ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_superseded ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::bundle_full_lifecycle_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::bundle::wrong_role_triaged_to_reviewed ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::bundle_rejection_at_every_stage ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::lock_expire_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::learning_reinforce_contradict_promote_demote ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::plan_abandon_from_draft_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::lock_full_lifecycle_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::plan_full_lifecycle_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::tick_failure_path_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::tick_full_lifecycle_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::tick_singleton_guard ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::wrong_role_rejected_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::dispatch_lifecycle::work_full_lifecycle_through_dispatch ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::reverse_active_to_draft_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::self_transitions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::skip_draft_to_complete_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::terminal_states_reject_all_outbound ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::valid_active_to_abandoned ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::valid_active_to_complete ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::valid_draft_to_abandoned ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::valid_draft_to_active ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::wrong_role_on_every_valid_transition ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::expire_after_release_succeeds_currently ... ok [INFO] [stdout] test domain::work::tests::test_valid_blocked_to_ready ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::is_active_after_expire ... ok [INFO] [stdout] test fsm_correctness_tests::tests::hierarchy::plan_serde_all_statuses ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::double_release_succeeds_currently ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::valid_expire_from_active ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::expire_updates_timestamp ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::is_expired_with_past_ttl ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::release_after_expire_succeeds_currently ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::is_active_correct ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::full_lifecycle_failure_path ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::is_expired_no_ttl ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::is_terminal_correct ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::is_expired_with_future_ttl ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::reverse_directions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::lock_serde_all_statuses ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::full_lifecycle_happy_path ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::self_transitions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::skip_states_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::terminal_states_reject_all_outbound ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::valid_validating_to_failed ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::wrong_role_on_every_valid_transition ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::valid_open_to_failed ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::tick_serde_all_statuses ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::valid_open_to_sealing ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::valid_validating_to_published ... ok [INFO] [stdout] test fsm_correctness_tests::tests::tick::valid_sealing_to_validating ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::full_lifecycle_happy_path ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::reverse_directions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::self_transitions_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::skip_states_rejected ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::terminal_states_reject_all_outbound ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::valid_release_from_active ... ok [INFO] [stdout] test fsm_correctness_tests::tests::lock::release_updates_timestamp ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_abandoned_from_all_non_terminal ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_blocked_to_ready ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_draft_to_ready ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_in_progress_to_blocked_any_role ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_in_progress_to_in_review ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_in_review_to_in_progress ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_in_review_to_integrated ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_integrated_to_done_coordinator ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_integrated_to_done_integrator ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::valid_ready_to_in_progress ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_draft_to_ready ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_in_progress_to_in_review ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_in_review_to_in_progress ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_ready_to_in_progress ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_integrated_to_done ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_in_review_to_integrated ... ok [INFO] [stdout] test guidance::tests::test_coordinator_does_not_see_implementer_only_transitions ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::work_serde_all_statuses ... ok [INFO] [stdout] test guidance::tests::test_coordinator_does_not_see_integrator_only_work_transitions ... ok [INFO] [stdout] test guidance::tests::test_assemble_guidance_truncation_priority ... ok [INFO] [stdout] test guidance::tests::test_coordinator_sees_all_work_transitions_it_can_execute ... ok [INFO] [stdout] test guidance::tests::test_coordinator_sees_bundle_transitions ... ok [INFO] [stdout] test guidance::tests::test_assemble_guidance_with_global_and_project ... ok [INFO] [stdout] test guidance::tests::test_assemble_guidance_schema_only ... ok [INFO] [stdout] test fsm_correctness_tests::tests::work::wrong_role_abandoned ... ok [INFO] [stdout] test guidance::tests::test_implementer_does_not_see_coordinator_transitions ... ok [INFO] [stdout] test guidance::tests::test_implementer_sees_own_transitions ... ok [INFO] [stdout] test guidance::tests::test_integrator_sees_own_transitions ... ok [INFO] [stdout] test guidance::tests::test_implementer_sees_no_hierarchy_transitions ... ok [INFO] [stdout] test guidance::tests::test_load_optional_file_missing ... ok [INFO] [stdout] test guidance::tests::test_load_optional_file_empty ... ok [INFO] [stdout] test guidance::tests::test_integrator_bundle_transitions ... ok [INFO] [stdout] test guidance::tests::test_load_guidance_no_files ... ok [INFO] [stdout] test guidance::tests::test_reviewer_bundle_transitions ... ok [INFO] [stdout] test guidance::tests::test_researcher_no_hierarchy_transitions ... ok [INFO] [stdout] test guidance::tests::test_load_guidance_with_project_file ... ok [INFO] [stdout] test guidance::tests::test_load_optional_file_content ... ok [INFO] [stdout] test guidance::tests::test_researcher_sees_only_any_role_transitions ... ok [INFO] [stdout] test guidance::tests::test_schema_doc_completeness_bundle_transitions ... ok [INFO] [stdout] test guidance::tests::test_reviewer_sees_only_any_role_work_transitions ... ok [INFO] [stdout] test guidance::tests::test_schema_doc_contains_terminal_states ... ok [INFO] [stdout] test guidance::tests::test_schema_only_has_all_roles ... ok [INFO] [stdout] test guidance::tests::test_schema_doc_completeness_work_transitions ... ok [INFO] [stdout] test guidance::tests::test_schema_doc_contains_section_headers ... ok [INFO] [stdout] test guidance::tests::test_coordinator_sees_hierarchy_transitions ... ok [INFO] [stdout] test id::tests::test_generate_id_format ... ok [INFO] [stdout] test id::tests::test_generate_id_base36_chars ... ok [INFO] [stdout] test guidance::tests::test_schema_doc_completeness_hierarchy_transitions ... ok [INFO] [stdout] test id::tests::test_generate_id_prefix_passthrough ... ok [INFO] [stdout] test id::tests::test_now_millis_positive ... ok [INFO] [stdout] test id::tests::test_now_millis_reasonable ... ok [INFO] [stdout] test id::tests::test_generate_id_uniqueness ... ok [INFO] [stdout] test integration_tests::tests::test_context_builder_role_filtering ... ok [INFO] [stdout] test integration_tests::tests::test_bundle_lifecycle_via_dispatch ... ok [INFO] [stdout] test integration_tests::tests::test_agent_pause_resume_lifecycle ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_get_goal_full_lifecycle ... ok [INFO] [stdout] test integration_tests::tests::test_agents_disabled_by_default ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_state_persistence_across_iterations ... ok [INFO] [stdout] test integration_tests::tests::test_dependency_chain_execution ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_state_summary_multi_record ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_action_creates_plan_via_executor ... ok [INFO] [stdout] test integration_tests::tests::test_dispatch_routes_mvp4_methods ... ok [INFO] [stdout] test integration_tests::tests::test_duplicate_work_rejection ... ok [INFO] [stdout] test integration_tests::tests::test_full_hierarchy_creation_via_dispatch ... ok [INFO] [stdout] test integration_tests::tests::test_failure_learning_creation ... ok [INFO] [stdout] test integration_tests::tests::test_full_mvp4_pipeline ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_creates_full_hierarchy_via_executor ... ok [INFO] [stdout] test integration_tests::tests::test_full_fsm_cycle ... ok [INFO] [stdout] test integration_tests::tests::test_generation_level_progression ... ok [INFO] [stdout] test integration_tests::tests::test_full_pipeline_plan_to_bundle_acceptance ... ok [INFO] [stdout] test integration_tests::tests::test_goal_lifecycle ... ok [INFO] [stdout] test integration_tests::tests::test_is_correctable_error_classification ... ok [INFO] [stdout] test integration_tests::tests::test_lifeguard_escalates_after_max_requeries_exceeded ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_triage_accept_bundle_via_executor ... ok [INFO] [stdout] test integration_tests::tests::test_learning_auto_promotion_via_dispatch ... ok [INFO] [stdout] test integration_tests::tests::test_learning_confidence_computation ... ok [INFO] [stdout] test integration_tests::tests::test_learning_contradiction_blocks_promotion ... ok [INFO] [stdout] test integration_tests::tests::test_multi_agent_session_coexistence ... ok [INFO] [stdout] test integration_tests::tests::test_max_requeries_config_defaults ... ok [INFO] [stdout] test integration_tests::tests::test_phase_gate_advances_to_next_phase ... ok [INFO] [stdout] test integration_tests::tests::test_preformed_calculator_app_plan ... ok [INFO] [stdout] test integration_tests::tests::test_pool_exhaustion_multi_type ... ok [INFO] [stdout] test integration_tests::tests::test_lock_lifecycle_via_dispatch ... ok [INFO] [stdout] test integration_tests::tests::test_pool_allows_after_terminal_session ... ok [INFO] [stdout] test integration_tests::tests::test_preformed_plan_work_can_transition_to_in_progress ... ok [INFO] [stdout] test integration_tests::tests::test_researcher_path_sandboxing ... ok [INFO] [stdout] test integration_tests::tests::test_role_inference_from_agent_type ... ok [INFO] [stdout] test integration_tests::tests::test_preformed_todo_app_plan ... ok [INFO] [stdout] test integration_tests::tests::test_strategy_knobs_defaults ... ok [INFO] [stdout] test integration_tests::tests::test_tick_lifecycle_via_dispatch ... ok [INFO] [stdout] test integration_tests::tests::test_worktree_base_uses_published_tick ... ok [INFO] [stdout] test integration_tests::tests::test_reviewer_feedback_learning_available_after_advisory_accept ... ok [INFO] [stdout] test integration_tests::tests::test_tick_crash_recovery_state ... ok [INFO] [stdout] test integration_tests::tests::test_work_fsm_enforcement_via_dispatch ... ok [INFO] [stdout] test ipc::client::tests::test_client_connect_failure ... ok [INFO] [stdout] test ipc::client::tests::test_client_error_display ... ok [INFO] [stdout] test integration_tests::tests::test_create_spec_with_invalid_plan_id_returns_error ... ok [INFO] [stdout] test integration_tests::tests::test_coordinator_assigns_implementer_completes ... ok [INFO] [stdout] test integration_tests::tests::test_e2e_full_pipeline_with_tmpdir_git_repo ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_client_message_event ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_client_message_invalid_json ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_client_message_response ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_request ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_request_invalid_json ... ok [INFO] [stdout] test ipc::codec::tests::test_decode_request_no_params ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_decode_event_roundtrip ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_decode_request_roundtrip ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_decode_response_roundtrip ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_event ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_request ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_response_err ... ok [INFO] [stdout] test ipc::codec::tests::test_encode_response_ok ... ok [INFO] [stdout] test ipc::codec::tests::test_ndjson_codec_max_length ... ok [INFO] [stdout] test ipc::params::tests::test_bundle_create_params_defaults ... ok [INFO] [stdout] test ipc::params::tests::test_bundle_create_params_roundtrip ... ok [INFO] [stdout] test ipc::params::tests::test_hierarchy_status_lowercase_canonical ... ok [INFO] [stdout] test ipc::params::tests::test_hierarchy_status_pascal_case_alias ... ok [INFO] [stdout] test ipc::params::tests::test_learning_create_params_defaults ... ok [INFO] [stdout] test ipc::params::tests::test_learning_create_params_roundtrip ... ok [INFO] [stdout] test ipc::params::tests::test_worktree_refresh_params_default_base_ref ... ok [INFO] [stdout] test ipc::params::tests::test_worktree_refresh_params_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_agent_timing_info ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_agent_timing_info_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_learning_policy_contradicted ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_record_created ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_record_deleted ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_serde_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_transition_completed ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_transition_rejected ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_validation_completed ... ok [INFO] [stdout] test ipc::protocol::tests::test_event_validation_started ... ok [INFO] [stdout] test ipc::protocol::tests::test_ipc_message_discriminate_error_response ... ok [INFO] [stdout] test ipc::protocol::tests::test_ipc_message_discriminate_event ... ok [INFO] [stdout] test ipc::protocol::tests::test_ipc_message_discriminate_response ... ok [INFO] [stdout] test ipc::protocol::tests::test_ipc_message_invalid_json ... ok [INFO] [stdout] test ipc::protocol::tests::test_request_default_params ... ok [INFO] [stdout] test ipc::protocol::tests::test_request_has_method_field ... ok [INFO] [stdout] test ipc::protocol::tests::test_request_serde_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_response_err_omits_result_field ... ok [INFO] [stdout] test ipc::protocol::tests::test_response_err_serde_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_response_ok_omits_error_field ... ok [INFO] [stdout] test ipc::protocol::tests::test_response_ok_serde_roundtrip ... ok [INFO] [stdout] test ipc::protocol::tests::test_rpc_error_codes ... ok [INFO] [stdout] test ipc::server::tests::test_handle_client_disconnect ... ok [INFO] [stdout] test ipc::client::tests::test_client_disconnected ... ok [INFO] [stdout] test ipc::client::tests::test_client_connect_and_request ... ok [INFO] [stdout] test ipc::client::tests::test_client_handshake ... ok [INFO] [stdout] test ipc::client::tests::test_client_multiple_requests ... ok [INFO] [stdout] test ipc::server::tests::test_server_bind_and_cleanup ... ok [INFO] [stdout] test ipc::client::tests::test_client_receives_events_during_request ... ok [INFO] [stdout] test ipc::server::tests::test_handle_client_request_response ... ok [INFO] [stdout] test ipc::server::tests::test_handle_client_malformed_request ... ok [INFO] [stdout] test ipc::server::tests::test_server_removes_stale_socket ... ok [INFO] [stdout] test ipc::server::tests::test_multiple_requests_on_same_connection ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_case_insensitive ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_config_debug ... ok [INFO] [stdout] test ipc::server::tests::test_socket_path_accessor ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_default_is_info ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_cli_overrides_all ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_env_overrides_config ... ok [INFO] [stdout] test log_level_tests::test_resolve_log_level_invalid_falls_through ... ok [INFO] [stdout] test prompts::tests::test_all_pmt_files_have_substantial_content ... ok [INFO] [stdout] test prompts::tests::test_coordinator_pmt_has_error_handling_guidance ... ok [INFO] [stdout] test prompts::tests::test_all_prompts_contain_json_output_instruction ... ok [INFO] [stdout] test prompts::tests::test_defaults_non_empty ... ok [INFO] [stdout] test prompts::tests::test_generation_phase_prompt_contains_pmt_instructions ... ok [INFO] [stdout] test prompts::tests::test_coordinator_pmt_identity ... ok [INFO] [stdout] test prompts::tests::test_generation_phase_pmt_content ... ok [INFO] [stdout] test prompts::tests::test_generation_plan_prompt_contains_pmt_instructions ... ok [INFO] [stdout] test prompts::tests::test_generation_spec_pmt_content ... ok [INFO] [stdout] test prompts::tests::test_defaults_match_include_str ... ok [INFO] [stdout] test prompts::tests::test_generation_spec_prompt_contains_pmt_instructions ... ok [INFO] [stdout] test prompts::tests::test_generation_plan_pmt_content ... ok [INFO] [stdout] test prompts::tests::test_generation_work_pmt_content ... ok [INFO] [stdout] test prompts::tests::test_implementer_pmt_has_workflow_and_scope ... ok [INFO] [stdout] test prompts::tests::test_generation_work_prompt_contains_pmt_instructions ... ok [INFO] [stdout] test prompts::tests::test_implementer_pmt_identity ... ok [INFO] [stdout] test prompts::tests::test_override_from_temp_dir ... ok [INFO] [stdout] test ipc::client::tests::test_client_send_returns_incrementing_ids ... ok [INFO] [stdout] test prompts::tests::test_researcher_pmt_has_zero_result_handling ... ok [INFO] [stdout] test prompts::tests::test_researcher_query_replacement_no_residual ... ok [INFO] [stdout] test prompts::tests::test_researcher_pmt_identity ... ok [INFO] [stdout] test prompts::tests::test_researcher_query_with_special_chars ... ok [INFO] [stdout] test prompts::tests::test_reviewer_pmt_has_expanded_criteria ... ok [INFO] [stdout] test prompts::tests::test_validator_phase_output_equivalence ... ok [INFO] [stdout] test prompts::tests::test_reviewer_pmt_identity ... ok [INFO] [stdout] test prompts::tests::test_validator_spec_output_equivalence ... ok [INFO] [stdout] test prompts::tests::test_validator_plan_output_equivalence ... ok [INFO] [stdout] test session_summary::tests::test_build_summary_empty_log ... ok [INFO] [stdout] test prompts::tests::test_validator_schema_pmt_is_valid_json_structure ... ok [INFO] [stdout] test session_summary::tests::test_build_summary_with_transitions ... ok [INFO] [stdout] test session_summary::tests::test_build_summary_with_errors ... ok [INFO] [stdout] test session_summary::tests::test_build_summary_with_agent_statuses ... ok [INFO] [stdout] test prompts::tests::test_placeholder_assertions ... ok [INFO] [stdout] test session_summary::tests::test_extract_after ... ok [INFO] [stdout] test session_summary::tests::test_build_summary_with_tool_calls ... ok [INFO] [stdout] test prompts::tests::test_empty_override_falls_back ... ok [INFO] [stdout] test test_util::tests::test_testdir_cleans_up_on_drop ... ok [INFO] [stdout] test test_util::tests::test_testdir_creates_and_derefs ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_estimate_message_tokens_empty ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_cap_tool_result_under_limit ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_estimate_message_tokens_text ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_complete_streaming_default_impl ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_microcompact_preserves_protected_tail ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_cap_tool_result_over_limit ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_estimate_message_tokens_tool_result ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_extract_text ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_cap_tool_result_no_newline ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_no_tools ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_max_tokens_recovery ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_with_prior_messages ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_emits_tool_events ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_user_message_helper ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_consecutive_failure_hint ... ok [INFO] [stdout] test tools::builtin::delegate::tests::test_delegate_child_context_is_isolated ... ok [INFO] [stdout] test tools::builtin::delegate::tests::test_delegate_missing_task ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_streaming_tool_execution ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_with_tool_call ... ok [INFO] [stdout] test tools::builtin::fetch::tests::test_fetch_tool_missing_url ... ok [INFO] [stdout] test tools::builtin::edit::tests::test_edit_tool ... ok [INFO] [stdout] test tools::builtin::glob::tests::test_glob_tool ... ok [INFO] [stdout] test tools::builtin::glob::tests::test_glob_tool_no_matches ... ok [INFO] [stdout] test integration_tests::tests::test_advisory_bypass_rejected_for_non_coordinator_via_dispatch ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_run_tool_loop_max_iterations ... ok [INFO] [stdout] test tools::builtin::plan::tests::test_plan_tool ... ok [INFO] [stdout] test tools::builtin::delegate::tests::test_delegate_returns_child_text ... ok [INFO] [stdout] test tools::builtin::edit::tests::test_edit_tool_not_found ... ok [INFO] [stdout] test tools::builtin::list::tests::test_list_tool ... ok [INFO] [stdout] test tools::builtin::read::tests::test_read_tool_missing_path ... ok [INFO] [stdout] test integration_tests::tests::test_advisory_review_bundle_accepted_directly ... ok [INFO] [stdout] test tools::builtin::find::tests::test_find_tool ... ok [INFO] [stdout] test tools::builtin::read::tests::test_read_tool ... ok [INFO] [stdout] test tools::builtin::search::tests::test_search_tool ... ok [INFO] [stdout] test tools::builtin::slash::tests::test_slash_tool ... ok [INFO] [stdout] test tools::builtin::grep::tests::test_grep_tool ... ok [INFO] [stdout] test tools::builtin::read::tests::test_read_tool_with_offset_and_limit ... ok [INFO] [stdout] test tools::builtin::tests::test_all_builtins_unique_names ... ok [INFO] [stdout] test tools::builtin::tests::test_all_builtins_have_schemas ... ok [INFO] [stdout] test tools::builtin::todo::tests::test_todo_tool ... ok [INFO] [stdout] test tools::builtin::read::tests::test_read_tool_default_500_line_cap ... ok [INFO] [stdout] test tools::builtin::shell::tests::test_shell_tool ... ok [INFO] [stdout] test tools::builtin::read::tests::test_read_tool_explicit_limit_bypasses_default ... ok [INFO] [stdout] test tools::builtin::tests::test_all_builtins_count ... ok [INFO] [stdout] test tools::agentic_loop::tests::test_microcompact_truncates_old_results ... ok [INFO] [stdout] test tools::builtin::tree::tests::test_tree_tool ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_description ... ok [INFO] [stdout] test tools::builtin::write::tests::test_write_tool ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_name ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_execute_echo ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_execute_failure ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_schema ... ok [INFO] [stdout] test tools::builtin::write::tests::test_write_tool_creates_dirs ... ok [INFO] [stdout] test tools::context::tests::test_read_tracking ... ok [INFO] [stdout] test tools::context::tests::test_tool_context_new ... ok [INFO] [stdout] test tools::context::tests::test_validate_path_deny_pattern ... ok [INFO] [stdout] test tools::context::tests::test_validate_path_deny_pem ... ok [INFO] [stdout] test tools::context::tests::test_validate_path_relative ... ok [INFO] [stdout] test tools::context::tests::test_with_sandbox_disabled ... ok [INFO] [stdout] test tools::context::tests::test_with_deny_patterns_override ... ok [INFO] [stdout] test tools::error::tests::test_execution_failed_display ... ok [INFO] [stdout] test tools::error::tests::test_invalid_input_display ... ok [INFO] [stdout] test tools::detect::tests::test_detect_priority_order_js_over_python ... ok [INFO] [stdout] test tools::error::tests::test_sandbox_violation_display ... ok [INFO] [stdout] test tools::detect::tests::test_detect_rust_project_uses_config ... ok [INFO] [stdout] test tools::error::tests::test_timeout_display ... ok [INFO] [stdout] test tools::error::tests::test_unknown_tool_display ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_execute_with_args ... ok [INFO] [stdout] test tools::executor::tests::test_executor_chat_excludes_plan ... ok [INFO] [stdout] test tools::executor::tests::test_executor_definitions ... ok [INFO] [stdout] test tools::detect::tests::test_detect_js_project ... ok [INFO] [stdout] test tools::detect::tests::test_detect_python_project ... ok [INFO] [stdout] test tools::detect::tests::test_detect_no_markers_uses_config ... ok [INFO] [stdout] test tools::executor::tests::test_executor_definitions_format ... ok [INFO] [stdout] test tools::executor::tests::test_executor_detect_js ... ok [INFO] [stdout] test tools::executor::tests::test_executor_execute_unknown_tool ... ok [INFO] [stdout] test tools::executor::tests::test_executor_empty ... ok [INFO] [stdout] test tools::executor::tests::test_executor_standard ... ok [INFO] [stdout] test tools::executor::tests::test_executor_detect_no_markers ... ok [INFO] [stdout] test tools::shell::tests::test_execute_shell_command_failure ... ok [INFO] [stdout] test tools::shell::tests::test_format_shell_output_empty_failure ... ok [INFO] [stdout] test tools::shell::tests::test_format_shell_output_both_streams ... ok [INFO] [stdout] test tools::shell::tests::test_format_shell_output_empty_success ... ok [INFO] [stdout] test tools::shell::tests::test_execute_shell_command_stderr ... ok [INFO] [stdout] test tools::executor::tests::test_executor_execute_known_tool ... ok [INFO] [stdout] test tools::shell::tests::test_format_shell_output_stdout_only ... ok [INFO] [stdout] test tools::shell::tests::test_execute_shell_command_echo ... ok [INFO] [stdout] test tools::tests::test_detect_js_project ... ok [INFO] [stdout] test tools::shell::tests::test_execute_shell_command_working_dir ... ok [INFO] [stdout] test tools::shell::tests::test_max_output_constant ... ok [INFO] [stdout] test tools::tests::test_detect_priority_order_js_over_python ... ok [INFO] [stdout] test ipc::client::tests::test_client_recv ... ok [INFO] [stdout] test tools::tests::test_detect_python_project ... ok [INFO] [stdout] test tools::tests::test_run_stderr ... ok [INFO] [stdout] test tools::tests::test_run_failure_exit_code ... ok [INFO] [stdout] test ipc::server::tests::test_handle_client_receives_broadcast_events ... ok [INFO] [stdout] test tools::tests::test_detect_rust_project_uses_config ... ok [INFO] [stdout] test tools::tests::test_max_output_constant ... ok [INFO] [stdout] test tools::tests::test_run_unknown_tool ... ok [INFO] [stdout] test tools::tests::test_tool_result_serde_roundtrip ... ok [INFO] [stdout] test tools::tests::test_detect_no_markers_uses_config ... ok [INFO] [stdout] test tools::tests::test_tool_runner_available_tools ... ok [INFO] [stdout] test tools::tests::test_tool_result_truncated_serde ... ok [INFO] [stdout] test tools::tests::test_tool_runner_empty ... ok [INFO] [stdout] test tools::tests::test_run_with_args ... ok [INFO] [stdout] test tools::tests::test_run_echo ... ok [INFO] [stdout] test tools::tests::test_tool_runner_new ... ok [INFO] [stdout] test tools::traits::tests::test_tool_result_error ... ok [INFO] [stdout] test tools::traits::tests::test_tool_result_serde_roundtrip ... ok [INFO] [stdout] test tools::types::tests::test_content_block_text ... ok [INFO] [stdout] test tools::types::tests::test_content_block_tool_use ... ok [INFO] [stdout] test tools::types::tests::test_message_serde ... ok [INFO] [stdout] test tools::tests::test_run_worktree_dir ... ok [INFO] [stdout] test tools::types::tests::test_stop_reason_serde ... ok [INFO] [stdout] test tools::types::tests::test_tool_call_serde ... ok [INFO] [stdout] test tools::types::tests::test_tool_definition_serde ... ok [INFO] [stdout] test tui::app::tests::test_app_current_list_len ... ok [INFO] [stdout] test tui::app::tests::test_app_prev_view_resets_selection ... ok [INFO] [stdout] test tui::app::tests::test_app_next_view_resets_selection ... ok [INFO] [stdout] test tools::tests::test_tool_runner_get_tool ... ok [INFO] [stdout] test tui::app::tests::test_app_cycle_role ... ok [INFO] [stdout] test tui::app::tests::test_app_new_defaults ... ok [INFO] [stdout] test tui::app::tests::test_app_state_default_empty ... ok [INFO] [stdout] test tui::app::tests::test_app_select_next_empty ... ok [INFO] [stdout] test tui::app::tests::test_app_select_next_with_items ... ok [INFO] [stdout] test tui::app::tests::test_chat_mode_default ... ok [INFO] [stdout] test tui::app::tests::test_connection_status_display ... ok [INFO] [stdout] test tui::app::tests::test_app_select_prev ... ok [INFO] [stdout] test tui::app::tests::test_view_all_order ... ok [INFO] [stdout] test tui::app::tests::test_view_display ... ok [INFO] [stdout] test tui::app::tests::test_app_view_to_chat_sets_chat_input_mode ... ok [INFO] [stdout] test tui::app::tests::test_chat_message_constructors ... ok [INFO] [stdout] test tui::app::tests::test_view_next_cycles ... ok [INFO] [stdout] test tui::input::tests::test_apply_approve_plan_no_assistant_message ... ok [INFO] [stdout] test tui::app::tests::test_view_prev_cycles ... ok [INFO] [stdout] test tui::input::tests::test_apply_approve_plan_in_plan_draft ... ok [INFO] [stdout] test tui::app::tests::test_app_toggle_help ... ok [INFO] [stdout] test tui::input::tests::test_apply_approve_plan_not_in_plan_draft ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_backspace ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_backspace_at_start ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_char ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_cursor_movement ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_enter_scroll ... ok [INFO] [stdout] test tui::app::tests::test_view_serde_roundtrip ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_scroll_bottom_returns_to_input ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_scroll_up_down ... ok [INFO] [stdout] test tui::input::tests::test_apply_goal_backspace ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_submit_empty_is_noop ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_submit ... ok [INFO] [stdout] test tui::input::tests::test_apply_chat_submit_while_streaming_is_noop ... ok [INFO] [stdout] test tui::input::tests::test_apply_enter_goal_input ... ok [INFO] [stdout] test tui::input::tests::test_apply_goal_cancel ... ok [INFO] [stdout] test tui::input::tests::test_apply_pause_no_coordinator ... ok [INFO] [stdout] test tui::input::tests::test_apply_goal_char_and_submit ... ok [INFO] [stdout] test tui::input::tests::test_apply_goal_submit_empty_no_ipc ... ok [INFO] [stdout] test tui::input::tests::test_apply_next_view ... ok [INFO] [stdout] test tui::input::tests::test_apply_none_is_noop ... ok [INFO] [stdout] test tui::input::tests::test_apply_pause_with_running_coordinator ... ok [INFO] [stdout] test tui::input::tests::test_apply_quit ... ok [INFO] [stdout] test tui::input::tests::test_chat_char_exits_scroll_mode ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_backspace ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_ctrl_a_approves_plan ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_char ... ok [INFO] [stdout] test tui::input::tests::test_apply_resume_with_paused_coordinator ... ok [INFO] [stdout] test tui::input::tests::test_apply_stop_coordinator ... ok [INFO] [stdout] test tui::input::tests::test_char_boundary_multibyte ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_ctrl_c_quits ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_cursor_movement ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_tab_switches_view ... ok [INFO] [stdout] test tui::input::tests::test_chat_scroll_g_and_big_g ... ok [INFO] [stdout] test tui::input::tests::test_chat_scroll_esc_stays ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_submit ... ok [INFO] [stdout] test tui::input::tests::test_chat_scroll_printable_exits_to_input ... ok [INFO] [stdout] test tui::input::tests::test_coordinator_keys ... ok [INFO] [stdout] test tui::input::tests::test_chat_input_esc_enters_scroll ... ok [INFO] [stdout] test tui::input::tests::test_chat_scroll_jk ... ok [INFO] [stdout] test tui::input::tests::test_funnel_state_transitions ... ok [INFO] [stdout] test tui::input::tests::test_new_record_key ... ok [INFO] [stdout] test tui::input::tests::test_prev_char_boundary_ascii ... ok [INFO] [stdout] test tui::input::tests::test_goal_input_mode ... ok [INFO] [stdout] test tui::input::tests::test_quit_key ... ok [INFO] [stdout] test tui::input::tests::test_next_char_boundary_ascii ... ok [INFO] [stdout] test tui::input::tests::test_help_key ... ok [INFO] [stdout] test tui::input::tests::test_navigation_keys ... ok [INFO] [stdout] test tui::input::tests::test_role_key_shifted ... ok [INFO] [stdout] test tui::input::tests::test_slash_accept_not_in_plan_draft ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_clear ... ok [INFO] [stdout] test tui::input::tests::test_shift_enter_inserts_newline ... ok [INFO] [stdout] test tui::input::tests::test_slash_accept_in_plan_draft ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_draft_in_chat_mode ... ok [INFO] [stdout] test tui::input::tests::test_slash_clear_only_in_chat ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_draft_in_interview_state ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_plan ... ok [INFO] [stdout] test tui::input::tests::test_slash_help_context_sensitive ... ok [INFO] [stdout] test tui::input::tests::test_transition_record_key ... ok [INFO] [stdout] test tui::run::tests::test_canonical_messages_lifecycle ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_chat ... ok [INFO] [stdout] test tui::input::tests::test_unknown_key ... ok [INFO] [stdout] test tui::input::tests::test_slash_command_help ... ok [INFO] [stdout] test tui::input::tests::test_slash_plan_ignored_when_already_in_interview ... ok [INFO] [stdout] test tui::input::tests::test_tab_keys ... ok [INFO] [stdout] test tools::tests::test_output_truncation ... ok [INFO] [stdout] test tui::run::tests::test_draft_request_appends_synthetic_user_message ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_new_record ... ok [INFO] [stdout] test tui::run::tests::test_draw_connection_statuses ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_pause_agent ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_resume_agent ... ok [INFO] [stdout] test tui::run::tests::test_draw_default_app ... ok [INFO] [stdout] test tui::run::tests::test_draw_goal_input_empty ... ok [INFO] [stdout] test tui::run::tests::test_draw_each_role ... ok [INFO] [stdout] test tui::run::tests::test_draw_goal_input_small_terminal ... ok [INFO] [stdout] test tui::run::tests::test_draw_help_small_terminal ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_transition_record ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_stop_agent ... ok [INFO] [stdout] test tui::run::tests::test_dispatch_ipc_action_set_goal ... ok [INFO] [stdout] test tui::run::tests::test_draw_small_terminal ... ok [INFO] [stdout] test tui::run::tests::test_draw_goal_input_mode ... ok [INFO] [stdout] test tui::run::tests::test_draw_each_view ... ok [INFO] [stdout] test tui::run::tests::test_draw_zero_size_terminal ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_agent_llm_output ... ok [INFO] [stdout] test tui::run::tests::test_draw_with_help_overlay ... ok [INFO] [stdout] test tui::run::tests::test_draw_with_locks ... ok [INFO] [stdout] test tui::run::tests::test_draw_with_learnings ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_agent_status_changed ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_bundle_rejected_stale ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_record_updated ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_tick_published ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_tick_validation_failed ... ok [INFO] [stdout] test tui::run::tests::test_draw_with_agent_sessions ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_unknown_event ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_record_created ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_completed_error ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_completed_success ... ok [INFO] [stdout] test tui::run::tests::test_event_collection_transition_completed ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_started ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_timing_info ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_timing_info_wrong_session ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_unrelated_event ... ok [INFO] [stdout] test tui::run::tests::test_reconnect_interval_is_reasonable ... ok [INFO] [stdout] test tui::run::tests::test_extract_tool_event_wrong_session ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_unknown_collection_is_noop ... ok [INFO] [stdout] test tui::run::tests::test_reconnect_after_disconnect ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_invalid_json_no_panic ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_json_parse_error ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_bundles ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_agent_sessions ... ok [INFO] [stdout] test tui::run::tests::test_draw_with_data ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_locks ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_phases ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_plans ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_specs ... ok [INFO] [stdout] test tui::run::tests::test_role_actions_coordinator ... ok [INFO] [stdout] test tui::run::tests::test_role_actions_implementer ... ok [INFO] [stdout] test tui::run::tests::test_role_actions_integrator ... ok [INFO] [stdout] test tui::run::tests::test_role_actions_researcher ... ok [INFO] [stdout] test tui::run::tests::test_role_actions_reviewer ... ok [INFO] [stdout] test tui::run::tests::test_streaming_display_finalization_empty_buffer_uses_result_text ... ok [INFO] [stdout] test tui::run::tests::test_streaming_display_finalization_with_buffer ... ok [INFO] [stdout] test tui::run::tests::test_streaming_display_max_iterations_message ... ok [INFO] [stdout] test tui::run::tests::test_system_prompt_chat_state ... ok [INFO] [stdout] test tui::run::tests::test_system_prompt_draft_request ... ok [INFO] [stdout] test tui::run::tests::test_system_prompt_executing_state ... ok [INFO] [stdout] test tui::run::tests::test_system_prompt_plan_refine ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_learnings ... ok [INFO] [stdout] test tui::run::tests::test_system_prompt_interview_state ... ok [INFO] [stdout] test tui::run::tests::test_try_connect_nonexistent_socket ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_ticks ... ok [INFO] [stdout] test tui::run::tests::test_refresh_collection_updates_works ... ok [INFO] [stdout] test tui::views::agents::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test tui::views::agents::tests::test_status_color_mapping ... ok [INFO] [stdout] test tui::views::chat::tests::test_calculate_input_height_empty ... ok [INFO] [stdout] test tui::views::chat::tests::test_calculate_input_height_multiline ... ok [INFO] [stdout] test tui::views::agents::tests::test_render_all_statuses ... ok [INFO] [stdout] test tui::views::chat::tests::test_calculate_input_height_wrapping ... ok [INFO] [stdout] test tui::views::agents::tests::test_render_with_sessions_does_not_panic ... ok [INFO] [stdout] test tui::views::bundles::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test tui::views::chat::tests::test_calculate_input_height_single_line ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_empty_chat ... ok [INFO] [stdout] test tui::views::chat::tests::test_calculate_input_height_zero_width ... ok [INFO] [stdout] test tui::run::tests::test_render_header_highlighting ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_funnel_state_colors ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_small_terminal ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_scroll_mode ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_plan_display_with_pending_approval ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_multiline_message ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_plan_mode ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_with_input ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_streaming ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_with_messages ... ok [INFO] [stdout] test tui::views::learnings::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test tui::views::chat::tests::test_render_with_multiline_input ... ok [INFO] [stdout] test tui::views::learnings::tests::test_render_with_learnings_does_not_panic ... ok [INFO] [stdout] test tui::views::dashboard::tests::test_render_does_not_panic ... ok [INFO] [stdout] test tui::views::works::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_call_success ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_call_with_retry_valid_json ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_empty_response ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_http_failure ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_invalid_api_response ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_missing_api_key ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_sends_correct_headers ... ok [INFO] [stdout] test tui::views::ticks::tests::test_render_with_ticks_does_not_panic ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_unsupported_provider ... ok [INFO] [stdout] test validator::client::tests::test_llm_client_with_ureq_constructor ... ok [INFO] [stdout] test validator::prompts::tests::test_phase_prompt_contains_criteria ... ok [INFO] [stdout] test validator::prompts::tests::test_phase_prompt_contains_fields ... ok [INFO] [stdout] test validator::prompts::tests::test_plan_prompt_contains_criteria ... ok [INFO] [stdout] test validator::prompts::tests::test_all_prompts_request_json_only ... ok [INFO] [stdout] test validator::prompts::tests::test_plan_prompt_contains_schema ... ok [INFO] [stdout] test validator::prompts::tests::test_plan_prompt_contains_title ... ok [INFO] [stdout] test validator::prompts::tests::test_spec_prompt_contains_criteria ... ok [INFO] [stdout] test tui::views::locks::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test tui::views::ticks::tests::test_render_empty_does_not_panic ... ok [INFO] [stdout] test validator::tests::test_parse_response_fallback_on_invalid_json ... ok [INFO] [stdout] test tui::views::works::tests::test_render_with_items_does_not_panic ... ok [INFO] [stdout] test validator::tests::test_parse_response_with_code_fences ... ok [INFO] [stdout] test validator::tests::test_report_has_model_field ... ok [INFO] [stdout] test validator::tests::test_report_has_valid_id_and_timestamp ... ok [INFO] [stdout] test validator::tests::test_validate_plan_fail ... ok [INFO] [stdout] test validator::tests::test_validate_spec_warn ... ok [INFO] [stdout] test worktree::manager::tests::test_cleanup_rejects_missing_worktree ... ok [INFO] [stdout] test validator::tests::test_validate_phase ... ok [INFO] [stdout] test worktree::manager::tests::test_exists_false_for_nonexistent ... ok [INFO] [stdout] test worktree::manager::tests::test_create_rejects_existing_path ... ok [INFO] [stdout] test worktree::manager::tests::test_get_or_create_absent_dir_attempts_create ... ok [INFO] [stdout] test validator::tests::test_validate_plan_pass ... ok [INFO] [stdout] test tui::run::tests::test_try_connect_succeeds_with_daemon ... ok [INFO] [stdout] test tui::run::tests::test_render_content_all_views ... ok [INFO] [stdout] test worktree::manager::tests::test_parse_worktree_list_empty ... ok [INFO] [stdout] test worktree::manager::tests::test_parse_worktree_list_filters_by_dir ... ok [INFO] [stdout] test worktree::manager::tests::test_parse_worktree_list_multiple ... ok [INFO] [stdout] test worktree::manager::tests::test_parse_worktree_list_strips_refs_heads ... ok [INFO] [stdout] test worktree::manager::tests::test_refresh_rejects_missing_worktree ... ok [INFO] [stdout] test worktree::manager::tests::test_worktree_error_display ... ok [INFO] [stdout] test worktree::manager::tests::test_worktree_manager_new ... ok [INFO] [stdout] test worktree::manager::tests::test_worktree_path ... ok [INFO] [stdout] test worktree::manager::tests::test_worktree_info_serde_roundtrip ... ok [INFO] [stdout] test worktree::manager::tests::test_get_or_create_returns_existing_valid_worktree ... ok [INFO] [stdout] test worktree::manager::tests::test_get_or_create_cleans_invalid_dir_without_git_file ... ok [INFO] [stdout] test validator::prompts::tests::test_spec_prompt_contains_fields ... ok [INFO] [stdout] test validator::tests::test_parse_response_direct ... ok [INFO] [stdout] test daemon::tests::test_daemon_ipc_shutdown ... ok [INFO] [stdout] test tools::configured::tests::test_configured_tool_execute_timeout ... ok [INFO] [stdout] test tools::shell::tests::test_execute_shell_command_timeout ... ok [INFO] [stdout] test tools::tests::test_run_timeout ... ok [INFO] [stdout] test daemon::supervisor::tests::test_supervisor_ignores_non_coordinator_failures ... ok [INFO] [stdout] test daemon::supervisor::tests::test_supervisor_resets_counter_on_running ... ok [INFO] [stdout] test daemon::supervisor::tests::test_supervisor_skips_when_active_coordinator_exists ... ok [INFO] [stdout] test daemon::tests::test_ensure_daemon_stale_pid_no_socket ... ok [INFO] [stdout] test daemon::supervisor::tests::test_supervisor_restart_dispatches_agent_start ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2087 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.87s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/loopr-321764ff5b26dada) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Doc-tests loopr [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8d663d063a1a4be85b9acc67865becfc886a70366286f5d35ba8379a08b63c56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d663d063a1a4be85b9acc67865becfc886a70366286f5d35ba8379a08b63c56", kill_on_drop: false }` [INFO] [stdout] 8d663d063a1a4be85b9acc67865becfc886a70366286f5d35ba8379a08b63c56