[INFO] fetching crate edda-bridge-claude 0.1.0... [INFO] testing edda-bridge-claude-0.1.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate edda-bridge-claude 0.1.0 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate edda-bridge-claude 0.1.0 [INFO] finished tweaking crates.io crate edda-bridge-claude 0.1.0 [INFO] tweaked toml for crates.io crate edda-bridge-claude 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate edda-bridge-claude 0.1.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate edda-bridge-claude 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 00c3293c8751c56d74bafcf702ac6d240de3ea2df0966ccb0ce86f297aacea7a [INFO] running `Command { std: "docker" "start" "-a" "00c3293c8751c56d74bafcf702ac6d240de3ea2df0966ccb0ce86f297aacea7a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "00c3293c8751c56d74bafcf702ac6d240de3ea2df0966ccb0ce86f297aacea7a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00c3293c8751c56d74bafcf702ac6d240de3ea2df0966ccb0ce86f297aacea7a", kill_on_drop: false }` [INFO] [stdout] 00c3293c8751c56d74bafcf702ac6d240de3ea2df0966ccb0ce86f297aacea7a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 44ddeb23f30f3ab790280c74ddfe18007ea59670e2f8cd7c5cd2ff22d05f576e [INFO] running `Command { std: "docker" "start" "-a" "44ddeb23f30f3ab790280c74ddfe18007ea59670e2f8cd7c5cd2ff22d05f576e", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling edda-store v0.1.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling edda-index v0.1.0 [INFO] [stderr] Compiling edda-transcript v0.1.0 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling edda-core v0.1.0 [INFO] [stderr] Compiling edda-pack v0.1.0 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling edda-ledger v0.1.0 [INFO] [stderr] Compiling edda-derive v0.1.0 [INFO] [stderr] Compiling edda-bridge-claude v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.40s [INFO] running `Command { std: "docker" "inspect" "44ddeb23f30f3ab790280c74ddfe18007ea59670e2f8cd7c5cd2ff22d05f576e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44ddeb23f30f3ab790280c74ddfe18007ea59670e2f8cd7c5cd2ff22d05f576e", kill_on_drop: false }` [INFO] [stdout] 44ddeb23f30f3ab790280c74ddfe18007ea59670e2f8cd7c5cd2ff22d05f576e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f31e797f17653b5d438286c012ca2eff8f52c8cb7ea8997560ee90ce5e4a2173 [INFO] running `Command { std: "docker" "start" "-a" "f31e797f17653b5d438286c012ca2eff8f52c8cb7ea8997560ee90ce5e4a2173", kill_on_drop: false }` [INFO] [stderr] Compiling edda-bridge-claude v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.13s [INFO] running `Command { std: "docker" "inspect" "f31e797f17653b5d438286c012ca2eff8f52c8cb7ea8997560ee90ce5e4a2173", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f31e797f17653b5d438286c012ca2eff8f52c8cb7ea8997560ee90ce5e4a2173", kill_on_drop: false }` [INFO] [stdout] f31e797f17653b5d438286c012ca2eff8f52c8cb7ea8997560ee90ce5e4a2173 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 98074497ac764a612ae9c54260a06708bd06ac2d0f35b9817229c039e5b4c708 [INFO] running `Command { std: "docker" "start" "-a" "98074497ac764a612ae9c54260a06708bd06ac2d0f35b9817229c039e5b4c708", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/edda_bridge_claude-c69c2ccefbe1dbae) [INFO] [stdout] [INFO] [stdout] running 272 tests [INFO] [stdout] test digest::tests::digest_event_empty_notes_backward_compat ... ok [INFO] [stdout] test digest::tests::digest_event_contains_notes ... ok [INFO] [stdout] test admin::tests::install_appends_coordination_to_existing_without_it ... ok [INFO] [stdout] test admin::tests::install_appends_to_existing_claude_md ... ok [INFO] [stdout] test admin::tests::install_no_claude_md_flag ... ok [INFO] [stdout] test admin::tests::install_and_uninstall ... ok [INFO] [stdout] test digest::tests::digest_event_has_provenance ... ok [INFO] [stdout] test digest::tests::digest_extracts_failed_cmds ... ok [INFO] [stdout] test digest::tests::digest_commits_in_payload ... ok [INFO] [stdout] test admin::tests::install_skips_if_edda_section_exists ... ok [INFO] [stdout] test digest::tests::digest_duration_computed ... ok [INFO] [stdout] test digest::tests::digest_empty_session ... ok [INFO] [stdout] test digest::tests::digest_extracts_deps_added ... ok [INFO] [stdout] test digest::tests::collect_session_ledger_extras_no_workspace ... ok [INFO] [stdout] test digest::tests::digest_counts_tools ... ok [INFO] [stdout] test digest::tests::digest_nonexistent_file_returns_empty_stats ... ok [INFO] [stdout] test digest::tests::digest_payload_has_recall_fields ... ok [INFO] [stdout] test digest::tests::digest_payload_has_signal_count ... ok [INFO] [stdout] test digest::tests::digest_payload_has_source ... ok [INFO] [stdout] test digest::tests::digest_state_round_trip ... ok [INFO] [stdout] test digest::tests::digest_tasks_snapshot_in_payload ... ok [INFO] [stdout] test digest::tests::digest_extracts_files ... ok [INFO] [stdout] test digest::tests::extract_exit_code_from_error_field ... ok [INFO] [stdout] test digest::tests::digest_hash_chain_ready ... ok [INFO] [stdout] test digest::tests::extract_git_commit_msg_works ... ok [INFO] [stdout] test digest::tests::failed_cmd_milestone_chains_hash ... ok [INFO] [stdout] test admin::tests::install_skips_if_coordination_exists ... ok [INFO] [stdout] test digest::tests::failed_cmd_milestone_has_provenance ... ok [INFO] [stdout] test digest::tests::failed_cmd_milestone_produced ... ok [INFO] [stdout] test digest::tests::digest_no_workspace_records_failure ... ok [INFO] [stdout] test digest::tests::digest_extracts_deps_added_dedup ... ok [INFO] [stdout] test digest::tests::outcome_in_digest_payload ... ok [INFO] [stdout] test digest::tests::outcome_error_stuck_three_consecutive_failures ... ok [INFO] [stdout] test digest::tests::digest_extracts_commits_from_bash ... ok [INFO] [stdout] test digest::tests::extract_stats_captures_failed_cmd_detail ... ok [INFO] [stdout] test digest::tests::passive_harvest_context_hint_fallback ... ok [INFO] [stdout] test digest::tests::passive_harvest_includes_context_hint ... ok [INFO] [stdout] test digest::tests::outcome_completed_normal_session ... ok [INFO] [stdout] test digest::tests::digest_permanent_failure_after_3_retries ... ok [INFO] [stdout] test digest::tests::outcome_not_stuck_if_success_resets_count ... ok [INFO] [stdout] test digest::tests::prev_digest_backward_compat ... ok [INFO] [stdout] test digest::tests::prev_digest_empty_tasks ... ok [INFO] [stdout] test digest::tests::prev_digest_has_recall_fields ... ok [INFO] [stdout] test digest::tests::prev_digest_has_signal_count ... ok [INFO] [stdout] test digest::tests::prev_digest_roundtrip ... ok [INFO] [stdout] test dispatch::tests::active_plan_missing_dir_returns_none ... ok [INFO] [stdout] test dispatch::tests::active_plan_renders_from_custom_dir ... ok [INFO] [stdout] test digest::tests::prev_digest_with_decisions_and_notes ... ok [INFO] [stdout] test dispatch::tests::active_plan_truncates_to_budget ... ok [INFO] [stdout] test dispatch::tests::apply_context_budget_no_truncation ... ok [INFO] [stdout] test dispatch::tests::apply_context_budget_truncates_long_content ... ok [INFO] [stdout] test dispatch::tests::body_truncated_when_tail_present ... ok [INFO] [stdout] test dispatch::tests::compact_pending_flag_lifecycle ... ok [INFO] [stdout] test digest::tests::outcome_interrupted_last_is_user_prompt ... ok [INFO] [stdout] test dispatch::tests::context_budget_default_without_config ... ok [INFO] [stdout] test dispatch::tests::context_budget_uses_env_var ... ok [INFO] [stdout] test dispatch::tests::counter_increment_and_read ... ok [INFO] [stdout] test dispatch::tests::dedup_first_call_always_injects ... ok [INFO] [stdout] test dispatch::tests::dedup_injects_changed_context ... ok [INFO] [stdout] test dispatch::tests::cross_session_binding_visible_via_user_prompt_submit ... ok [INFO] [stdout] test dispatch::tests::empty_tail_preserves_existing_behavior ... ok [INFO] [stdout] test dispatch::tests::dedup_skips_identical_context ... ok [INFO] [stdout] test dispatch::tests::has_active_peers_false_when_solo ... ok [INFO] [stdout] test dispatch::tests::hook_entrypoint_camel_case_input ... ok [INFO] [stdout] test dispatch::tests::hook_entrypoint_post_tool_use_no_output ... ok [INFO] [stdout] test dispatch::tests::hook_entrypoint_pre_tool_use_auto_approve ... ok [INFO] [stdout] test dispatch::tests::has_active_peers_true_when_peer_exists ... ok [INFO] [stdout] test dispatch::tests::hook_result_empty_has_nothing ... ok [INFO] [stdout] test dispatch::tests::hook_result_from_option_none ... ok [INFO] [stdout] test dispatch::tests::hook_result_from_option_some ... ok [INFO] [stdout] test dispatch::tests::hook_result_output_has_stdout_only ... ok [INFO] [stdout] test dispatch::tests::hook_result_warning_has_stderr_only ... ok [INFO] [stdout] test dispatch::tests::hook_entrypoint_session_start ... ok [INFO] [stdout] test dispatch::tests::peer_count_cleaned_on_session_end ... ok [INFO] [stdout] test dispatch::tests::late_peer_detection_injects_full_protocol ... ok [INFO] [stdout] test dispatch::tests::active_plan_selects_latest_mtime ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_cooldown_suppresses ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_increments_decide_counter ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_after_decide_cooldown_still_applies ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_commit_triggers_nudge ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_self_record_increments_decide_count ... ok [INFO] [stdout] test dispatch::tests::post_tool_use_increments_nudge_counter ... ok [INFO] [stdout] test dispatch::tests::render_workspace_section_no_edda_returns_none ... ok [INFO] [stdout] test dispatch::tests::session_end_cleans_recall_counters ... ok [INFO] [stdout] test dispatch::tests::session_end_cleans_nudge_state ... ok [INFO] [stdout] test dispatch::tests::session_end_cleans_signal_count ... ok [INFO] [stdout] test dispatch::tests::session_end_no_warning_when_all_completed ... ok [INFO] [stdout] test dispatch::tests::session_end_cleans_state ... ok [INFO] [stdout] test dispatch::tests::pre_tool_use_with_patterns ... ok [INFO] [stdout] test dispatch::tests::session_end_reads_counters_before_cleanup ... ok [INFO] [stdout] test dispatch::tests::session_end_warns_pending_tasks ... ok [INFO] [stdout] test dispatch::tests::session_end_unclaim_only_with_active_peers ... ok [INFO] [stdout] test dispatch::tests::session_start_includes_signals ... ok [INFO] [stdout] test dispatch::tests::session_start_output_has_boundary_markers ... ok [INFO] [stdout] test dispatch::tests::session_start_no_signals_no_extra_sections ... ok [INFO] [stdout] test dispatch::tests::solo_session_still_sees_bindings_via_prompt_submit ... ok [INFO] [stdout] test dispatch::tests::solo_session_writes_zero_peer_count ... ok [INFO] [stdout] test dispatch::tests::subsequent_prompts_use_lightweight_updates ... ok [INFO] [stdout] test dispatch::tests::tail_sections_survive_budget_truncation ... ok [INFO] [stdout] test dispatch::tests::user_prompt_submit_dedup_skips_identical_state ... ok [INFO] [stdout] test dispatch::tests::wrap_context_boundary_adds_markers ... ok [INFO] [stdout] test dispatch::tests::write_back_protocol_always_fires ... ok [INFO] [stdout] test dispatch::tests::write_back_protocol_contains_examples ... ok [INFO] [stdout] test digest::tests::passive_harvest_skips_already_recorded ... ok [INFO] [stdout] test narrative::tests::activity_summary_compact ... ok [INFO] [stdout] test digest::tests::collect_session_ledger_extras_excludes_digest_notes ... ok [INFO] [stdout] test digest::tests::digest_skips_empty_session ... ok [INFO] [stdout] test digest::tests::collect_session_ledger_extras_basic ... ok [INFO] [stdout] test narrative::tests::activity_summary_with_velocity ... ok [INFO] [stdout] test narrative::tests::truncate_str_long_truncated ... ok [INFO] [stdout] test narrative::tests::truncate_str_short_unchanged ... ok [INFO] [stdout] test nudge::tests::commit_message_truncated ... ok [INFO] [stdout] test nudge::tests::detect_signal_amend_ignored ... ok [INFO] [stdout] test nudge::tests::detect_signal_cargo_add ... ok [INFO] [stdout] test nudge::tests::detect_signal_edda_decide ... ok [INFO] [stdout] test nudge::tests::detect_signal_edit_cargo_toml_excluded ... ok [INFO] [stdout] test nudge::tests::detect_signal_edit_env_file ... ok [INFO] [stdout] test nudge::tests::detect_signal_edit_mod_rs_not_new_module ... ok [INFO] [stdout] test nudge::tests::detect_signal_edit_tool_ignored ... ok [INFO] [stdout] test narrative::tests::compose_narrative_minimal_none_when_empty ... ok [INFO] [stdout] test nudge::tests::detect_signal_git_commit ... ok [INFO] [stdout] test nudge::tests::detect_signal_git_commit_heredoc ... ok [INFO] [stdout] test narrative::tests::narrative_empty_returns_none ... ok [INFO] [stdout] test nudge::tests::detect_signal_npm_install ... ok [INFO] [stdout] test nudge::tests::detect_signal_unrelated_bash ... ok [INFO] [stdout] test narrative::tests::compose_narrative_minimal_returns_activity_only ... ok [INFO] [stdout] test nudge::tests::detect_signal_write_migration ... ok [INFO] [stdout] test nudge::tests::detect_signal_write_mod_rs ... ok [INFO] [stdout] test nudge::tests::detect_signal_write_regular_rs ... ok [INFO] [stdout] test nudge::tests::format_nudge_commit_gentle ... ok [INFO] [stdout] test nudge::tests::format_nudge_commit_strong_when_zero ... ok [INFO] [stdout] test digest::tests::digest_writes_to_workspace_ledger ... ok [INFO] [stdout] test nudge::tests::format_nudge_config_strong_when_zero ... ok [INFO] [stdout] test nudge::tests::format_nudge_dependency_gentle ... ok [INFO] [stdout] test nudge::tests::format_nudge_dependency_strong_when_zero ... ok [INFO] [stdout] test nudge::tests::npm_bare_install_not_detected ... ok [INFO] [stdout] test nudge::tests::pnpm_add_detected ... ok [INFO] [stdout] test digest::tests::passive_harvest_empty_deps_no_events ... ok [INFO] [stdout] test narrative::tests::narrative_with_signals_has_structure ... ok [INFO] [stdout] test parse::tests::snake_to_camel_converts_correctly ... ok [INFO] [stdout] test pattern::tests::load_from_nonexistent_dir ... ok [INFO] [stdout] test pattern::tests::load_skips_underscore_files ... ok [INFO] [stdout] test pattern::tests::match_windows_path ... ok [INFO] [stdout] test pattern::tests::render_respects_budget ... ok [INFO] [stdout] test pattern::tests::match_glob_test_files ... ok [INFO] [stdout] test pattern::tests::no_match_non_test_files ... ok [INFO] [stdout] test digest::tests::digest_skips_cmd_milestones_when_disabled ... ok [INFO] [stdout] test peers::tests::auto_label_from_src_module ... ok [INFO] [stdout] test peers::tests::auto_label_from_crate_path ... ok [INFO] [stdout] test peers::tests::auto_claim_cleanup_removes_state_file ... ok [INFO] [stdout] test digest::tests::digest_writes_cmd_milestones_to_workspace ... ok [INFO] [stdout] test peers::tests::auto_claim_dedup_no_repeated_writes ... ok [INFO] [stdout] test peers::tests::auto_claim_skips_when_manual_claim_exists ... ok [INFO] [stdout] test digest::tests::digest_skips_already_digested ... ok [INFO] [stdout] test peers::tests::binding_dedup_in_board ... ok [INFO] [stdout] test peers::tests::auto_claim_writes_claim_from_signals ... ok [INFO] [stdout] test peers::tests::derive_scope_empty_files ... ok [INFO] [stdout] test digest::tests::passive_harvest_writes_inferred_decision ... ok [INFO] [stdout] test peers::tests::derive_scope_from_src_module ... ok [INFO] [stdout] test peers::tests::binding_conflict_no_existing_binding ... ok [INFO] [stdout] test peers::tests::binding_conflict_same_value_no_conflict ... ok [INFO] [stdout] test peers::tests::compaction_preserves_current_state ... ok [INFO] [stdout] test peers::tests::format_age_display ... ok [INFO] [stdout] test peers::tests::binding_conflict_detects_different_value ... ok [INFO] [stdout] test peers::tests::auto_claim_updates_on_scope_change ... ok [INFO] [stdout] test peers::tests::coord_event_append_and_board_state ... ok [INFO] [stdout] test digest::tests::manual_digest_specific_session ... ok [INFO] [stdout] test digest::tests::digest_maintains_hash_chain ... ok [INFO] [stdout] test peers::tests::infer_session_no_heartbeats ... ok [INFO] [stdout] test peers::tests::infer_session_one_active ... ok [INFO] [stdout] test peers::tests::heartbeat_write_read_roundtrip ... ok [INFO] [stdout] test digest::tests::digest_no_reduplicate_across_sessions ... ok [INFO] [stdout] test peers::tests::migration_skips_if_coordination_exists ... ok [INFO] [stdout] test peers::tests::infer_session_only_stale ... ok [INFO] [stdout] test peers::tests::parse_rfc3339_basic ... ok [INFO] [stdout] test peers::tests::explicit_claim_wins_over_heartbeat_for_requests ... ok [INFO] [stdout] test peers::tests::migration_renames_decisions_to_coordination ... ok [INFO] [stdout] test peers::tests::heartbeat_scope_display_without_claim ... ok [INFO] [stdout] test peers::tests::no_heartbeat_no_claim_no_requests ... ok [INFO] [stdout] test peers::tests::discover_peers_excludes_self ... ok [INFO] [stdout] test peers::tests::claim_scope_display_with_paths ... ok [INFO] [stdout] test peers::tests::infer_session_one_active_one_stale ... ok [INFO] [stdout] test peers::tests::render_peer_updates_solo_no_bindings ... ok [INFO] [stdout] test peers::tests::render_peer_updates_solo_with_bindings ... ok [INFO] [stdout] test peers::tests::infer_session_two_active_is_ambiguous ... ok [INFO] [stdout] test peers::tests::multi_session_shows_l2_instructions ... ok [INFO] [stdout] test peers::tests::full_lifecycle_multi_session ... ok [INFO] [stdout] test peers::tests::render_peer_updates_shows_bare_label ... ok [INFO] [stdout] test peers::tests::render_peer_updates_includes_l2_instructions ... ok [INFO] [stdout] test peers::tests::render_peer_updates_shows_tasks ... ok [INFO] [stdout] test peers::tests::render_omits_branch_when_absent ... ok [INFO] [stdout] test peers::tests::render_protocol_solo_no_bindings_returns_none ... ok [INFO] [stdout] test peers::tests::render_peer_updates_shows_focus_files ... ok [INFO] [stdout] test plan::tests::extract_body_between_steps ... ok [INFO] [stdout] test peers::tests::serde_backward_compat_decision_deserializes_as_binding ... ok [INFO] [stdout] test peers::tests::solo_mode_no_l2_instructions ... ok [INFO] [stdout] test peers::tests::render_protocol_solo_with_bindings ... ok [INFO] [stdout] test peers::tests::peer_updates_request_via_heartbeat_fallback ... ok [INFO] [stdout] test plan::tests::match_commit_evidence ... ok [INFO] [stdout] test plan::tests::match_task_to_step ... ok [INFO] [stdout] test plan::tests::extract_body_last_step ... ok [INFO] [stdout] test peers::tests::render_shows_branch_when_present ... ok [INFO] [stdout] test peers::tests::serde_new_binding_serializes_as_binding ... ok [INFO] [stdout] test plan::tests::parse_mixed_patterns ... ok [INFO] [stdout] test plan::tests::no_signals_all_pending ... ok [INFO] [stdout] test peers::tests::render_protocol_shows_peer_tasks ... ok [INFO] [stdout] test plan::tests::extract_tokens_filters_stop_words ... ok [INFO] [stdout] test plan::tests::parse_no_steps_returns_empty ... ok [INFO] [stdout] test plan::tests::parse_single_step_returns_empty ... ok [INFO] [stdout] test plan::tests::parse_step_pattern_a ... ok [INFO] [stdout] test peers::tests::render_protocol_multi_session ... ok [INFO] [stdout] test plan::tests::truncate_respects_line_boundary ... ok [INFO] [stdout] test plan::tests::parse_step_pattern_b ... ok [INFO] [stdout] test plan::tests::positional_rule_marks_prior_done ... ok [INFO] [stdout] test plan::tests::render_fallback_no_steps ... ok [INFO] [stdout] test plan::tests::truncate_short_text_unchanged ... ok [INFO] [stdout] test redact::tests::redact_bearer_token ... ok [INFO] [stdout] test redact::tests::redact_aws_key ... ok [INFO] [stdout] test peers::tests::derive_scope_from_crate_files ... ok [INFO] [stdout] test redact::tests::redact_preserves_normal_code ... ok [INFO] [stdout] test redact::tests::redact_openai_api_key ... ok [INFO] [stdout] test redact::tests::redact_multiple_secrets_in_one_string ... ok [INFO] [stdout] test dispatch::tests::signal_count_incremented_for_all_signals ... ok [INFO] [stdout] test peers::tests::render_protocol_shows_focus_files_when_no_tasks ... ok [INFO] [stdout] test redact::tests::redact_github_token ... ok [INFO] [stdout] test peers::tests::request_delivered_via_heartbeat_label_no_claim ... ok [INFO] [stdout] test render::tests::apply_budget_no_truncation ... ok [INFO] [stdout] test render::tests::apply_budget_truncates_long_content ... ok [INFO] [stdout] test render::tests::writeback_contains_decide_command ... ok [INFO] [stdout] test signals::tests::focus_common_prefix_crates ... ok [INFO] [stdout] test signals::tests::command_base_strips_flags ... ok [INFO] [stdout] test signals::tests::extract_commit_msg_parses_m_flag ... ok [INFO] [stdout] test redact::tests::redact_in_nested_json ... ok [INFO] [stdout] test signals::tests::focus_common_prefix_src ... ok [INFO] [stdout] test signals::tests::focus_empty_returns_none ... ok [INFO] [stdout] test redact::tests::redact_gitlab_token ... ok [INFO] [stdout] test signals::tests::focus_edit_weighted_triggers_on_heavy_crate ... ok [INFO] [stdout] test signals::tests::focus_too_few_files_returns_none ... ok [INFO] [stdout] test signals::tests::focus_windows_paths ... ok [INFO] [stdout] test signals::tests::focus_most_frequent_dir ... ok [INFO] [stdout] test signals::tests::noise_file_filters_skills ... ok [INFO] [stdout] test signals::tests::parse_commit_result_extracts_hash ... ok [INFO] [stdout] test render::tests::transform_context_strips_header_and_cite ... ok [INFO] [stdout] test render::tests::wrap_boundary_adds_markers ... ok [INFO] [stdout] test signals::tests::command_base_multiline ... ok [INFO] [stdout] test redact::tests::redact_env_export ... ok [INFO] [stdout] test redact::tests::redact_anthropic_api_key ... ok [INFO] [stdout] test signals::tests::signals_extract_tasks ... ok [INFO] [stdout] test signals::tests::signals_extract_failed_commands ... ok [INFO] [stdout] test signals::tests::signals_skip_noise_files ... ok [INFO] [stdout] test signals::tests::signals_healing_then_fail_again ... ok [INFO] [stdout] test signals::tests::signals_healing_success_clears_failures ... ok [INFO] [stdout] test signals::tests::truncate_stderr_finds_error_line ... ok [INFO] [stdout] test signals::tests::truncate_stderr_skips_irrelevant_next_line ... ok [INFO] [stdout] test signals::tests::signals_extract_files_modified ... ok [INFO] [stdout] test signals::tests::signals_successful_bash_not_tracked ... ok [INFO] [stdout] test render::tests::context_budget_default_without_config ... ok [INFO] [stdout] test render::tests::context_budget_uses_env_var ... ok [INFO] [stdout] test signals::tests::signals_save_load_round_trip ... ok [INFO] [stdout] test signals::tests::focus_hot_files_with_clear_outlier ... ok [INFO] [stdout] test signals::tests::signals_extract_commits ... ok [INFO] [stdout] test signals::tests::focus_no_hot_files_when_edits_even ... ok [INFO] [stdout] test signals::tests::truncate_stderr_includes_source_location ... ok [INFO] [stdout] test signals::tests::truncate_stderr_truncates_long_line ... ok [INFO] [stdout] test state::tests::nudge_cooldown_env_var_override ... ok [INFO] [stdout] test state::tests::dedup_hash_round_trip ... ok [INFO] [stdout] test state::tests::peer_count_round_trip ... ok [INFO] [stdout] test state::tests::counter_round_trip ... ok [INFO] [stdout] test peers::tests::cross_session_different_keys_both_visible ... ok [INFO] [stdout] test peers::tests::cross_session_binding_conflict_last_write_wins ... ok [INFO] [stdout] test state::tests::compact_pending_lifecycle ... ok [INFO] [stdout] test dispatch::tests::solo_to_multi_session_transition ... ok [INFO] [stderr] Doc-tests edda_bridge_claude [INFO] [stdout] [INFO] [stdout] test result: ok. 272 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.38s [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" "98074497ac764a612ae9c54260a06708bd06ac2d0f35b9817229c039e5b4c708", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98074497ac764a612ae9c54260a06708bd06ac2d0f35b9817229c039e5b4c708", kill_on_drop: false }` [INFO] [stdout] 98074497ac764a612ae9c54260a06708bd06ac2d0f35b9817229c039e5b4c708