[INFO] fetching crate apm-core 0.1.56...
[INFO] testing apm-core-0.1.56 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate apm-core 0.1.56 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate apm-core 0.1.56
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate apm-core 0.1.56
[INFO] tweaked toml for crates.io crate apm-core 0.1.56 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate apm-core 0.1.56 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate apm-core 0.1.56 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce
[INFO] running `Command { std: "docker" "start" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling apm-core v0.1.56 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.55s
[INFO] running `Command { std: "docker" "inspect" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling apm-core v0.1.56 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.75s
[INFO] running `Command { std: "docker" "inspect" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/apm_core-0b0bc588ac5e69e8)
[INFO] [stdout] 
[INFO] [stdout] running 665 tests
[INFO] [stdout] test clean::tests::parse_older_than_days ... ok
[INFO] [stdout] test clean::tests::parse_older_than_zero_days ... ok
[INFO] [stdout] test archive::tests::archive_dir_config_accepted ... ok
[INFO] [stdout] test archive::tests::archive_errors_when_no_archive_dir ... ok
[INFO] [stdout] test config::tests::actionable_states_for_unknown_actor_returns_empty ... ok
[INFO] [stdout] test config::tests::actionable_states_for_supervisor_includes_in_design ... ok
[INFO] [stdout] test config::tests::actionable_states_for_agent_includes_ready ... ok
[INFO] [stdout] test config::tests::agents_max_workers_per_epic_defaults_to_one ... ok
[INFO] [stdout] test clean::tests::parse_older_than_invalid_rejects ... ok
[INFO] [stdout] test clean::tests::parse_older_than_iso_date ... ok
[INFO] [stdout] test config::tests::blocked_epics_global_limit_two ... ok
[INFO] [stdout] test config::tests::blocked_epics_global_limit_one ... ok
[INFO] [stdout] test config::tests::agents_skip_permissions_parses_and_defaults ... ok
[INFO] [stdout] test config::tests::collaborators_defaults_empty ... ok
[INFO] [stdout] test config::tests::default_branch_blocked_when_one_active_non_epic_worker_and_limit_one ... ok
[INFO] [stdout] test config::tests::collaborators_parses ... ok
[INFO] [stdout] test config::tests::default_branch_not_blocked_when_no_active_non_epic_workers ... ok
[INFO] [stdout] test config::tests::default_branch_not_blocked_when_limit_zero ... ok
[INFO] [stdout] test config::tests::completion_strategy_default ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_spec_writer_start_excluded ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_none_completion_still_nonempty_via_coder_start ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_no_coder_start_uses_merge_completion ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_order_invariant ... ok
[INFO] [stdout] test config::tests::falls_back_to_user ... ok
[INFO] [stdout] test config::tests::default_branch_not_blocked_when_all_workers_are_epic_linked ... ok
[INFO] [stdout] test config::tests::git_host_config_absent_defaults_none ... ok
[INFO] [stdout] test config::tests::defaults_to_apm ... ok
[INFO] [stdout] test config::tests::completion_strategy_all_variants ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_state_worker_profile_preferred ... ok
[INFO] [stdout] test config::tests::prefers_apm_agent_type ... ok
[INFO] [stdout] test config::tests::local_config_github_token_absent_defaults_none ... ok
[INFO] [stdout] test config::tests::git_host_config_parses ... ok
[INFO] [stdout] test config::tests::local_config_username_defaults_none ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_command_start_no_profile_treated_as_coder ... ok
[INFO] [stdout] test config::tests::local_config_github_token_parses ... ok
[INFO] [stdout] test config::tests::resolve_identity_returns_unassigned_when_absent ... ok
[INFO] [stdout] test config::tests::local_config_parses ... ok
[INFO] [stdout] test config::tests::merge_local_extends_env ... ok
[INFO] [stdout] test config::tests::local_config_username_parses ... ok
[INFO] [stdout] test config::tests::prefers_apm_agent_name ... ok
[INFO] [stdout] test config::tests::resolve_identity_returns_unassigned_when_empty ... ok
[INFO] [stdout] test config::tests::resolve_outcome_explicit_override ... ok
[INFO] [stdout] test config::tests::implementation_state_ids_coder_start_and_merge_completion ... ok
[INFO] [stdout] test config::tests::resolve_identity_returns_username_when_present ... ok
[INFO] [stdout] test config::tests::resolve_outcome_implicit_needs_input ... ok
[INFO] [stdout] test config::tests::server_config_custom_origin ... ok
[INFO] [stdout] test config::tests::resolve_outcome_implicit_cancelled ... ok
[INFO] [stdout] test config::tests::resolve_identity_returns_unassigned_when_username_key_absent ... ok
[INFO] [stdout] test config::tests::ticket_section_full_parse ... ok
[INFO] [stdout] test config::tests::section_type_all_variants ... ok
[INFO] [stdout] test config::tests::resolve_outcome_implicit_success ... ok
[INFO] [stdout] test config::tests::server_config_defaults ... ok
[INFO] [stdout] test config::tests::state_config_deny_unknown_fields_rejects_actionable ... ok
[INFO] [stdout] test config::tests::state_worker_profile_parses ... ok
[INFO] [stdout] test config::tests::state_worker_profile_accepted ... ok
[INFO] [stdout] test config::tests::ticket_section_minimal_parse ... ok
[INFO] [stdout] test config::tests::sync_aggressive_defaults_to_true ... ok
[INFO] [stdout] test config::tests::tickets_archive_dir_parses ... ok
[INFO] [stdout] test config::tests::transition_config_new_fields ... ok
[INFO] [stdout] test config::tests::tickets_archive_dir_absent_defaults_none ... ok
[INFO] [stdout] test config::tests::workers_config_default ... ok
[INFO] [stdout] test config::tests::transition_worker_profile_rejected ... ok
[INFO] [stdout] test config::tests::work_config_defaults_to_none ... ok
[INFO] [stdout] test config::tests::work_epic_parses ... ok
[INFO] [stdout] test config::tests::workers_config_default_field ... ok
[INFO] [stdout] test credentials::tests::empty_env_var_is_skipped ... ok
[INFO] [stdout] test credentials::tests::missing_credential_fails ... ok
[INFO] [stdout] test credentials::tests::prefers_env_var ... ok
[INFO] [stdout] test config::tests::transition_config_new_fields_default ... ok
[INFO] [stdout] test denial::tests::test_apm_command_denial ... ok
[INFO] [stdout] test denial::tests::test_missing_transcript_returns_empty_summary ... ok
[INFO] [stdout] test config::tests::workers_config_parses ... ok
[INFO] [stdout] test denial::tests::test_cancelled_parallel_not_a_denial ... ok
[INFO] [stdout] test denial::tests::test_requires_approval_classified_as_requires_approval ... ok
[INFO] [stdout] test denial::tests::test_truncate_str_at_boundary ... ok
[INFO] [stdout] test denial::tests::test_no_denials ... ok
[INFO] [stdout] test config::tests::workers_config_env_field ... ok
[INFO] [stdout] test denial::tests::test_write_and_read_summary_roundtrip ... ok
[INFO] [stdout] test denial::tests::test_outside_worktree ... ok
[INFO] [stdout] test epic::tests::all_terminal_is_done ... ok
[INFO] [stdout] test epic::tests::branch_to_title_single_word ... ok
[INFO] [stdout] test epic::tests::all_satisfies_deps_not_all_terminal_is_implemented ... ok
[INFO] [stdout] test epic::tests::branch_to_title_many_words ... ok
[INFO] [stdout] test epic::tests::any_neither_satisfies_nor_terminal_is_in_progress ... ok
[INFO] [stdout] test epic::tests::empty_slice_is_empty ... ok
[INFO] [stdout] test epic::tests::branch_to_title_basic ... ok
[INFO] [stdout] test epic::tests::epic_id_from_branch_no_epic_prefix ... ok
[INFO] [stdout] test config::tests::workers_default_missing_fails_parse ... ok
[INFO] [stdout] test epic::tests::epic_id_from_branch_no_dash ... ok
[INFO] [stdout] test epic::tests::branch_to_title_no_slug ... ok
[INFO] [stdout] test denial::tests::test_regular_error_not_classified_as_denial ... ok
[INFO] [stdout] test epic::tests::mixed_non_terminal_non_satisfies_is_in_progress ... ok
[INFO] [stdout] test epic::tests::epic_id_from_branch_happy_path ... ok
[INFO] [stdout] test epic::tests::merge_tree_status_up_to_date ... ok
[INFO] [stdout] test epic::tests::ticket_epic_staleness_none_when_no_branch ... ok
[INFO] [stdout] test epic::tests::merge_tree_status_clean_merge ... ok
[INFO] [stdout] test epic::tests::ticket_epic_staleness_none_when_up_to_date ... ok
[INFO] [stdout] [main (root-commit) 2523b63] add foo
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/foo.rs
[INFO] [stdout] test epic::tests::epic_is_quiescent_ready_no_history_does_not_block ... ok
[INFO] [stderr] Switched to a new branch 'ticket/overlap-test'
[INFO] [stdout] [main (root-commit) a24010b] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 existing.rs
[INFO] [stderr] Switched to a new branch 'ticket/untracked-overlap'
[INFO] [stdout] test epic::tests::epic_is_quiescent_state_blocker ... ok
[INFO] [stdout] test epic::tests::ticket_epic_staleness_some_when_behind ... ok
[INFO] [stdout] test epic::tests::epic_is_quiescent_amend_with_impl_history_blocks ... ok
[INFO] [stdout] [ticket/overlap-test 329e604] ticket: change foo
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] test epic::tests::epic_is_quiescent_live_worker_blocker ... ok
[INFO] [stdout] [main (root-commit) 1f5b948] add foo and bar
[INFO] [stdout]  2 files changed, 2 insertions(+)
[INFO] [stdout]  create mode 100644 src/bar.rs
[INFO] [stdout]  create mode 100644 src/foo.rs
[INFO] [stdout] test epic::tests::epic_is_quiescent_closed_with_impl_history_does_not_block ... ok
[INFO] [stdout] test epic::tests::merge_tree_status_conflict ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to a new branch 'ticket/no-overlap'
[INFO] [stdout] [ticket/untracked-overlap 257f221] ticket: add new file
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/new.rs
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [main (root-commit) 16aa0e5] add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [ticket/no-overlap 6471ef9] ticket: change foo
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) 16aa0e5] add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to a new branch 'ticket/foo'
[INFO] [stdout] [main (root-commit) 16aa0e5] add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to a new branch 'ticket/ticketonly'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [main (root-commit) 16aa0e5] add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] test git_util::tests::check_leaked_files_detects_untracked_overlap ... ok
[INFO] [stdout] [main (root-commit) 16aa0e5] add README
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] test git_util::tests::check_leaked_files_detects_overlap ... ok
[INFO] [stderr] Switched to a new branch 'ticket/extra'
[INFO] [stderr] Switched to a new branch 'ticket/anc'
[INFO] [stderr] Switched to a new branch 'ticket/bar'
[INFO] [stdout] [ticket/foo 8784751] add src/lib.rs
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] [ticket/ticketonly 18b63e5] add tickets/ticketonly.md
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/ticketonly.md
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] Merge made by the 'ort' strategy.
[INFO] [stdout] [ticket/bar 8784751] add src/lib.rs
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] [ticket/extra 8784751] add src/lib.rs
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout]  src/lib.rs | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test git_util::tests::content_merged_into_main_returns_false_when_ancestor ... ok
[INFO] [stderr] Switched to branch 'ticket/foo'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] Updating 16aa0e5..8784751
[INFO] [stdout] Fast-forward
[INFO] [stdout] Squash commit -- not updating HEAD
[INFO] [stdout]  src/lib.rs | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] test git_util::tests::delete_local_branch_failure_adds_warning ... ok
[INFO] [stdout] Updating 16aa0e5..8784751
[INFO] [stdout] Fast-forward
[INFO] [stdout] Squash commit -- not updating HEAD
[INFO] [stdout]  src/lib.rs | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] test git_util::tests::commit_ok_and_err ... ok
[INFO] [stdout] test epic::tests::epic_is_quiescent_all_done ... ok
[INFO] [stdout] [main ef782fb] Squash ticket/extra
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] [main b3dbe4f] Squash ticket/bar
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/lib.rs
[INFO] [stdout] test git_util::tests::check_leaked_files_no_overlap ... ok
[INFO] [stdout] test git_util::tests::delete_remote_branches_empty_slice_returns_ok ... ok
[INFO] [stderr] Switched to branch 'ticket/extra'
[INFO] [stderr] Switched to branch 'ticket/bar'
[INFO] [stdout] test git_util::tests::delete_local_branch_success ... ok
[INFO] [stdout] test git_util::tests::content_merged_into_main_all_ticket_only_commits_returns_false ... ok
[INFO] [stdout] [ticket/foo 390c16a] add tickets/foo.md
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/foo.md
[INFO] [stdout] test epic::tests::classify_epic_quiescence_all_closed_returns_empty ... ok
[INFO] [stdout] [ticket/bar 4933300] add tickets/bar.md
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/bar.md
[INFO] [stdout] test epic::tests::set_epic_owner_all_terminal_returns_zero_changed ... ok
[INFO] [stdout] [ticket/extra 1ce2ad6] add tickets/extra.md
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/extra.md
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::detect_mid_merge_none_on_clean_repo ... ok
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::detect_mid_merge_on_rebase_merge ... ok
[INFO] [stdout] test git_util::tests::detect_mid_merge_on_cherry_pick ... ok
[INFO] [stdout] test git_util::tests::detect_mid_merge_on_merge_head ... ok
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stdout] test git_util::tests::content_merged_into_main_regular_merge_with_state_commit ... ok
[INFO] [stdout] [ticket/extra ed68dcf] add src/extra.rs
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 src/extra.rs
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test epic::tests::epic_is_quiescent_order_invariant ... ok
[INFO] [stdout] test git_util::tests::detect_mid_merge_on_rebase_apply ... ok
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stdout] test git_util::tests::content_merged_into_main_squash_merge_with_state_commit ... ok
[INFO] [stdout] [main (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] test git_util::tests::dirty_files_for_sync_excludes_temp_files ... ok
[INFO] [stdout] test git_util::tests::git_config_get_some_and_none ... ok
[INFO] [stdout] test epic::tests::classify_epic_quiescence_ignores_other_epics ... ok
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to a new branch 'epic/dd000004-feature'
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmpg1UlqX'
[INFO] [stdout] [main (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to a new branch 'epic/ff000006-feature'
[INFO] [stdout] [main (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to a new branch 'epic/cc000003-feature'
[INFO] [stdout] test git_util::tests::content_merged_into_main_not_detected_when_non_ticket_file_modified_after_merge ... ok
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmpC5G8sQ'
[INFO] [stderr] Switched to a new branch 'epic/aa000001-feature'
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [epic/dd000004-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stderr] Switched to a new branch 'epic/ee000005-feature'
[INFO] [stdout] [epic/ff000006-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] [main (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) e522b1b] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tracked.txt
[INFO] [stderr] Switched to a new branch 'epic/bb000002-feature'
[INFO] [stderr] error: pathspec 'main' did not match any file(s) known to git
[INFO] [stdout] test git_util::tests::is_worktree_dirty_clean ... ok
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [epic/aa000001-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] test git_util::tests::is_worktree_dirty_for_sync_clean ... ok
[INFO] [stdout] [epic/ee000005-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] [epic/cc000003-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test git_util::tests::is_worktree_dirty_dirty ... [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] ok
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] Already up to date.
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test git_util::tests::is_worktree_dirty_for_sync_temp_files_only_is_clean ... ok
[INFO] [stdout] Merge made by the 'ort' strategy.
[INFO] [stdout] test git_util::tests::is_file_tracked_tracked_and_untracked ... ok
[INFO] [stdout] test git_util::tests::is_worktree_dirty_for_sync_real_change_is_dirty ... ok
[INFO] [stdout]  feature.md | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] test git_util::tests::is_worktree_dirty_for_sync_temp_plus_real_is_dirty ... ok
[INFO] [stdout] test epic::tests::set_epic_owner_updates_non_terminal_skips_terminal ... ok
[INFO] [stdout] Merge made by the 'ort' strategy.
[INFO] [stdout]  feature.md | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] [epic/bb000002-feature e672db4] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test git_util::tests::is_branch_content_merged_regular_merge_returns_true ... ok
[INFO] [stderr] Switched to a new branch 'other'
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) b811bd7] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] [main (root-commit) 6b263e5] seed
[INFO] [stdout]  4 files changed, 4 insertions(+)
[INFO] [stdout]  create mode 100644 a/1.md
[INFO] [stdout]  create mode 100644 a/2.md
[INFO] [stdout]  create mode 100644 a/3.md
[INFO] [stdout]  create mode 100644 a/4.md
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::is_branch_content_merged_no_remote_falls_back_to_local ... ok
[INFO] [stderr] Switched to a new branch 'ticket/foo'
[INFO] [stdout] Updating d6d1b40..e672db4
[INFO] [stdout] Fast-forward
[INFO] [stdout] Squash commit -- not updating HEAD
[INFO] [stdout]  feature.md | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stderr] To /tmp/.tmpC5G8sQ
[INFO] [stderr]  * [new branch]      epic/ee000005-feature -> epic/ee000005-feature
[INFO] [stdout] [main (root-commit) 3c292c6] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::prune_remote_tracking_no_panic ... ok
[INFO] [stdout] [other 5f3885b] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 g.txt
[INFO] [stderr] error: pathspec 'main' did not match any file(s) known to git
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stderr] Switched to a new branch 'feature'
[INFO] [stdout] test git_util::tests::local_branch_exists_present_and_absent ... ok
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] Switched to a new branch 'feature'
[INFO] [stdout] [ticket/foo 3a5d9ab] ticket: change
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] Already up to date.
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmp8TJEzW'
[INFO] [stdout] [main 9c35d93] archive sweep
[INFO] [stdout]  4 files changed, 0 insertions(+), 0 deletions(-)
[INFO] [stdout]  rename {a => b}/1.md (100%)
[INFO] [stdout]  rename {a => b}/2.md (100%)
[INFO] [stdout]  rename {a => b}/3.md (100%)
[INFO] [stdout]  rename {a => b}/4.md (100%)
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [feature afda402] feature change
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stderr] Switched to a new branch 'ticket/xyz'
[INFO] [stdout] [feature 5f3885b] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 g.txt
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmpC5G8sQ'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [main dc35205] squash merge epic
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 feature.md
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stderr] Switched to a new branch 'feature'
[INFO] [stdout] Merge made by the 'ort' strategy.
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stdout] [main 8c8273d] main version
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 conflict.md
[INFO] [stdout]  f.txt | 2 +-
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stderr] Switched to a new branch 'feature'
[INFO] [stdout] [main 292189e] main change
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] test git_util::tests::merge_ref_already_up_to_date ... ok
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [ticket/xyz 65a3d83] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/xyz.md
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmpZQSLgs'
[INFO] [stdout] [feature 0a50c68] feature version
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 conflict.md
[INFO] [stdout] [feature 2ed88a0] add active ticket
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 a/new.md
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmpMLCpmv'
[INFO] [stdout] [main (root-commit) 6c7b449] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::is_branch_content_merged_unmerged_returns_false ... ok
[INFO] [stdout] test git_util::tests::merge_ref_success ... ok
[INFO] [stdout] test git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true ... FAILED
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] Switched to a new branch 'ticket/ro'
[INFO] [stderr] To /tmp/.tmp8TJEzW
[INFO] [stderr]  * [new branch]      ticket/xyz -> ticket/xyz
[INFO] [stdout] [main (root-commit) 8d310a0] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [main (root-commit) 2d804b9] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test git_util::tests::merge_ref_does_not_speculate_directory_renames ... ok
[INFO] [stdout] test git_util::tests::merged_into_main_detects_local_regular_merge_when_remote_deleted ... ok
[INFO] [stderr] Switched to a new branch 'ticket/test-dirty'
[INFO] [stdout] test git_util::tests::is_branch_content_merged_merged_into_both_returns_true ... FAILED
[INFO] [stdout] test git_util::tests::stage_files_ok_and_err ... ok
[INFO] [stdout] test github::tests::fetch_authenticated_user_live ... ignored
[INFO] [stdout] test git_util::tests::is_branch_content_merged_squash_merge_returns_true ... ok
[INFO] [stdout] test github::tests::pr_title_empty_title_falls_back_to_short_id ... ok
[INFO] [stdout] test github::tests::pr_title_includes_short_id_prefix ... ok
[INFO] [stdout] test github::tests::pr_title_short_id_exactly_8_chars ... ok
[INFO] [stdout] test hash_stamp::tests::missing_files_are_stable ... ok
[INFO] [stdout] test hash_stamp::tests::hash_is_deterministic ... ok
[INFO] [stdout] test hash_stamp::tests::hash_changes_on_file_mutation ... ok
[INFO] [stdout] [main (root-commit) 6281705] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 f.txt
[INFO] [stdout] test hash_stamp::tests::stamp_round_trip ... ok
[INFO] [stderr] Switched to a new branch 'ticket/abc'
[INFO] [stdout] test help_schema::tests::agents_max_concurrent_has_default_3 ... ok
[INFO] [stdout] test help_schema::tests::project_name_is_required ... ok
[INFO] [stdout] test help_schema::tests::satisfies_deps_has_union_type_name ... ok
[INFO] [stdout] test git_util::tests::run_error_uses_stdout_when_stderr_empty ... ok
[INFO] [stdout] test help_schema::tests::completion_strategy_has_enum_variants ... ok
[INFO] [stdout] test help_schema::tests::render_schema_contains_agents_max_concurrent ... ok
[INFO] [stdout] test git_util::tests::merge_ref_conflict_aborts_and_warns ... ok
[INFO] [stdout] test init::tests::default_config_has_in_repo_worktrees_dir ... ok
[INFO] [stdout] test init::tests::default_config_escapes_special_chars ... ok
[INFO] [stdout] test init::tests::default_config_empty_collaborators ... ok
[INFO] [stdout] [ticket/xyz 0ba643c] init
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] test init::tests::default_config_has_no_active_model_line ... ok
[INFO] [stdout] test init::tests::default_config_has_project_key ... ok
[INFO] [stdout] test help_schema::tests::workflow_states_uses_array_notation ... ok
[INFO] [stdout] test git_util::tests::sync_checked_out_worktrees_no_worktrees_returns_empty ... ok
[INFO] [stdout] [ticket/ro (root-commit) e034b91] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/ro.md
[INFO] [stdout] test init::tests::default_ticket_toml_is_valid ... ok
[INFO] [stdout] [master (root-commit) d6d1b40] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] test init::tests::detect_default_branch_non_git ... ok
[INFO] [stdout] test init::tests::ensure_gitignore_creates_file ... ok
[INFO] [stdout] test init::tests::default_config_with_collaborators ... ok
[INFO] [stdout] test init::tests::ensure_gitignore_idempotent ... ok
[INFO] [stderr] error: src refspec main does not match any
[INFO] [stderr] error: failed to push some refs to '/tmp/.tmplWs8FI'
[INFO] [stdout] test init::tests::ensure_gitignore_worktrees_idempotent ... ok
[INFO] [stdout] test init::tests::init_path_for_preserves_extension ... ok
[INFO] [stdout] test init::tests::ensure_gitignore_appends_missing_entry ... ok
[INFO] [stdout] test init::tests::default_workflow_all_transitions_have_valid_outcomes ... ok
[INFO] [stdout] test init::tests::default_workflow_toml_is_valid ... ok
[INFO] [stdout] [ticket/abc f28942f] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/abc.md
[INFO] [stdout] test git_util::tests::merge_ref_clears_stale_unmerged_index_entries ... ok
[INFO] [stdout] [ticket/test-dirty f4efd86] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 impl.rs
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Cloning into '/tmp/.tmpxu7RyH'...
[INFO] [stdout] test init::tests::migrate_moves_files_and_updates_claude_md ... ok
[INFO] [stderr] done.
[INFO] [stderr] Switched to a new branch 'ticket/eq'
[INFO] [stdout] [main (root-commit) f753e32] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stdout] [main (root-commit) f753e32] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README
[INFO] [stderr] To /tmp/.tmpZQSLgs
[INFO] [stderr]  * [new branch]      ticket/abc -> ticket/abc
[INFO] [stderr] Switched to a new branch 'ticket/test-ff'
[INFO] [stderr] Switched to a new branch 'ticket/test-temponly'
[INFO] [stdout] test init::tests::detect_default_branch_fresh_repo ... ok
[INFO] [stdout] test init::tests::migrate_already_migrated ... ok
[INFO] [stderr] To /tmp/.tmpMLCpmv
[INFO] [stderr]  * [new branch]      ticket/ro -> ticket/ro
[INFO] [stdout] [ticket/eq b40a42c] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 tickets/eq.md
[INFO] [stderr] Preparing worktree (new branch 'ticket/test-dirty')
[INFO] [stdout] [ticket/test-temponly 308e3a6] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 impl.rs
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] branch 'ticket/test-dirty' set up to track 'origin/ticket/test-dirty'.
[INFO] [stderr] Cloning into '/tmp/.tmpf5pXAU'...
[INFO] [stdout] test epic::tests::classify_epic_quiescence_three_buckets ... ok
[INFO] [stdout] test init::tests::setup_docker_creates_dockerfile ... ok
[INFO] [stderr] warning: remote HEAD refers to nonexistent ref, unable to checkout
[INFO] [stdout] test git_util::tests::read_from_branch_with_class_ahead_returns_local_content ... ok
[INFO] [stdout] [ticket/test-ff 308e3a6] init
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 impl.rs
[INFO] [stdout] HEAD is now at f4efd86 init
[INFO] [stdout] test init::tests::migrate_agents_md_config_instructions_to_project_key ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] done.
[INFO] [stderr] Switched to branch 'ticket/test-dirty'
[INFO] [stderr] Cloning into '/tmp/.tmpsPufMP'...
[INFO] [stderr] Switched to a new branch 'ticket/abc'
[INFO] [stdout] branch 'ticket/abc' set up to track 'origin/ticket/abc'.
[INFO] [stderr] Preparing worktree (new branch 'ticket/test-temponly')
[INFO] [stdout] test init::tests::setup_docker_idempotent ... ok
[INFO] [stdout] test init::tests::migrate_project_md_from_agents_default ... ok
[INFO] [stdout] test init::tests::setup_creates_expected_files ... ok
[INFO] [stdout] branch 'ticket/test-temponly' set up to track 'origin/ticket/test-temponly'.
[INFO] [stdout] [ticket/test-dirty fb8627d] init
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] done.
[INFO] [stderr] To /tmp/.tmplWs8FI
[INFO] [stderr]  * [new branch]      ticket/eq -> ticket/eq
[INFO] [stdout] test init::tests::setup_creates_valid_manifest_stubs ... ok
[INFO] [stdout] test init::tests::setup_claude_md_contains_new_imports ... ok
[INFO] [stdout] [ticket/abc 7e851b6] init
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] HEAD is now at 308e3a6 init
[INFO] [stdout] test init::tests::setup_creates_worktrees_dir_inside_repo ... ok
[INFO] [stdout] test init::tests::setup_config_init_collaborators_match_live ... ok
[INFO] [stdout] test git_util::tests::read_from_branch_with_class_remote_only_returns_origin_content ... ok
[INFO] [stderr] Switched to branch 'ticket/test-temponly'
[INFO] [stderr] Preparing worktree (new branch 'ticket/test-ff')
[INFO] [stdout] branch 'ticket/test-ff' set up to track 'origin/ticket/test-ff'.
[INFO] [stderr] From /tmp/.tmppBIRQT
[INFO] [stderr]    f4efd86..fb8627d  ticket/test-dirty -> origin/ticket/test-dirty
[INFO] [stdout] test git_util::tests::read_from_branch_with_class_equal_returns_content ... ok
[INFO] [stdout] test init::tests::worktree_gitignore_pattern_absolute_is_none ... ok
[INFO] [stdout] test init::tests::worktree_gitignore_pattern_hidden_dir ... ok
[INFO] [stdout] test init::tests::worktree_gitignore_pattern_nested ... ok
[INFO] [stdout] test init::tests::worktree_gitignore_pattern_parent_relative_is_none ... ok
[INFO] [stdout] HEAD is now at 308e3a6 init
[INFO] [stdout] test init::tests::worktree_gitignore_pattern_simple ... ok
[INFO] [stdout] test init::tests::write_default_creates_new_file ... ok[ticket/test-temponly f943dcb] init
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] 
[INFO] [stdout] test init::tests::write_default_non_tty_writes_init_when_differs ... ok
[INFO] [stdout] test init::tests::write_default_unchanged_when_identical ... ok
[INFO] [stderr] Switched to branch 'ticket/test-ff'
[INFO] [stdout] test init::tests::write_local_toml_creates_file ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test init::tests::setup_gitignore_includes_worktrees_pattern ... ok
[INFO] [stdout] test init::tests::write_local_toml_idempotent ... ok
[INFO] [stdout] test instructions::tests::exit_scenarios_only_hinted_transitions ... ok
[INFO] [stdout] test instructions::tests::exit_scenarios_default_workflow_in_progress ... ok
[INFO] [stderr] To /tmp/.tmpZQSLgs
[INFO] [stderr]    f28942f..7e851b6  ticket/abc -> ticket/abc
[INFO] [stdout] test instructions::tests::generate_is_idempotent ... ok
[INFO] [stdout] test instructions::tests::exit_scenarios_worker_pre_before_apm_state ... ok
[INFO] [stdout] test instructions::tests::generate_no_ansi ... ok
[INFO] [stdout] test instructions::tests::generate_no_role_lists_roles ... ok
[INFO] [stdout] test instructions::tests::generate_role_independent_sections ... ok
[INFO] [stdout] test instructions::tests::generate_role_table_precedes_command_reference ... ok
[INFO] [stdout] test instructions::tests::generate_unknown_role_gets_worker_allowlist ... ok
[INFO] [stdout] test instructions::tests::generate_with_id_no_placeholder_remains ... ok
[INFO] [stdout] test instructions::tests::generate_spec_writer_scopes_commands ... ok
[INFO] [stdout] test instructions::tests::imperative_table_format_header ... ok
[INFO] [stdout] [ticket/test-ff f943dcb] init
[INFO] [stdout]  1 file changed, 1 insertion(+), 1 deletion(-)
[INFO] [stdout] test instructions::tests::generate_worker_scopes_commands ... ok
[INFO] [stdout] test init::tests::setup_does_not_overwrite_edited_manifest_stub ... ok
[INFO] [stdout] test instructions::tests::live_ticket_format_from_config ... ok
[INFO] [stdout] test instructions::tests::shell_discipline_absent_from_instructions ... ok
[INFO] [stdout] test logger::tests::default_log_path_contains_apm_and_ends_log ... ok
[INFO] [stdout] test logger::tests::tilde_expansion ... ok
[INFO] [stdout] test prompt::tests::discover_lists_agents_and_roles ... ok
[INFO] [stdout] test prompt::tests::discover_no_agents_dir ... ok
[INFO] [stdout] test prompt::tests::discover_deduplicates_roles ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test instructions::tests::live_state_machine_filters_by_role ... ok
[INFO] [stdout] test init::tests::setup_migrates_flat_agent_files_to_agents_default ... ok
[INFO] [stdout] test init::tests::setup_non_tty_uses_dir_name_and_empty_description ... ok
[INFO] [stdout] test init::tests::setup_non_tty_no_local_toml ... ok
[INFO] [stderr] From /tmp/.tmpdQswXO
[INFO] [stderr]    308e3a6..f943dcb  ticket/test-temponly -> origin/ticket/test-temponly
[INFO] [stdout] test init::tests::setup_no_false_diff_empty_collaborators ... ok
[INFO] [stdout] test init::tests::setup_is_idempotent ... ok
[INFO] [stdout] test init::tests::setup_writes_init_files_when_content_differs ... ok
[INFO] [stdout] test git_util::tests::sync_checked_out_worktrees_dirty_skips ... ok
[INFO] [stdout] test prompt::tests::format_provenance_one_fallback ... ok
[INFO] [stdout] test prompt::tests::format_provenance_two_fallbacks ... ok
[INFO] [stdout] test prompt::tests::format_provenance_claude_no_cascade_keywords ... ok
[INFO] [stdout] test prompt::tests::format_provenance_no_fallback ... ok
[INFO] [stdout] test init::tests::setup_manifest_stub_output_messages ... ok
[INFO] [stdout] test recovery::tests::test_default_workflow_merge_failed ... ok
[INFO] [stdout] test recovery::tests::test_is_merge_failure_state_default_workflow ... ok
[INFO] [stderr] From /tmp/.tmp3uZQC1
[INFO] [stderr]    308e3a6..f943dcb  ticket/test-ff -> origin/ticket/test-ff
[INFO] [stdout] test init::tests::setup_no_false_diff_when_collaborators_present ... ok
[INFO] [stdout] test recovery::tests::test_no_merge_transitions ... ok
[INFO] [stdout] test recovery::tests::test_is_merge_failure_state_renamed ... ok
[INFO] [stdout] test recovery::tests::test_renamed_merge_target ... ok
[INFO] [stdout] test recovery::tests::test_shuffled_order_same_classification ... ok
[INFO] [stdout] test review::tests::already_has_section ... ok
[INFO] [stdout] test review::tests::apply_review_trims_trailing_whitespace ... ok
[INFO] [stdout] test review::tests::appends_when_no_anchor ... ok
[INFO] [stdout] test review::tests::available_transitions_fallback_excludes_terminal_and_current ... ok
[INFO] [stdout] test review::tests::extract_spec_with_sentinel ... ok
[INFO] [stdout] test review::tests::extract_spec_without_sentinel_strips_comments ... ok
[INFO] [stdout] test review::tests::inserts_after_out_of_scope ... ok
[INFO] [stdout] test review::tests::inserts_before_history_no_out_of_scope ... ok
[INFO] [stdout] test review::tests::normalize_amendments_converts_plain_bullets ... ok
[INFO] [stdout] test review::tests::normalize_amendments_leaves_checkboxes_unchanged ... ok
[INFO] [stdout] test review::tests::normalize_amendments_leaves_outside_section_unchanged ... ok
[INFO] [stdout] test review::tests::normalize_amendments_no_section_returns_unchanged ... ok
[INFO] [stdout] test review::tests::split_body_history_at_start ... ok
[INFO] [stdout] test review::tests::split_body_no_history ... ok
[INFO] [stdout] test review::tests::split_body_with_history ... ok
[INFO] [stdout] test review::tests::available_transitions_filters_event_triggers ... ok
[INFO] [stdout] test spec::tests::append_section_creates_when_absent ... ok
[INFO] [stdout] test spec::tests::append_section_adds_to_existing ... ok
[INFO] [stdout] test spec::tests::append_section_treats_empty_section_as_absent ... ok
[INFO] [stdout] test spec::tests::apply_section_type_free_unchanged ... ok
[INFO] [stdout] test spec::tests::apply_section_type_qa_prefixes_line ... ok
[INFO] [stdout] test spec::tests::apply_section_type_tasks_leaves_formatted_unchanged ... ok
[INFO] [stdout] test spec::tests::apply_section_type_tasks_wraps_bare_line ... ok
[INFO] [stdout] test spec::tests::get_section_acceptance_criteria_markdown ... ok
[INFO] [stdout] test spec::tests::get_section_case_insensitive ... ok
[INFO] [stdout] test spec::tests::get_section_unknown_returns_none ... ok
[INFO] [stdout] test spec::tests::mark_item_error_ambiguous ... ok
[INFO] [stdout] test spec::tests::get_section_problem ... ok
[INFO] [stdout] test spec::tests::mark_item_error_no_match ... ok
[INFO] [stdout] test spec::tests::mark_item_replaces_unchecked ... ok
[INFO] [stdout] test spec::tests::set_section_amendment_requests_stores_raw ... ok
[INFO] [stdout] test spec::tests::set_section_acceptance_criteria_stores_raw ... ok
[INFO] [stdout] test spec::tests::set_section_problem_case_insensitive ... ok
[INFO] [stdout] test spec::tests::set_section_new_key_appended ... ok
[INFO] [stdout] test start::tests::agent_role_prefix_spec_writer ... ok
[INFO] [stdout] test start::tests::agents_instructions_empty_path_is_no_op ... ok
[INFO] [stdout] test start::tests::agent_role_prefix_worker ... ok
[INFO] [stdout] test start::tests::agents_instructions_none_is_no_op ... ok
[INFO] [stdout] test start::tests::agents_instructions_missing_file_is_hard_error ... ok
[INFO] [stdout] test start::tests::agents_instructions_prepended_with_blank_line ... ok
[INFO] [stdout] test start::tests::agents_instructions_trailing_whitespace_trimmed ... ok
[INFO] [stdout] test init::tests::setup_writes_config_init_when_modified ... ok
[INFO] [stdout] test start::tests::apply_fm_agent_field_wins_when_no_profile_match ... ok
[INFO] [stdout] test start::tests::apply_fm_no_fields_unchanged ... ok
[INFO] [stdout] test start::tests::apply_fm_profile_override_wins ... ok
[INFO] [stdout] test start::tests::apply_fm_profile_override_beats_agent_field ... ok
[INFO] [stdout] test start::tests::apply_profile_manifest_merges_env_and_manifest_wins_on_conflict ... ok
[INFO] [stdout] test start::tests::apply_profile_manifest_noop_when_absent ... ok
[INFO] [stdout] test prompt::tests::explain_prefix_shown ... ok
[INFO] [stdout] test git_util::tests::read_from_branch_with_class_behind_returns_origin_content ... ok
[INFO] [stdout] test start::tests::apply_profile_manifest_overrides_model ... ok
[INFO] [stdout] test start::tests::build_system_prompt_agent_file_takes_precedence_over_claude_fallback ... ok
[INFO] [stdout] test git_util::tests::sync_checked_out_worktrees_temp_only_is_clean ... ok
[INFO] [stdout] test start::tests::build_system_prompt_coder_contains_shell_discipline ... ok
[INFO] [stdout] test start::tests::build_system_prompt_contains_command_reference ... ok
[INFO] [stdout] test start::tests::build_system_prompt_falls_back_to_builtin_default ... ok
[INFO] [stdout] test start::tests::build_system_prompt_errors_for_unknown_agent ... ok
[INFO] [stdout] test start::tests::build_system_prompt_falls_back_to_builtin_spec_writer ... ok
[INFO] [stdout] test start::tests::apm_opt_env_vars_set ... ok
[INFO] [stdout] test start::tests::build_system_prompt_falls_back_to_claude_agent_file ... ok
[INFO] [stdout] test start::tests::build_system_prompt_layer_order ... ok
[INFO] [stdout] test start::tests::build_system_prompt_ticket_id_substituted ... ok
[INFO] [stdout] test start::tests::build_system_prompt_uses_per_agent_file ... ok
[INFO] [stdout] test start::tests::dispatch_ignores_transition_worker_profile ... ok
[INFO] [stdout] test start::tests::dispatch_profile_empty_when_no_workers_default ... ok
[INFO] [stdout] test start::tests::check_output_format_supported_errors_when_flag_absent ... ok
[INFO] [stdout] test start::tests::epic_filter_keeps_only_matching_tickets ... ok
[INFO] [stdout] test start::tests::dispatch_profile_workers_default_fallback ... ok
[INFO] [stdout] test prompt::tests::explain_instructions_is_layer3 ... ok
[INFO] [stdout] test start::tests::load_profile_manifest_errors_on_malformed_toml ... ok
[INFO] [stdout] test start::tests::load_profile_manifest_returns_none_when_absent ... ok
[INFO] [stdout] test start::tests::dispatch_profile_state_wins_over_workers_default ... ok
[INFO] [stdout] test start::tests::mock_happy_spec_mode_transitions_to_specd ... ok
[INFO] [stdout] test start::tests::load_profile_manifest_parses_model ... ok
[INFO] [stdout] test start::tests::claude_wrapper_sets_apm_env_vars ... ok
[INFO] [stdout] test start::tests::mock_sad_seed_reproducibility ... ok
[INFO] [stdout] test start::tests::mock_sad_transitions_to_non_success_state ... ok
[INFO] [stdout] test start::tests::parse_worker_profile_invalid_empty_parts ... ok
[INFO] [stdout] test start::tests::no_epic_filter_keeps_all_tickets ... ok
[INFO] [stdout] test start::tests::parse_worker_profile_valid ... ok
[INFO] [stdout] test start::tests::parse_worker_profile_invalid_no_slash ... ok
[INFO] [stdout] test prompt::tests::explain_agent_role_override ... ok
[INFO] [stdout] test start::tests::project_file_in_layer2 ... ok
[INFO] [stdout] test prompt::tests::explain_level0_wins ... ok
[INFO] [stdout] test start::tests::check_output_format_supported_passes_when_flag_present ... ok
[INFO] [stdout] test start::tests::resolve_worker_profile_inherits_model ... ok
[INFO] [stdout] test start::tests::resolve_worker_profile_inherits_workers_env ... ok
[INFO] [stdout] test prompt::tests::explain_role_file_is_layer1 ... ok
[INFO] [stdout] test git_util::tests::sync_checked_out_worktrees_behind_clean_fast_forwards ... ok
[INFO] [stdout] test start::tests::spawn_worker_cwd_is_ticket_worktree ... ok
[INFO] [stdout] test state::tests::compute_valid_transitions_returns_expected_options ... ok
[INFO] [stdout] test state::tests::compute_valid_transitions_unknown_state_returns_empty ... ok
[INFO] [stdout] test prompt::tests::explain_level2_wins ... ok
[INFO] [stdout] test state::tests::set_merge_notes_inserts_before_history ... ok
[INFO] [stdout] test start::tests::temp_files_removed_after_child_exits ... ok
[INFO] [stdout] test state::tests::set_merge_notes_overwrites_existing_section ... ok
[INFO] [stdout] test state::tests::set_merge_notes_appends_when_no_history ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_history_preserved ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_parse_missing_section_fails_validate ... ok
[INFO] [stdout] test prompt::tests::run_full_contains_both_sections ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_parse_code_review_preserved ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_parse_required_sections ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_parse_unknown_section_preserved ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_validate_no_criteria ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_validate_required_from_config ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_round_trip ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::document_validate_empty_sections ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::frontmatter_agent_omitted_when_unset ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::history_target_states_empty_when_no_history_section ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::frontmatter_agent_round_trip ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::epic_and_depends_on_round_trip ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::history_target_states_skips_header_and_separator ... ok
[INFO] [stdout] test prompt::tests::parity_build_system_prompt_matches_prompt_run ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::history_target_states_parses_to_column ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::normalize_hex_passthrough ... ok
[INFO] [stdout] test prompt::tests::run_message_contains_ticket_id ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::normalize_too_short_errors ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_depends_on_field ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::normalize_integer_pads_to_four ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::normalize_non_hex_errors ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_epic_field ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_integer_id_is_zero_padded ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_missing_opening_delimiter ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_optional_fields_default ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_unclosed_frontmatter ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::prefixes_four_digit_returns_one ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::prefixes_hex_returns_one ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_omits_new_fields ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::prefixes_short_digit_returns_two ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_target_branch_field ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_well_formed ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::resolve_four_digit_prefix ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::serialize_omits_absent_fields ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::serialize_round_trips ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::slugify_basic ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::resolve_ambiguous_prefix_lists_candidates ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::resolve_integer_one_matches_0001 ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::slugify_collapses_separators ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::slugify_truncates_at_40 ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::parse_invalid_toml ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::resolve_short_digit_prefix_unique ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::slugify_special_chars ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::target_branch_round_trips ... ok
[INFO] [stdout] test ticket::ticket_fmt::tests::target_branch_absent_not_added_on_round_trip ... ok
[INFO] [stdout] test start::tests::mock_happy_zero_success_transitions_returns_err ... ok
[INFO] [stdout] test ticket::ticket_util::tests::compute_blocking_deps_all_deps_satisfied_returns_empty ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_fails_when_identity_is_unassigned ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_passes_when_identity_matches_owner ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_passes_when_ticket_has_no_owner ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_both_false ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_bool_true_with_no_gate ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_allows_owner_change_on_non_terminal_state ... ok
[INFO] [stdout] test ticket::ticket_util::tests::compute_blocking_deps_no_depends_on_returns_empty ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_fails_when_identity_does_not_match_owner ... ok
[INFO] [stdout] test prompt::tests::run_full_system_matches_run ... ok
[INFO] [stdout] test ticket::ticket_util::tests::compute_blocking_deps_dep_in_non_terminal_state_returns_it ... ok
[INFO] [stdout] test ticket::ticket_util::tests::check_owner_rejects_owner_change_on_terminal_state ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_satisfies_deps_true ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_tag_no_required_gate_is_false ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_terminal_true ... ok
[INFO] [stdout] test ticket::ticket_util::tests::document_toggle_criterion ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_unknown_state ... ok
[INFO] [stdout] test ticket::ticket_util::tests::dep_satisfied_tag_matches_required_gate ... ok
[INFO] [stdout] test ticket::ticket_util::tests::document_unchecked_tasks ... ok
[INFO] [stdout] test ticket::ticket_util::tests::effective_priority_closed_dependent_excluded ... ok
[INFO] [stdout] test ticket::ticket_util::tests::effective_priority_no_dependents_returns_own ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_author_none ... ok
[INFO] [stdout] test ticket::ticket_util::tests::effective_priority_cycle_does_not_panic ... ok
[INFO] [stdout] test ticket::ticket_util::tests::effective_priority_transitive_elevation ... ok
[INFO] [stdout] test ticket::ticket_util::tests::effective_priority_single_hop_elevation ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_by_epic ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_by_state ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_by_owner ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_mine_or_semantics ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_mine_matches_author ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_by_author ... ok
[INFO] [stdout] test ticket::ticket_util::tests::owner_absent_deserializes_as_none ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_terminal_hidden_by_default ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_mine_matches_owner ... ok
[INFO] [stdout] test ticket::ticket_util::tests::owner_round_trips_through_toml ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_groomed_unblocked_when_dep_specd ... ok
[INFO] [stdout] test ticket::ticket_util::tests::list_filtered_unassigned ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_groomed_unblocked_when_dep_in_progress ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_empty_depends_on_not_blocking ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_returns_ticket_when_dep_satisfied ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_skips_ticket_owned_by_other ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_agent_clear ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_picks_ticket_owned_by_current_user ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_ready_blocked_when_dep_only_specd ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_skips_unowned_ticket_when_owner_filter_set ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_skips_dep_blocked_ticket ... ok
[INFO] [stdout] test ticket::ticket_util::tests::pick_next_unknown_dep_id_not_blocking ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_agent_set ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_author_immutable ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_owner_clear ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_owner_set ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_priority_overflow ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_priority_valid ... ok
[INFO] [stdout] test ticket::ticket_util::tests::set_field_unknown_field ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_includes_unowned_ticket ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_excludes_ticket_owned_by_other ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_includes_ticket_owned_by_caller ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_low_priority_blocker_elevated ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_blocker_before_independent_higher_raw ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_no_deps_unchanged ... ok
[INFO] [stdout] test ticket::ticket_util::tests::sorted_actionable_no_owner_filter_shows_all ... ok
[INFO] [stdout] test validate::tests::audit_workers_default_agent ... ok
[INFO] [stdout] test validate::tests::clear_owner_always_allowed ... ok
[INFO] [stdout] test validate::tests::closed_state_not_flagged_as_unknown ... ok
[INFO] [stdout] test validate::tests::audit_zero_spawn_transitions ... ok
[INFO] [stdout] test validate::tests::audit_no_worker_profiles_no_panic ... ok
[INFO] [stdout] test validate::tests::audit_worker_profile_parsed ... ok
[INFO] [stdout] test validate::tests::audit_default_agent_resolution ... ok
[INFO] [stdout] test validate::tests::context_section_skipped_when_no_sections_defined ... ok
[INFO] [stdout] test validate::tests::completion_pr_with_provider_passes ... ok
[INFO] [stdout] test validate::tests::command_start_missing_worker_profile_rejected ... ok
[INFO] [stdout] test validate::tests::context_section_mismatch_detected ... ok
[INFO] [stdout] test validate::tests::dead_end_non_terminal_not_an_error ... ok
[INFO] [stdout] test validate::tests::correct_config_passes ... ok
[INFO] [stdout] test validate::tests::dead_end_workflow_warning_emitted ... ok
[INFO] [stdout] test validate::tests::default_workflow_passes ... ok
[INFO] [stdout] test validate::tests::completion_pr_without_provider_detected ... ok
[INFO] [stdout] test validate::tests::dep_rules_merge_both_default_branch_ok ... ok
[INFO] [stdout] test validate::tests::dep_rules_pr_or_epic_merge_different_epic_fails ... ok
[INFO] [stdout] test validate::tests::dep_rules_none_rejects_dep ... ok
[INFO] [stdout] test validate::tests::empty_collaborators_skips_validation ... ok
[INFO] [stdout] test validate::tests::dep_rules_pr_or_epic_merge_standalone_ticket_ok ... ok
[INFO] [stdout] test validate::tests::dep_rules_pr_rejects_dep ... ok
[INFO] [stdout] test validate::tests::dep_rules_pr_or_epic_merge_same_epic_ok ... ok
[INFO] [stdout] test validate::tests::dep_rules_merge_different_target_fails ... ok
[INFO] [stdout] test validate::tests::empty_tasks_section_error_uses_section_name ... ok
[INFO] [stdout] test validate::tests::github_mode_clear_owner_accepted ... ok
[INFO] [stdout] test validate::tests::explicit_terminal_transition_rejected ... ok
[INFO] [stdout] test validate::tests::github_mode_known_user_accepted ... ok
[INFO] [stdout] test validate::tests::github_mode_no_collaborators_skips_check ... ok
[INFO] [stdout] test validate::tests::focus_section_mismatch_detected ... ok
[INFO] [stdout] test validate::tests::default_workflow_no_dead_end_warning ... ok
[INFO] [stdout] test start::tests::resolve_for_diagnostic_manifest_absent ... ok
[INFO] [stdout] test validate::tests::github_mode_unknown_user_rejected ... ok
[INFO] [stdout] test start::tests::debug_does_not_change_state ... ok
[INFO] [stdout] test start::tests::resolve_for_diagnostic_override_test ... ok
[INFO] [stdout] test validate::tests::non_github_mode_unknown_user_rejected ... ok
[INFO] [stdout] test validate::tests::merge_targeting_non_terminal_accepted ... ok
[INFO] [stdout] test validate::tests::pr_completion_targeting_terminal_rejected ... ok
[INFO] [stdout] test validate::tests::pr_or_epic_merge_targeting_terminal_rejected ... ok
[INFO] [stdout] test validate::tests::merge_targeting_built_in_closed_rejected ... ok
[INFO] [stdout] [main (root-commit) a56d6f5] add ticket
[INFO] [stdout]  1 file changed, 7 insertions(+)
[INFO] [stdout]  create mode 100644 tickets/abcd1234-t.md
[INFO] [stdout] test start::tests::resolve_for_diagnostic_state_worker_profile_wins ... ok[main (root-commit) a56d6f5] add ticket
[INFO] [stdout]  1 file changed, 7 insertions(+)
[INFO] [stdout]  create mode 100644 tickets/abcd1234-t.md
[INFO] [stdout] 
[INFO] [stdout] test validate::tests::merge_completion_targeting_terminal_rejected ... ok
[INFO] [stdout] test start::tests::resolve_for_diagnostic_workers_default_fallback ... ok
[INFO] [stdout] test validate::tests::strategy_finds_in_progress_to_implemented ... ok
[INFO] [stdout] test validate::tests::strategy_defaults_to_none_when_absent ... ok
[INFO] [stdout] test validate::tests::state_ids_helper ... ok
[INFO] [stdout] test validate::tests::terminal_state_with_transitions_detected ... ok
[INFO] [stdout] test validate::tests::test_on_failure_missing_for_pr_or_epic_merge ... ok
[INFO] [stdout] test validate::tests::test_on_failure_unknown_state ... [main (root-commit) 8617349] add ticket
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stdout] ok
[INFO] [stdout] test validate::tests::test_on_failure_missing_for_merge ... ok
[INFO] [stdout] test validate::tests::ticket_with_unknown_state_detected ... ok
[INFO] [stdout] test validate::tests::transition_to_nonexistent_state_detected ... ok
[INFO] [stdout] test validate::tests::trigger_uniqueness_two_manual_to_same_dest_ok ... ok
[INFO] [stdout] test validate::tests::unknown_user_rejected ... ok
[INFO] [stdout] test validate::tests::trigger_uniqueness_two_command_start_same_dest_ok ... ok
[INFO] [stdout] test validate::tests::test_on_failure_valid ... ok
[INFO] [stdout] test validate::tests::valid_collaborator_accepted ... ok
[INFO] [stdout] test validate::tests::validate_agent_name_accepts_configured_spawn_agent ... ok
[INFO] [stdout] test validate::tests::pre_validation_states_default_workflow ... ok
[INFO] [stdout] test validate::tests::validate_agent_name_accepts_dash_sentinel ... ok
[INFO] [stdout] test validate::tests::validate_agent_name_rejects_unknown ... ok
[INFO] [stdout] test start::tests::resolve_for_diagnostic_non_dispatchable ... ok
[INFO] [stdout] test start::tests::resolve_for_diagnostic_happy_path ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_covered_anchored_no_slash ... ok
[INFO] [stdout] test validate::tests::trigger_uniqueness_command_start_plus_manual_same_dest_rejected ... ok
[INFO] [stdout] test validate::tests::validate_config_external_dotdot_no_check ... ok
[INFO] [stdout] test validate::tests::validate_config_external_absolute_no_check ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_covered_anchored_slash ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_covered_bare ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_covered_unanchored_slash ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_no_false_positive ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_missing_in_repo_wt ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_merge_same_target_ok ... ok
[INFO] [stdout] test validate::tests::validate_config_gitignore_not_covered ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_pr_strategy_rejects_any_dep ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_no_deps_clean ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_pr_or_epic_merge_cross_epic_fails ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_merge_different_target_fails ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_closed_ticket_skipped ... ok
[INFO] [stdout] test ticket::ticket_util::tests::load_from_default_branch_deduplication_in_ctx ... ok
[INFO] [stdout] test validate::tests::validate_warnings_no_container ... ok
[INFO] [stdout] test validate::tests::validate_depends_on_pr_or_epic_merge_same_epic_ok ... ok
[INFO] [stdout] test validate::tests::worker_profile_empty_agent_rejected ... ok
[INFO] [stdout] test validate::tests::worker_profile_empty_role_rejected ... ok
[INFO] [stdout] test ticket::ticket_util::tests::load_from_default_branch_returns_ticket_on_main ... ok
[INFO] [stdout] test validate::tests::validate_warnings_empty_container ... ok
[INFO] [stdout] test ticket::ticket_util::tests::load_from_default_branch_empty_when_dir_missing ... ok
[INFO] [stdout] test validate::tests::worker_profile_no_slash_rejected ... ok
[INFO] [stdout] test validate::tests::worker_profile_reserved_role_rejected ... ok
[INFO] [stdout] test validate::tests::worker_profile_valid_passes ... ok
[INFO] [stdout] test validate::tests::workers_default_absent_fails_validate ... ok
[INFO] [stdout] test validate::tests::workers_default_empty_fails_validate ... ok
[INFO] [stdout] test worker::tests::elapsed_since_invalid_returns_dash ... ok
[INFO] [stdout] test worker::tests::elapsed_since_minutes ... ok
[INFO] [stdout] test worker::tests::elapsed_since_seconds ... ok
[INFO] [stdout] test worker::tests::elapsed_since_hours ... ok
[INFO] [stdout] test work::tests::cancel_flag_stops_loop_immediately ... ok
[INFO] [stdout] [main (root-commit) fc48b7e] init
[INFO] [stdout]  2 files changed, 64 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout]  create mode 100644 .apm/ticket.toml
[INFO] [stdout] test worker::tests::is_alive_returns_false_for_dead_pid ... ok
[INFO] [stdout] test worker::tests::read_pid_file_parses_json ... ok
[INFO] [stdout] test worker::tests::state_is_zombie_empty_is_not_zombie ... ok
[INFO] [stdout] test worker::tests::state_is_zombie_r_is_not_zombie ... ok
[INFO] [stdout] [main (root-commit) fc48b7e] init
[INFO] [stdout]  2 files changed, 64 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout]  create mode 100644 .apm/ticket.toml
[INFO] [stdout] test worker::tests::state_is_zombie_s_is_not_zombie ... ok
[INFO] [stdout] test worker::tests::state_is_zombie_z_is_zombie ... ok
[INFO] [stdout] test worker::tests::state_is_zombie_z_plus_is_zombie ... ok
[INFO] [stdout] test worker::tests::state_is_zombie_z_with_leading_whitespace_is_zombie ... ok
[INFO] [stdout] test worker::tests::is_alive_returns_true_for_current_process ... ok
[INFO] [stdout] [main (root-commit) fc48b7e] init
[INFO] [stdout]  2 files changed, 64 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout]  create mode 100644 .apm/ticket.toml
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] test validate::tests::new_state_ticket_skips_required_section_checks ... ok
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stderr] Switched to a new branch 'ticket/abcd1234-fix-login'
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stderr] Switched to a new branch 'ticket/cafe0001-clean-branch'
[INFO] [stderr] Switched to a new branch 'ticket/deadbeef-orphan'
[INFO] [stdout] test validate::tests::specd_state_ticket_reports_required_section_errors ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::args_always_include_disable_slash_commands ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::args_include_model_flag_when_set ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::args_include_skip_permissions_when_set ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::args_msg_is_last ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::args_omit_model_flag_when_unset ... ok
[INFO] [stdout] test wrapper::builtin::claude::tests::installed_claude_binary_supports_disable_slash_commands ... ok
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] test validate::tests::validate_ticket_agent_not_in_config_is_error ... ok
[INFO] [stdout] test wrapper::builtin::debug::tests::script_emits_one_canonical_event ... ok
[INFO] [stdout] test wrapper::builtin::debug::tests::script_outputs_system_prompt_and_user_message_to_stderr ... ok
[INFO] [stdout] test wrapper::builtin::debug::tests::script_self_cleans_up ... ok
[INFO] [stdout] test wrapper::builtin::debug::tests::script_dumps_apm_env_to_stderr ... ok
[INFO] [stdout] test validate::tests::validate_unknown_frontmatter_agent_is_error ... ok
[INFO] [stdout] test wrapper::builtin::mock_random::tests::pick_transition_idx_stays_in_bounds ... ok
[INFO] [stdout] test wrapper::builtin::tests::happy_script_impl_mode_creates_commit ... ok
[INFO] [stdout] test wrapper::builtin::mock_random::tests::pick_transition_idx_distributes_across_seeds ... ok
[INFO] [stdout] test wrapper::builtin::mock_random::tests::pick_transition_idx_is_deterministic_for_same_seed ... ok
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] test wrapper::builtin::tests::happy_script_includes_target_state_and_id ... ok
[INFO] [stdout] test wrapper::builtin::tests::is_impl_mode_false_when_all_none ... ok
[INFO] [stdout] test wrapper::builtin::tests::happy_script_spec_mode_writes_spec_sections ... ok
[INFO] [stdout] [main (root-commit) 743c1bd] init
[INFO] [stdout]  1 file changed, 23 insertions(+)
[INFO] [stdout]  create mode 100644 .apm/config.toml
[INFO] [stdout] test wrapper::builtin::tests::is_impl_mode_true_when_any_completion_strategy ... ok
[INFO] [stdout] test wrapper::builtin::tests::sad_script_includes_target_state ... ok
[INFO] [stdout] test wrapper::builtin::tests::seed_from_ctx_falls_back_when_no_option ... ok
[INFO] [stdout] test wrapper::custom::tests::check_version_equal ... ok
[INFO] [stdout] test wrapper::builtin::tests::seed_from_ctx_uses_explicit_option ... ok
[INFO] [stdout] test wrapper::custom::tests::check_version_too_high_returns_err ... ok
[INFO] [stdout] test wrapper::custom::tests::default_contract_version_tracks_apm_version ... ok[ticket/abcd1234-fix-login b0e0ed2] spec written
[INFO] [stdout]  1 file changed, 9 insertions(+)
[INFO] [stdout]  create mode 100644 tickets/abcd1234-fix-login-and-stuff.md
[INFO] [stdout] 
[INFO] [stdout] test wrapper::custom::tests::manifest_missing ... ok
[INFO] [stdout] test wrapper::custom::tests::check_version_older_writes_warning ... ok
[INFO] [stdout] test wrapper::custom::tests::manifest_parse_defaults ... ok
[INFO] [stdout] test validate::tests::validate_known_frontmatter_agent_passes ... ok
[INFO] [stdout] test validate::tests::ready_state_ticket_reports_required_section_errors ... ok
[INFO] [stdout] test wrapper::custom::tests::manifest_unknown_keys_detected ... ok
[INFO] [stdout] test wrapper::custom::tests::manifest_parse_valid ... ok
[INFO] [stdout] test wrapper::custom::tests::parser_strategy_defaults_to_canonical ... ok
[INFO] [stdout] test wrapper::custom::tests::parser_strategy_unknown_falls_back_to_canonical ... ok
[INFO] [stdout] test wrapper::custom::tests::parser_strategy_explicit_canonical ... ok
[INFO] [stdout] test wrapper::custom::tests::parser_strategy_external ... ok
[INFO] [stdout] test wrapper::custom::tests::manifest_parse_invalid_toml ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [ticket/deadbeef-orphan e9f13bd] no ticket file
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 dummy.txt
[INFO] [stdout] test wrapper::custom::tests::spawn_external_binary_not_found ... ok
[INFO] [stdout] test wrapper::custom::tests::resolve_wrapper_custom_shadows_builtin ... ok
[INFO] [stdout] test wrapper::custom::tests::resolve_wrapper_fallback_to_builtin ... ok
[INFO] [stdout] test wrapper::custom::tests::resolve_wrapper_missing_returns_none ... ok
[INFO] [stdout] test wrapper::custom::tests::resolve_wrapper_nonexecutable_invisible ... ok
[INFO] [stdout] test wrapper::hook_config::tests::remove_hook_noop_when_no_file ... [ticket/cafe0001-clean-branch 73d0afb] canonical
[INFO] [stdout]  1 file changed, 9 insertions(+)
[INFO] [stdout]  create mode 100644 tickets/cafe0001-clean-branch.md
[INFO] [stdout] ok
[INFO] [stdout] test wrapper::custom::tests::spawn_rejects_contract_version_gt_1 ... ok
[INFO] [stdout] test wrapper::custom::tests::spawn_external_missing_parser_command ... ok
[INFO] [stdout] test validate::tests::validate_unknown_agent_in_overrides_is_error ... ok
[INFO] [stdout] test validate::tests::worktree_present_no_issue ... ok
[INFO] [stdout] test wrapper::hook_config::tests::remove_hook_preserves_other_entries ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_cat_not_detected ... ok
[INFO] [stdout] test wrapper::hook_config::tests::remove_hook_removes_entry ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_cp_dest_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_echo_no_path_not_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_grep_not_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_diff_not_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_ls_not_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_mv_dest_detected ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test wrapper::hook_config::tests::write_hook_creates_file ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_redirect_gt_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_redirect_gtgt_detected ... ok
[INFO] [stdout] test wrapper::hook_config::tests::write_hook_preserves_existing_entries ... ok
[INFO] [stdout] test wrapper::hook_config::tests::write_hook_idempotent ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_tee_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_tee_flag_skipped ... ok
[INFO] [stdout] test worktree::tests::find_worktree_for_branch_skips_main_worktree ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_truncate_detected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::bash_wc_not_detected ... ok
[INFO] [stdout] test validate::tests::worktree_check_skipped_for_other_states ... ok
[INFO] [stdout] test wrapper::path_guard::tests::canonicalize_lenient_absolute_existing ... ok
[INFO] [stdout] test validate::tests::worktree_missing_in_design ... ok
[INFO] [stdout] test wrapper::path_guard::tests::canonicalize_lenient_dotdot_escape_stays_out ... ok
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] test wrapper::path_guard::tests::check_bash_tilde_gitconfig_allowed ... ok
[INFO] [stdout] test wrapper::path_guard::tests::canonicalize_lenient_nonexistent_leaf ... ok
[INFO] [stdout] test wrapper::path_guard::tests::canonicalize_lenient_symlink_inside_worktree_resolves_outside ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_dotdot_escape_rejected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_apm_bin_outside_worktree_rejected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_bash_cat_read_allowed ... ok
[INFO] [stdout] test wrapper::path_guard::tests::canonicalize_lenient_dotdot_inside_existing ... ok
[INFO] [stdout] test wrapper::custom::tests::spawn_external_resolves_parser_command_relative_to_agent_dir ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_bash_redirect_outside_rejected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_bash_redirect_inside_allowed ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_outside_worktree_rejected ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_inside_worktree_allowed ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_claude_returns_some ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_rejection_message_contains_worktree ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_debug_returns_some ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_mock_random_returns_some ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_mock_happy_returns_some ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_mock_sad_returns_some ... ok
[INFO] [stdout] test wrapper::tests::resolve_builtin_unknown_returns_none ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_symlink_to_outside_rejected ... ok
[INFO] [stdout] test wrapper::tests::resolve_cli_bin_from_exe_falls_back_when_no_sibling_apm ... ok
[INFO] [stdout] test wrapper::tests::resolve_cli_bin_from_exe_no_change_when_already_apm ... ok
[INFO] [stdout] test wrapper::path_guard::tests::check_write_protected_inside_worktree_rejected ... ok
[INFO] [stdout] test wrapper::tests::resolve_cli_bin_from_exe_uses_sibling_apm_when_running_as_apm_server ... ok
[INFO] [stdout] test validate::tests::verify_tickets_flags_renamed_ticket_file_on_branch ... ok
[INFO] [stdout] test validate::tests::verify_tickets_quiet_when_branch_file_matches ... ok
[INFO] [stdout] test worktree::tests::provision_worktree_creates_dir_inside_repo ... ok
[INFO] [stdout] test validate::tests::verify_tickets_flags_orphan_branch_with_no_ticket_file ... ok
[INFO] [stdout] test worktree::tests::provision_worktree_honours_external_layout ... ok
[INFO] [stdout] test worker::tests::is_alive_returns_false_for_zombie ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true' (2122) panicked at src/git_util.rs:2714:9:
[INFO] [stdout] assertion failed: is_branch_content_merged(p, "main", "epic/ff000006-feature").unwrap()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ec315787731 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ec315787731 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ec315787731 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ec315787731 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ec3157a06fa - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ec3157a06fa - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5ec31578cf9c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5ec31578cf9c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5ec31575f546 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ec31575f546 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ec31577c7c9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ec315400b90 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5ec315400b90 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5ec31577caf2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5ec31577caf2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5ec31575f624 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x5ec315756339 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ec3157609ad - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5ec3157a0f7c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ec3157a0f42 - core[6883ba1bc0fe4ed1]::panicking::panic
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5ec314b80e8d - apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git_util.rs:2714:9
[INFO] [stdout]   21:     0x5ec314b65217 - apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git_util.rs:2700:73
[INFO] [stdout]   22:     0x5ec314c0db46 - <apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5ec3153f3ecb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5ec3153f3ecb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5ec315401515 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5ec315401515 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5ec315401515 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5ec315401515 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5ec315401515 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5ec315401515 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5ec315401515 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5ec3153fbfc4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5ec3153fbfc4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5ec315404662 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5ec315404662 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5ec315404662 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5ec315404662 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5ec315404662 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5ec315404662 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5ec315404662 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5ec3157862af - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x5ec3157862af - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x7a9d12cdaaa4 - <unknown>
[INFO] [stdout]   44:     0x7a9d12d67a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- git_util::tests::is_branch_content_merged_merged_into_both_returns_true stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'git_util::tests::is_branch_content_merged_merged_into_both_returns_true' (2133) panicked at src/git_util.rs:2695:9:
[INFO] [stdout] assertion failed: is_branch_content_merged(p, "main", "epic/ee000005-feature").unwrap()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ec315787731 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ec315787731 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ec315787731 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ec315787731 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ec3157a06fa - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ec3157a06fa - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5ec31578cf9c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5ec31578cf9c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5ec31575f546 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ec31575f546 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ec31577c7c9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ec315400b90 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5ec315400b90 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5ec31577caf2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5ec31577caf2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5ec31575f624 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x5ec315756339 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ec3157609ad - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5ec3157a0f7c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ec3157a0f42 - core[6883ba1bc0fe4ed1]::panicking::panic
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5ec314b7e167 - apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_merged_into_both_returns_true
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git_util.rs:2695:9
[INFO] [stdout]   21:     0x5ec314b65097 - apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_merged_into_both_returns_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git_util.rs:2681:64
[INFO] [stdout]   22:     0x5ec314c0d946 - <apm_core[4c605a40d52759aa]::git_util::tests::is_branch_content_merged_merged_into_both_returns_true::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5ec3153f3ecb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5ec3153f3ecb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5ec315401515 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5ec315401515 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5ec315401515 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5ec315401515 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5ec315401515 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5ec315401515 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5ec315401515 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5ec3153fbfc4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5ec3153fbfc4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5ec315404662 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5ec315404662 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5ec315404662 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5ec315404662 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5ec315404662 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5ec315404662 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5ec315404662 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5ec3157862af - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x5ec3157862af - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x7a9d12cdaaa4 - <unknown>
[INFO] [stdout]   44:     0x7a9d12d67a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     git_util::tests::is_branch_content_merged_local_merge_origin_behind_returns_true
[INFO] [stdout]     git_util::tests::is_branch_content_merged_merged_into_both_returns_true
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 662 passed; 2 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce", kill_on_drop: false }`
[INFO] [stdout] dba9aba9cacf49eba8a299c351966b8a37681ddd6d6653720605265e54fdfbce
