[INFO] fetching crate ta-changeset 0.17.11-alpha.7...
[INFO] testing ta-changeset-0.17.11-alpha.7 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate ta-changeset 0.17.11-alpha.7 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate ta-changeset 0.17.11-alpha.7
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ta-changeset 0.17.11-alpha.7
[INFO] tweaked toml for crates.io crate ta-changeset 0.17.11-alpha.7 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ta-changeset 0.17.11-alpha.7 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ta-changeset 0.17.11-alpha.7 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | homepage = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 | repository = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ta-changeset` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd
[INFO] running `Command { std: "docker" "start" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", 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" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", 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" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | homepage = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 | repository = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ta-changeset` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling futures-io v0.3.34
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling ref-cast v1.0.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling uuid v1.25.0
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling ref-cast-impl v1.0.27
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[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.45
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ta-changeset v0.17.11-alpha.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", 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" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | homepage = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 | repository = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ta-changeset` (manifest) generated 1 warning
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ta-changeset v0.17.11-alpha.7 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 27.36s
[INFO] running `Command { std: "docker" "inspect" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", 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" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | homepage = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 | repository = "https://github.com/trustedautonomy/ta"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ta-changeset` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/ta-changeset/03392473c13e7f20/out/ta_changeset-03392473c13e7f20)
[INFO] [stdout] 
[INFO] [stdout] running 552 tests
[INFO] [stdout] test artifact_kind::tests::binary_display_label_with_mime ... ok
[INFO] [stdout] test artifact_kind::tests::image_minimal_omits_none_fields ... ok
[INFO] [stdout] test artifact_kind::tests::text_display_label_with_encoding ... ok
[INFO] [stdout] test artifact_kind::tests::binary_display_label_no_mime ... ok
[INFO] [stdout] test artifact_kind::tests::is_text ... ok
[INFO] [stdout] test artifact_kind::tests::image_serialized_has_type_tag ... ok
[INFO] [stdout] test artifact_kind::tests::binary_roundtrip_minimal ... ok
[INFO] [stdout] test artifact_kind::tests::image_roundtrip_full ... ok
[INFO] [stdout] test artifact_kind::tests::binary_serialized_has_type_tag ... ok
[INFO] [stdout] test artifact_kind::tests::display_label_with_format ... ok
[INFO] [stdout] test artifact_kind::tests::video_metadata_summary_non_video_returns_empty ... ok
[INFO] [stdout] test artifact_kind::tests::text_display_label_no_encoding ... ok
[INFO] [stdout] test artifact_kind::tests::text_roundtrip_minimal ... ok
[INFO] [stdout] test artifact_kind::tests::is_image ... ok
[INFO] [stdout] test artifact_kind::tests::image_roundtrip_minimal ... ok
[INFO] [stdout] test artifact_kind::tests::display_label_no_format ... ok
[INFO] [stdout] test artifact_kind::tests::video_display_label_no_format ... ok
[INFO] [stdout] test artifact_kind::tests::video_metadata_summary_empty_fields ... ok
[INFO] [stdout] test artifact_kind::tests::video_display_label_with_format ... ok
[INFO] [stdout] test artifact_kind::tests::video_metadata_summary_full ... ok
[INFO] [stdout] test artifact_kind::tests::video_metadata_summary_partial ... ok
[INFO] [stdout] test artifact_kind::tests::video_minimal_omits_none_fields ... ok
[INFO] [stdout] test artifact_kind::tests::binary_roundtrip_full ... ok
[INFO] [stdout] test artifact_kind::tests::is_video ... ok
[INFO] [stdout] test artifact_kind::tests::text_roundtrip_full ... ok
[INFO] [stdout] test artifact_kind::tests::text_serialized_has_type_tag ... ok
[INFO] [stdout] test artifact_kind::tests::is_binary ... ok
[INFO] [stdout] test artifact_type::tests::built_ins_count ... ok
[INFO] [stdout] test artifact_type::tests::serde_roundtrip_custom ... ok
[INFO] [stdout] test artifact_type::tests::display_custom_type ... ok
[INFO] [stdout] test asset_diff::tests::asset_diff_config_serde_roundtrip ... ok
[INFO] [stdout] test artifact_kind::tests::video_serialized_has_type_tag ... ok
[INFO] [stdout] test asset_diff::tests::asset_diff_config_defaults ... ok
[INFO] [stdout] test asset_diff::tests::diff_summary_from_json_localized ... ok
[INFO] [stdout] test artifact_kind::tests::video_roundtrip_minimal ... ok
[INFO] [stdout] test asset_diff::tests::diff_summary_non_json_fallback ... ok
[INFO] [stdout] test asset_diff::tests::supervisor_confidence_clamped ... ok
[INFO] [stdout] test asset_diff::tests::supervisor_high_confidence_for_match ... ok
[INFO] [stdout] test asset_diff::tests::diff_summary_from_json_tonal ... ok
[INFO] [stdout] test artifact_type::tests::from_str_custom_falls_back ... ok
[INFO] [stdout] test artifact_type::tests::serde_in_vec ... ok
[INFO] [stdout] test artifact_kind::tests::video_roundtrip_full ... ok
[INFO] [stdout] test artifact_type::tests::from_str_builtin ... ok
[INFO] [stdout] test asset_diff::tests::run_asset_diff_skipped_when_disabled ... ok
[INFO] [stdout] test artifact_type::tests::built_ins_none_are_custom ... ok
[INFO] [stdout] test artifact_type::tests::serde_roundtrip_builtin ... ok
[INFO] [stdout] test artifact_type::tests::display_builtin_types ... ok
[INFO] [stdout] test asset_diff::tests::supervisor_low_confidence_for_mismatch ... ok
[INFO] [stdout] test artifact_type::tests::is_custom_builtin_false ... ok
[INFO] [stdout] test asset_diff::tests::visual_diff_renderer_localized_produces_crop ... ok
[INFO] [stdout] test asset_diff::tests::diff_summary_unknown_change_type_falls_back_to_minor ... ok
[INFO] [stdout] test asset_diff::tests::extract_json_from_markdown_fence ... ok
[INFO] [stdout] test channel_registry::tests::build_multi_review_from_route_single ... ok
[INFO] [stdout] test channel_registry::tests::build_review_from_config ... ok
[INFO] [stdout] test channel_registry::tests::build_review_unknown_type_errors ... ok
[INFO] [stdout] test channel_registry::tests::build_multi_review_from_route_multiple ... ok
[INFO] [stdout] test changeset::tests::changeset_hash_is_deterministic ... ok
[INFO] [stdout] test channel_registry::tests::channel_capability_set_defaults ... ok
[INFO] [stdout] test channel_registry::tests::default_ta_config ... ok
[INFO] [stdout] test changeset::tests::changeset_hash_verification ... ok
[INFO] [stdout] test asset_diff::tests::visual_diff_renderer_produces_path ... ok
[INFO] [stdout] test changeset::tests::changeset_serialization_round_trip ... ok
[INFO] [stdout] test channel_registry::tests::load_config_missing_file ... ok
[INFO] [stdout] test channel_registry::tests::channel_routing_config_multi_escalation ... ok
[INFO] [stdout] test changeset::tests::change_kind_serializes_as_snake_case ... ok
[INFO] [stdout] test changeset::tests::changeset_creation_computes_hash ... ok
[INFO] [stdout] test asset_diff::tests::visual_diff_renderer_video_keyframe ... ok
[INFO] [stdout] test channel_registry::tests::channel_routing_config_multi_review ... ok
[INFO] [stdout] test channel_registry::tests::channel_routing_config_single_review ... ok
[INFO] [stdout] test channel_registry::tests::default_registry_has_builtins ... ok
[INFO] [stdout] test channel_registry::tests::webhook_factory_requires_endpoint ... ok
[INFO] [stdout] test diff::tests::unified_diff_serialization_round_trip ... ok
[INFO] [stdout] test coverage::tests::build_plan_heartbeat_gap_item ... ok
[INFO] [stdout] test coverage::tests::token_found_in_diff_no_gap ... ok
[INFO] [stdout] test channel_registry::tests::register_custom_factory ... ok
[INFO] [stdout] test channel_registry::tests::ta_config_deserialization ... ok
[INFO] [stdout] test diff::tests::binary_summary_serialization ... ok
[INFO] [stdout] test coverage::tests::build_plan_heartbeat_verified_item ... ok
[INFO] [stdout] test coverage::tests::token_found_in_source_finds_match ... ok
[INFO] [stdout] test diff_handlers::tests::test_load_config_missing_file ... ok
[INFO] [stdout] test coverage::tests::token_absent_produces_gap ... ok
[INFO] [stdout] test coverage::tests::token_found_in_source_no_match ... ok
[INFO] [stdout] test diff::tests::create_file_serialization ... ok
[INFO] [stdout] test coverage::tests::multiple_items_mixed_coverage ... ok
[INFO] [stdout] test diff_handlers::tests::test_arg_substitution ... ok
[INFO] [stdout] test diff_handlers::tests::test_find_handler ... ok
[INFO] [stdout] test draft_package::tests::artifact_disposition_default_is_pending ... ok
[INFO] [stdout] test diff_handlers::tests::test_pattern_matching ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_flags_credential_like_paths ... ok
[INFO] [stdout] test draft_package::tests::amendment_type_all_variants ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_clean_changeset_scores_zero ... ok
[INFO] [stdout] test draft_package::tests::agent_decision_log_backward_compat ... ok
[INFO] [stdout] test draft_package::tests::agent_decision_log_round_trip ... ok
[INFO] [stdout] test diff_handlers::tests::test_load_config_valid_file ... ok
[INFO] [stdout] test draft_package::tests::artifact_without_new_fields_deserializes_with_defaults ... ok
[INFO] [stdout] test draft_package::tests::artifact_with_explanation_tiers_round_trip ... ok
[INFO] [stdout] test draft_package::tests::artifact_with_disposition_round_trip ... ok
[INFO] [stdout] test draft_package::tests::count_pending_drafts_missing_dir_returns_zero ... ok
[INFO] [stdout] test draft_package::tests::decision_log_confidence_optional ... ok
[INFO] [stdout] test draft_package::tests::artifact_without_amendment_backward_compatible ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_flags_large_changesets ... ok
[INFO] [stdout] test draft_package::tests::count_pending_drafts_ignores_free_text_mentioning_pending_review ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_flags_release_infra_changes ... ok
[INFO] [stdout] test draft_package::tests::change_type_serialization ... ok
[INFO] [stdout] test draft_package::tests::dependency_kind_serialization ... ok
[INFO] [stdout] test draft_package::tests::amendment_record_serialization ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_flags_deletions ... ok
[INFO] [stdout] test draft_package::tests::design_alternative_serialization ... ok
[INFO] [stdout] test draft_package::tests::draft_package_json_contains_required_fields ... ok
[INFO] [stdout] test draft_package::tests::decision_log_entry_backward_compatible ... ok
[INFO] [stdout] test draft_package::tests::decision_log_entry_with_alternatives_considered ... ok
[INFO] [stdout] test draft_package::tests::decision_log_entry_with_context ... ok
[INFO] [stdout] test draft_package::tests::artifact_disposition_serialization ... ok
[INFO] [stdout] test draft_package::tests::artifact_with_amendment_round_trip ... ok
[INFO] [stdout] test draft_package::tests::artifact_without_explanation_tiers_deserializes_correctly ... ok
[INFO] [stdout] test draft_package::tests::count_pending_drafts_counts_draft_and_pending_review_only ... ok
[INFO] [stdout] test draft_package::tests::assess_risk_score_is_capped_at_100 ... ok
[INFO] [stdout] test draft_package::tests::draft_status_closed_applied_externally_serialization ... ok
[INFO] [stdout] test draft_package::tests::draft_status_closed_serialization ... ok
[INFO] [stdout] test draft_package::tests::draft_package_tag_backward_compat ... ok
[INFO] [stdout] test draft_package::tests::draft_package_with_tag_and_vcs ... ok
[INFO] [stdout] test draft_package::tests::draft_status_closed_without_reason ... ok
[INFO] [stdout] test draft_package::tests::draft_package_serialization_round_trip ... ok
[INFO] [stdout] test draft_package::tests::draft_status_closed_deserializes_legacy_json_without_applied_externally_ref ... ok
[INFO] [stdout] test draft_package::tests::draft_status_default_is_draft ... ok
[INFO] [stdout] test draft_package::tests::draft_status_superseded_serialization ... ok
[INFO] [stdout] test draft_package::tests::missing_decisions_suppressed_when_no_artifacts ... ok
[INFO] [stdout] test draft_package::tests::policy_decision_record_backward_compatible ... ok
[INFO] [stdout] test draft_package::tests::draft_status_transitions ... ok
[INFO] [stdout] test draft_package::tests::summary_without_alternatives_backward_compatible ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_ambiguous_tag_errors ... ok
[INFO] [stdout] test draft_package::tests::missing_decisions_suppressed_for_trivial_changes ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_by_8char_shortref_returns_latest ... ok
[INFO] [stdout] test draft_package::tests::explanation_tiers_serialization ... ok
[INFO] [stdout] test draft_package::tests::missing_decisions_fires_for_typescript_and_python ... ok
[INFO] [stdout] test draft_package::tests::is_draft_denied_false_for_non_denied_status_even_with_word_in_prose ... ok
[INFO] [stdout] test draft_resolver::tests::draft_canonical_id_falls_back_to_display_id ... ok
[INFO] [stdout] test draft_package::tests::vcs_tracking_info_serialization_round_trip ... ok
[INFO] [stdout] test draft_package::tests::summary_with_alternatives_round_trip ... ok
[INFO] [stdout] test draft_package::tests::is_draft_denied_false_for_missing_file ... ok
[INFO] [stdout] test draft_resolver::tests::draft_canonical_id_prefers_shortref_seq ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_by_full_uuid ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_by_shortref_seq ... ok
[INFO] [stdout] test draft_package::tests::missing_decisions_suppressed_when_decisions_present ... ok
[INFO] [stdout] test draft_package::tests::decision_log_entry_context_backward_compat ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_by_shortref_seq_second_draft ... ok
[INFO] [stdout] test draft_package::tests::risk_finding_serialization ... ok
[INFO] [stdout] test draft_package::tests::policy_decision_record_with_trace_fields ... ok
[INFO] [stdout] test draft_package::tests::missing_decisions_fires_on_code_changes ... ok
[INFO] [stdout] test draft_package::tests::is_draft_denied_true_for_denied_status ... ok
[INFO] [stdout] test draft_summary::tests::draft_summary_render_markdown_with_decision_log ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_by_uuid_prefix ... ok
[INFO] [stdout] test draft_resolver::tests::resolve_unknown_id_returns_not_found ... ok
[INFO] [stdout] test draft_summary::tests::draft_summary_serializes_without_empty_fields ... ok
[INFO] [stdout] test draft_summary::tests::draft_summary_default_empty ... ok
[INFO] [stdout] test draft_summary::tests::draft_summary_round_trip ... ok
[INFO] [stdout] test explanation::tests::find_for_file_returns_none_when_missing ... ok
[INFO] [stdout] test explanation::tests::into_tiers_normalizes_uris ... ok
[INFO] [stdout] test draft_summary::tests::file_diff_with_what_renders_correctly ... ok
[INFO] [stdout] test explanation::tests::invalid_yaml_returns_error ... ok
[INFO] [stdout] test explanation::tests::find_for_file_returns_sidecar_when_present ... ok
[INFO] [stdout] test draft_summary::tests::draft_summary_render_markdown_includes_all_sections ... ok
[INFO] [stdout] test interaction::tests::notification_creation ... ok
[INFO] [stdout] test interaction::tests::interaction_request_display ... ok
[INFO] [stdout] test interaction::tests::interaction_request_with_metadata ... ok
[INFO] [stdout] test interaction::tests::interaction_response_creation ... ok
[INFO] [stdout] test interaction::tests::notification_serialization_round_trip ... ok
[INFO] [stdout] test interaction::tests::interaction_kind_custom ... ok
[INFO] [stdout] test explanation::tests::parse_valid_yaml ... ok
[INFO] [stdout] test interaction::tests::channel_capabilities_defaults ... ok
[INFO] [stdout] test interaction::tests::interaction_response_serialization_round_trip ... ok
[INFO] [stdout] test interaction::tests::interaction_request_creation ... ok
[INFO] [stdout] test explanation::tests::parse_minimal_yaml ... ok
[INFO] [stdout] test interaction::tests::decision_display ... ok
[INFO] [stdout] test interactive_session_store::tests::delete_removes_session ... ok
[INFO] [stdout] test interaction::tests::plan_negotiation_request ... ok
[INFO] [stdout] test interaction::tests::escalation_request ... ok
[INFO] [stdout] test interaction::tests::interaction_request_serialization_round_trip ... ok
[INFO] [stdout] test interactive_session_store::tests::exists_returns_false_for_nonexistent ... ok
[INFO] [stdout] test multi_channel::tests::multi_channel_first_response ... ok
[INFO] [stdout] test multi_channel::tests::capabilities_merge ... ok
[INFO] [stdout] test interactive_session_store::tests::find_active_for_goal_returns_matching ... ok
[INFO] [stdout] test interactive_session_store::tests::save_and_load_session ... ok
[INFO] [stdout] test interactive_session_store::tests::find_active_for_goal_returns_none_when_completed ... ok
[INFO] [stdout] test interactive_session_store::tests::list_sessions_returns_all ... ok
[INFO] [stdout] test milestone_draft::tests::milestone_draft_roundtrip_json ... ok
[INFO] [stdout] test interactive_session_store::tests::load_nonexistent_returns_error ... ok
[INFO] [stdout] test milestone_draft::tests::milestone_draft_save_load ... ok
[INFO] [stdout] test interactive_session_store::tests::list_alive_filters_completed ... ok
[INFO] [stdout] test multi_channel::tests::inner_channel_ids ... ok
[INFO] [stdout] test multi_channel::tests::notify_fans_out ... ok
[INFO] [stdout] test multi_channel::tests::multi_channel_quorum ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_set_summary_single ... ok
[INFO] [stdout] test multi_channel::tests::single_channel_passthrough ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_full_view_shows_mime ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_full_view_suppresses_diff ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_set_summary_with_sizes ... ok
[INFO] [stdout] test output_renderers::html::tests::html_contains_details_for_collapsible_files ... ok
[INFO] [stdout] test multi_channel::tests::strategy_accessor ... ok
[INFO] [stdout] test output_renderers::html::tests::css_includes_discuss_status_class ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_set_summary_unknown_size ... ok
[INFO] [stdout] test output_renderers::html::tests::disposition_badge_renders_all_variants ... ok
[INFO] [stdout] test output_renderers::html::tests::html_output_includes_disposition_badges ... ok
[INFO] [stdout] test output_renderers::terminal::tests::binary_artifact_set_summary_empty ... ok
[INFO] [stdout] test output_renderers::json::tests::renders_valid_json ... ok
[INFO] [stdout] test output_renderers::html::tests::html_agent_decision_log_renders_details ... ok
[INFO] [stdout] test output_renderers::terminal::tests::file_filter_glob_match ... ok
[INFO] [stdout] test output_renderers::terminal::tests::format_byte_size_gb ... ok
[INFO] [stdout] test output_renderers::terminal::tests::format_byte_size_bytes ... ok
[INFO] [stdout] test output_renderers::terminal::tests::image_artifact_set_summary_empty ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_design_decisions ... ok
[INFO] [stdout] test output_renderers::terminal::tests::image_artifact_set_summary_single_frame ... ok
[INFO] [stdout] test output_renderers::terminal::tests::image_artifact_set_summary_multiple_frames ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_agent_decision_log_with_context ... ok
[INFO] [stdout] test output_renderers::terminal::tests::file_filter_unmatched_returns_error ... ok
[INFO] [stdout] test output_renderers::terminal::tests::format_byte_size_kb ... ok
[INFO] [stdout] test output_renderers::terminal::tests::file_filter_no_match_returns_error ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_agent_decision_log ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_grouped_changes_by_module ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_medium_level ... ok
[INFO] [stdout] test output_renderers::terminal::tests::format_byte_size_mb ... ok
[INFO] [stdout] test output_renderers::terminal::tests::file_filter_works ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_agent_decision_log_empty ... ok
[INFO] [stdout] test output_renderers::terminal::tests::image_artifact_full_view_suppresses_diff ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_no_design_decisions_when_empty ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_top_level ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_medium_shows_artifacts_section ... ok
[INFO] [stdout] test output_renderers::terminal::tests::section_filter_files ... ok
[INFO] [stdout] test output_renderers::terminal::tests::render_with_color ... ok
[INFO] [stdout] test output_renderers::terminal::tests::video_artifact_full_view_suppresses_diff ... ok
[INFO] [stdout] test output_renderers::terminal::tests::section_filter_summary ... ok
[INFO] [stdout] test output_renderers::terminal::tests::video_artifact_set_summary_multiple ... ok
[INFO] [stdout] test output_renderers::terminal::tests::strip_html_removes_tags ... ok
[INFO] [stdout] test output_renderers::terminal::tests::strip_html_sanitizes_summary_fields ... ok
[INFO] [stdout] test output_renderers::terminal::tests::text_artifact_full_view_renders_diff ... ok
[INFO] [stdout] test output_renderers::terminal::tests::text_artifact_set_summary_empty ... ok
[INFO] [stdout] test output_renderers::terminal::tests::text_artifact_set_summary_multiple ... ok
[INFO] [stdout] test output_renderers::terminal::tests::section_filter_decisions ... ok
[INFO] [stdout] test output_renderers::terminal::tests::strip_html_preserves_code_placeholders ... ok
[INFO] [stdout] test output_renderers::terminal::tests::video_artifact_set_summary_no_metadata ... ok
[INFO] [stdout] test output_renderers::terminal::tests::terminal_output_contains_no_html_tags ... ok
[INFO] [stdout] test output_renderers::terminal::tests::text_artifact_set_summary_single ... ok
[INFO] [stdout] test output_renderers::terminal::tests::video_artifact_set_summary_empty ... ok
[INFO] [stdout] test output_renderers::terminal::tests::video_artifact_set_summary_single ... ok
[INFO] [stdout] test output_renderers::tests::detail_level_display ... ok
[INFO] [stdout] test plan_merge::tests::agent_inserted_sub_phase_not_in_base_or_source ... ok
[INFO] [stdout] test plan_merge::tests::agent_adds_new_phase_source_items_intact ... ok
[INFO] [stdout] test plan_merge::tests::agent_strips_items_source_items_preserved ... ok
[INFO] [stdout] test output_renderers::tests::output_format_display ... ok
[INFO] [stdout] test plan_merge::tests::agent_checked_items_preserved_in_merge ... ok
[INFO] [stdout] test output_renderers::tests::output_format_from_str ... ok
[INFO] [stdout] test plan_merge::tests::auto_correct_leaves_pending_phase_alone ... ok
[INFO] [stdout] test plan_merge::tests::check_consistency_clean_done_phase ... ok
[INFO] [stdout] test output_renderers::tests::detail_level_from_str ... ok
[INFO] [stdout] test plan_merge::tests::auto_correct_no_change_when_clean ... ok
[INFO] [stdout] test plan_merge::tests::phase_has_unchecked_items_false_when_all_checked ... ok
[INFO] [stdout] test plan_merge::tests::check_consistency_counts_multiple_unchecked ... ok
[INFO] [stdout] test plan_merge::tests::check_consistency_pending_phase_ignored ... ok
[INFO] [stdout] test plan_merge::tests::both_changed_same_status_conflict ... ok
[INFO] [stdout] test plan_merge::tests::agent_completed_phase ... ok
[INFO] [stdout] test plan_merge::tests::auto_correct_fixes_unchecked_in_done_phase ... ok
[INFO] [stdout] test plan_merge::tests::checkbox_union_either_side_checked_wins ... ok
[INFO] [stdout] test plan_merge::tests::check_consistency_detects_unchecked_in_done ... ok
[INFO] [stdout] test plan_merge::tests::phase_has_unchecked_items_false_when_phase_not_found ... ok
[INFO] [stdout] test plan_merge::tests::phase_has_unchecked_items_matches_id_without_leading_v ... ok
[INFO] [stdout] test plan_merge::tests::validate_clean_merge_passes ... ok
[INFO] [stdout] test plan_merge::tests::validate_missing_heading_fails ... ok
[INFO] [stdout] test plugin::tests::discover_agent_plugins_empty ... ok
[INFO] [stdout] test plugin::tests::agent_plugin_manifest_default_version ... ok
[INFO] [stdout] test plan_merge::tests::count_headings_and_markers ... ok
[INFO] [stdout] test plan_merge::tests::debug_repro_v17_10_3_item2_scenario ... ok
[INFO] [stdout] test plan_merge::tests::validate_missing_status_marker_fails ... ok
[INFO] [stdout] test plan_merge::tests::item_text_conflict_reported ... ok
[INFO] [stdout] test plugin::tests::http_requires_deliver_url ... ok
[INFO] [stdout] test plan_merge::tests::phase_has_unchecked_items_true_for_bullet_style ... ok
[INFO] [stdout] test plan_merge::tests::source_updated_status_staging_did_not ... ok
[INFO] [stdout] test plan_merge::tests::staging_identical_to_source_result_equals_source ... ok
[INFO] [stdout] test plugin::tests::discover_plugins_empty_dir ... ok
[INFO] [stdout] test plugin::tests::discover_agent_plugins_finds_installed_plugin ... ok
[INFO] [stdout] test plugin::tests::load_manifest_invalid_toml ... ok
[INFO] [stdout] test plugin::tests::load_manifest_not_found ... ok
[INFO] [stdout] test plugin::tests::manifest_with_args ... ok
[INFO] [stdout] test plugin::tests::discover_plugins_in_directory ... ok
[INFO] [stdout] test plugin::tests::manifest_with_build_command ... ok
[INFO] [stdout] test plugin::tests::install_and_remove_agent_plugin ... ok
[INFO] [stdout] test plugin::tests::manifest_without_build_command ... ok
[INFO] [stdout] test plugin::tests::parse_agent_plugin_manifest ... ok
[INFO] [stdout] test plugin::tests::json_stdio_requires_command ... ok
[INFO] [stdout] test plugin::tests::plugin_source_display ... ok
[INFO] [stdout] test plugin::tests::parse_http_manifest ... ok
[INFO] [stdout] test plugin::tests::discover_plugins_skips_invalid ... ok
[INFO] [stdout] test plugin::tests::load_agent_plugin_manifest_requires_agent_type ... ok
[INFO] [stdout] test plugin::tests::load_agent_plugin_manifest_accepts_agent_type ... ok
[INFO] [stdout] test plugin::tests::install_plugin_to_project ... ok
[INFO] [stdout] test plugin::tests::plugin_error_display ... ok
[INFO] [stdout] test plan_merge::tests::validate_blank_section_body_fails ... ok
[INFO] [stdout] test plugin::tests::load_manifest_from_file ... ok
[INFO] [stdout] test plugin::tests::default_values ... ok
[INFO] [stdout] test plan_merge::tests::phase_has_unchecked_items_true_for_numbered_style ... ok
[INFO] [stdout] test plugin_resolver::tests::resolve_report_methods ... ok
[INFO] [stdout] test plugin_resolver::tests::sha256_verification ... ok
[INFO] [stdout] test plugin::tests::remove_agent_plugin_not_installed ... ok
[INFO] [stdout] test plugin_resolver::tests::check_requirements_optional_not_reported ... ok
[INFO] [stdout] test plugin_resolver::tests::build_from_source_no_toolchain ... ok
[INFO] [stdout] test plugin_resolver::tests::resolve_report_all_ok ... ok
[INFO] [stdout] test project_manifest::tests::exists_check ... ok
[INFO] [stdout] test project_manifest::tests::load_not_found ... ok
[INFO] [stdout] test project_manifest::tests::load_invalid_toml ... ok
[INFO] [stdout] test project_manifest::tests::manifest_error_display ... ok
[INFO] [stdout] test project_manifest::tests::manifest_no_plugins ... ok
[INFO] [stdout] test project_manifest::tests::parse_source_schemes ... ok
[INFO] [stdout] test project_manifest::tests::invalid_source_scheme ... ok
[INFO] [stdout] test project_manifest::tests::parse_minimal_manifest ... ok
[INFO] [stdout] test project_manifest::tests::parse_full_manifest ... ok
[INFO] [stdout] test project_manifest::tests::validate_rejects_bad_version ... ok
[INFO] [stdout] test project_manifest::tests::version_satisfies_check ... ok
[INFO] [stdout] test project_manifest::tests::load_from_file ... ok
[INFO] [stdout] test project_manifest::tests::validate_accepts_good_version ... ok
[INFO] [stdout] test project_manifest::tests::required_plugins_filter ... ok
[INFO] [stdout] test registry_client::tests::cache_expired ... ok
[INFO] [stdout] test plugin::tests::parse_json_stdio_manifest ... ok
[INFO] [stdout] test plugin::tests::plugin_protocol_display ... ok
[INFO] [stdout] test registry_client::tests::cache_validity ... ok
[INFO] [stdout] test project_manifest::tests::version_comparison ... ok
[INFO] [stdout] test registry_client::tests::detect_platform_returns_known_format ... ok
[INFO] [stdout] test registry_client::tests::github_release_url_format ... ok
[INFO] [stdout] test registry_client::tests::resolve_latest_version ... ok
[INFO] [stdout] test registry_client::tests::parse_registry_index ... ok
[INFO] [stdout] test registry_client::tests::registry_error_display ... ok
[INFO] [stdout] test plugin_resolver::tests::check_requirements_all_installed ... ok
[INFO] [stdout] test plugin_resolver::tests::check_requirements_missing_plugin ... ok
[INFO] [stdout] test registry_client::tests::resolve_platform_not_available ... ok
[INFO] [stdout] test registry_client::tests::resolve_plugin_not_found ... ok
[INFO] [stdout] test review_channel::tests::review_channel_config_defaults ... ok
[INFO] [stdout] test review_channel::tests::review_channel_error_display ... ok
[INFO] [stdout] test review_report::tests::is_planmd_only_draft_detects_single_planmd ... ok
[INFO] [stdout] test review_report::tests::is_planmd_only_draft_rejects_mixed ... ok
[INFO] [stdout] test review_report::tests::verdict_warn_functional_recommends_deny ... ok
[INFO] [stdout] test review_report::tests::is_tests_docs_item_matches_keywords ... ok
[INFO] [stdout] test registry_client::tests::resolve_version_not_found ... ok
[INFO] [stdout] test review_report::tests::is_tests_docs_item_rejects_functional ... ok
[INFO] [stdout] test review_report::tests::reviewer_passes_planmd_only_when_source_verified ... ok
[INFO] [stdout] test review_report::tests::verdict_warn_tests_docs_only_recommends_apply_then_followup ... ok
[INFO] [stdout] test review_channel::tests::review_channel_config_display ... ok
[INFO] [stdout] test review_report::tests::reviewer_flag_unchanged_with_no_prior_denial ... ok
[INFO] [stdout] test review_report::tests::reviewer_downgrade_flag_to_warn_on_prior_denial ... ok
[INFO] [stdout] test review_report::tests::verdict_pass_recommends_apply ... ok
[INFO] [stdout] test review_channel::tests::review_channel_config_serialization ... ok
[INFO] [stdout] test plugin_resolver::tests::check_requirements_version_too_low ... ok
[INFO] [stdout] test review_session::tests::artifacts_with_disposition_filters_correctly ... ok
[INFO] [stdout] test review_report::tests::verdict_header_includes_phase_id ... ok
[INFO] [stdout] test review_session::tests::add_comment_creates_artifact_review ... ok
[INFO] [stdout] test review_session::tests::comment_thread_tracks_multiple_comments ... ok
[INFO] [stdout] test review_session::tests::finish_sets_state_to_completed ... ok
[INFO] [stdout] test review_session::tests::review_reasoning_serialization ... ok
[INFO] [stdout] test review_session::tests::session_serialization_round_trip ... ok
[INFO] [stdout] test secret_scan::tests::angle_bracket_placeholder_is_doc_example ... ok
[INFO] [stdout] test review_session::tests::new_session_has_active_state ... ok
[INFO] [stdout] test review_session::tests::has_unresolved_discuss_returns_true_when_discuss_items_exist ... ok
[INFO] [stdout] test review_session_store::tests::find_active_for_draft_returns_active_session ... ok
[INFO] [stdout] test review_session_store::tests::delete_removes_session ... ok
[INFO] [stdout] test review_session_store::tests::exists_returns_false_for_nonexistent_session ... ok
[INFO] [stdout] test secret_scan::tests::doc_example_exact_short_placeholder_is_still_doc ... ok
[INFO] [stdout] test secret_scan::tests::ellipsis_placeholder_is_doc_example ... ok
[INFO] [stdout] test review_session_store::tests::find_active_for_draft_returns_none_when_no_active ... ok
[INFO] [stdout] test review_session::tests::disposition_counts_are_accurate ... ok
[INFO] [stdout] test secret_scan::tests::entropy_of_random_string_is_high ... ok
[INFO] [stdout] test secret_scan::tests::entropy_of_repeated_char_is_zero ... ok
[INFO] [stdout] test review_session::tests::comment_with_reasoning_round_trip ... ok
[INFO] [stdout] test review_session::tests::set_disposition_updates_review ... ok
[INFO] [stdout] test review_session::tests::has_unresolved_discuss_returns_false_when_no_discuss_items ... ok
[INFO] [stdout] test review_session_store::tests::list_sessions_returns_all ... ok
[INFO] [stdout] test secret_scan::tests::doc_example_does_not_bypass_on_short_placeholder_substring ... ok
[INFO] [stdout] test secret_scan::tests::doc_example_does_not_bypass_via_unrelated_line_pattern ... ok
[INFO] [stdout] test review_session_store::tests::save_and_load_session ... ok
[INFO] [stdout] test review_session::tests::comment_without_reasoning_backward_compatible ... ok
[INFO] [stdout] test secret_scan::tests::ignored_path_is_skipped ... ok
[INFO] [stdout] test session_channel::tests::abort_from_paused ... ok
[INFO] [stdout] test session_channel::tests::abort_from_active ... ok
[INFO] [stdout] test secret_scan::tests::real_credential_action_parses ... ok
[INFO] [stdout] test session_channel::tests::add_draft_deduplicates ... ok
[INFO] [stdout] test session_channel::tests::elapsed_display_formatting ... ok
[INFO] [stdout] test session_channel::tests::human_input_display ... ok
[INFO] [stdout] test session_channel::tests::interactive_config_defaults ... ok
[INFO] [stdout] test session_channel::tests::interactive_config_from_yaml ... ok
[INFO] [stdout] test session_channel::tests::invalid_transition_returns_error ... ok
[INFO] [stdout] test session_channel::tests::human_input_serialization_round_trip ... ok
[INFO] [stdout] test session_channel::tests::log_message_adds_to_history ... ok
[INFO] [stdout] test session_channel::tests::new_interactive_session_is_active ... ok
[INFO] [stdout] test session_channel::tests::session_event_display ... ok
[INFO] [stdout] test session_channel::tests::session_event_serialization_round_trip ... ok
[INFO] [stdout] test secret_scan::tests::slack_token_is_real_credential ... ok
[INFO] [stdout] test session_channel::tests::session_serialization_round_trip ... ok
[INFO] [stdout] test secret_scan::tests::github_pat_is_real_credential ... ok
[INFO] [stdout] test secret_scan::tests::finding_includes_correct_line_number ... ok
[INFO] [stdout] test secret_scan::tests::finds_private_key_pem ... ok
[INFO] [stdout] test secret_scan::tests::low_entropy_generic_is_ambiguous ... ok
[INFO] [stdout] test secret_scan::tests::clean_text_produces_no_findings ... ok
[INFO] [stdout] test secret_scan::tests::finds_aws_key ... ok
[INFO] [stdout] test secret_scan::tests::anthropic_key_is_real_credential ... ok
[INFO] [stdout] test secret_scan::tests::legacy_scan_filters_doc_examples ... ok
[INFO] [stdout] test secret_scan::tests::slack_doc_placeholder_is_doc_example ... ok
[INFO] [stdout] test sources::tests::cache_get_missing_returns_none ... ok
[INFO] [stdout] test sources::tests::display_round_trip ... ok
[INFO] [stdout] test sources::tests::fetch_url_github_custom ... ok
[INFO] [stdout] test session_channel::tests::valid_transitions ... ok
[INFO] [stdout] test session_channel::tests::output_stream_display ... ok
[INFO] [stdout] test sources::tests::fetch_url_github_defaults ... ok
[INFO] [stdout] test sources::tests::fetch_url_registry ... ok
[INFO] [stdout] test sources::tests::lockfile_load_missing_returns_empty ... ok
[INFO] [stdout] test sources::tests::parse_github_with_path ... ok
[INFO] [stdout] test sources::tests::parse_github_simple ... ok
[INFO] [stdout] test sources::tests::external_source_json_serde ... ok
[INFO] [stdout] test sources::tests::cache_remove_missing_returns_false ... ok
[INFO] [stdout] test sources::tests::parse_url_http ... ok
[INFO] [stdout] test sources::tests::package_manifest_yaml_round_trip ... ok
[INFO] [stdout] test sources::tests::parse_github_with_path_and_ref ... ok
[INFO] [stdout] test sources::tests::parse_github_with_ref ... ok
[INFO] [stdout] test sources::tests::parse_registry_source ... ok
[INFO] [stdout] test secret_scan::tests::high_entropy_generic_is_real_or_ambiguous ... ok
[INFO] [stdout] test sources::tests::cache_store_get_list_remove ... ok
[INFO] [stdout] test sources::tests::lockfile_add_get_remove ... ok
[INFO] [stdout] test sources::tests::lockfile_save_load_round_trip ... ok
[INFO] [stdout] test sources::tests::parse_invalid_returns_error ... ok
[INFO] [stdout] test supervisor::tests::test_discuss_blocking_approval ... ok
[INFO] [stdout] test supervisor::tests::test_diamond_dependency ... ok
[INFO] [stdout] test supervisor::tests::test_no_warning_when_consistent ... ok
[INFO] [stdout] test supervisor::tests::test_mixed_dispositions ... ok
[INFO] [stdout] test sources::tests::sha256_and_verify ... ok
[INFO] [stdout] test supervisor::tests::test_plan_validation_empty_artifacts ... ok
[INFO] [stdout] test supervisor::tests::apply_artifact_consistency_gate_downgrades_pass_to_warn ... ok
[INFO] [stdout] test supervisor::tests::apply_artifact_consistency_gate_leaves_consistent_pass_untouched ... ok
[INFO] [stdout] test supervisor::tests::test_self_dependency_error ... ok
[INFO] [stdout] test supervisor::tests::test_transitive_dependency_chain ... ok
[INFO] [stdout] test supervisor::tests::test_plan_validation_all_described ... ok
[INFO] [stdout] test supervisor::tests::test_coupled_rejection_warning ... ok
[INFO] [stdout] test supervisor::tests::test_plan_validation_described_artifacts ... ok
[INFO] [stdout] test supervisor::tests::test_plan_validation_undescribed_artifacts ... ok
[INFO] [stdout] test supervisor_review::tests::compute_confidence_clamped_to_unit_interval ... ok
[INFO] [stdout] test supervisor_review::tests::compute_confidence_warn_lower_than_pass ... ok
[INFO] [stdout] test supervisor_review::tests::test_build_supervisor_prompt_empty_files ... ok
[INFO] [stdout] test supervisor_review::tests::compute_confidence_degrades_with_findings_and_scope ... ok
[INFO] [stdout] test sources::tests::parse_url_https ... ok
[INFO] [stdout] test supervisor_review::tests::compute_confidence_pass_clean_is_high ... ok
[INFO] [stdout] test supervisor_review::tests::fallback_review_has_low_confidence ... ok
[INFO] [stdout] test supervisor::tests::untracked_dependency_targets_flags_missing_artifact ... ok
[INFO] [stdout] test supervisor::tests::untracked_dependency_targets_empty_when_all_tracked ... ok
[INFO] [stdout] test supervisor_review::tests::test_build_supervisor_prompt_includes_constitution ... ok
[INFO] [stdout] test supervisor_review::tests::test_build_supervisor_prompt_no_constitution ... ok
[INFO] [stdout] test supervisor_review::tests::test_build_supervisor_prompt_includes_file_inspection_instruction ... ok
[INFO] [stdout] test supervisor::tests::test_cycle_detection ... ok
[INFO] [stdout] test supervisor_review::tests::test_extract_claude_stream_json_fallback_to_assistant ... ok
[INFO] [stdout] test supervisor_review::tests::test_extract_claude_stream_json_result_event ... ok
[INFO] [stdout] test supervisor_review::tests::test_extract_json_backtick_block ... ok
[INFO] [stdout] test supervisor::tests::test_dependency_graph_simple ... ok
[INFO] [stdout] test supervisor::tests::test_empty_artifacts ... ok
[INFO] [stdout] test supervisor::tests::test_disconnected_subgraphs ... ok
[INFO] [stdout] test supervisor_review::tests::test_hedging_quality_gate_no_fire_on_clean_findings ... ok
[INFO] [stdout] test supervisor::tests::test_all_approved_no_dependencies ... ok
[INFO] [stdout] test supervisor::tests::test_depended_by_relationship ... ok
[INFO] [stdout] test supervisor_review::tests::test_extract_json_plain ... ok
[INFO] [stdout] test supervisor_review::tests::test_fallback_supervisor_review_structure ... ok
[INFO] [stdout] test supervisor_review::tests::test_build_supervisor_prompt_includes_objective ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_content_block_stop_ignores_other_types ... ok
[INFO] [stdout] test supervisor_review::tests::test_hedging_quality_gate_preserves_block_verdict ... ok
[INFO] [stdout] test supervisor_review::tests::test_active_streaming_not_killed ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_hook_json_line_detects_system_type ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_hook_json_line_ignores_non_json_braces ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_hook_json_line_ignores_non_system_type ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_hook_json_line_ignores_plain_text ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_thinking_block_start_detects_thinking ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_content_block_stop_detects_stop ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_thinking_block_start_ignores_non_json ... ok
[INFO] [stdout] test supervisor_review::tests::test_is_thinking_block_start_ignores_text_block ... ok
[INFO] [stdout] test supervisor_review::tests::test_fallback_review_no_api_key_message ... ok
[INFO] [stdout] test supervisor_review::tests::test_invoke_supervisor_agent_api_key_preflight_fails ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_markdown_wrapped ... ok
[INFO] [stdout] test supervisor_review::tests::test_hedging_quality_gate_fires_on_hedging_phrase ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_block ... ok
[INFO] [stdout] test supervisor_review::tests::test_hook_json_line_filtered_from_output ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_or_text_structured_json ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_with_findings ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_unknown_verdict_falls_back_to_warn ... ok
[INFO] [stdout] test supervisor_review::tests::test_heartbeat_written_per_chunk ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_pass ... ok
[INFO] [stdout] test supervisor_review::tests::test_supervisor_verdict_display ... ok
[INFO] [stdout] test supervisor_review::tests::test_supervisor_verdict_serde ... ok
[INFO] [stdout] test supervisor_review::tests::test_timeout_secs_field_preserved ... ok
[INFO] [stdout] test supervisor_review::tests::test_supervisor_run_config_agent_profile_field ... ok
[INFO] [stdout] test supervisor_review::tests::test_claude_cli_supervisor_passes_verbose_flag ... ok
[INFO] [stdout] test supervisor_review::tests::test_enable_hooks_true_does_not_set_disable_env ... ok
[INFO] [stdout] test supervisor_review::tests::test_with_stall_retry_succeeds_on_first_try ... ok
[INFO] [stdout] test terminal_channel::tests::approve_draft_review ... ok
[INFO] [stdout] test terminal_channel::tests::auto_approve_channel_approves_all ... ok
[INFO] [stdout] test terminal_channel::tests::auto_approve_channel_notify_is_noop ... ok
[INFO] [stdout] test terminal_channel::tests::channel_capabilities ... ok
[INFO] [stdout] test terminal_channel::tests::channel_id_returns_configured_id ... ok
[INFO] [stdout] test terminal_channel::tests::discuss_response ... ok
[INFO] [stdout] test terminal_channel::tests::empty_input_is_error ... ok
[INFO] [stdout] test terminal_channel::tests::eof_is_channel_closed ... ok
[INFO] [stdout] test terminal_channel::tests::notify_renders_to_output ... ok
[INFO] [stdout] test terminal_channel::tests::notify_warning_prefix ... ok
[INFO] [stdout] test terminal_channel::tests::parse_decision_variants ... ok
[INFO] [stdout] test terminal_channel::tests::reject_shorthand ... ok
[INFO] [stdout] test terminal_channel::tests::reject_with_reason ... ok
[INFO] [stdout] test terminal_channel::tests::renders_draft_review_output ... ok
[INFO] [stdout] test terminal_channel::tests::renders_plan_negotiation ... ok
[INFO] [stdout] test terminal_channel::tests::skip_response ... ok
[INFO] [stdout] test terminal_channel::tests::yes_is_approve ... ok
[INFO] [stdout] test tool_classify::tests::external_patterns_classified_external_side_effect ... ok
[INFO] [stdout] test supervisor_review::tests::test_disable_hooks_env_var_set_when_enable_hooks_false ... ok
[INFO] [stdout] test tool_classify::tests::irreversible_patterns_classified_irreversible ... ok
[INFO] [stdout] test tool_classify::tests::unknown_tool_is_unclassified ... ok
[INFO] [stdout] test tool_classify::tests::write_pattern_classified_state_changing ... ok
[INFO] [stdout] test tool_classify::tests::read_patterns_classified_read_only ... ok
[INFO] [stdout] test uri_pattern::tests::bare_pattern_matches_fs_uri ... ok
[INFO] [stdout] test uri_pattern::tests::bare_pattern_no_match_outside_scope ... ok
[INFO] [stdout] test supervisor_review::tests::test_claude_supervisor_sets_current_dir_in_staging ... ok
[INFO] [stdout] test uri_pattern::tests::bare_pattern_does_not_match_other_schemes ... ok
[INFO] [stdout] test uri_pattern::tests::double_star_matches_deep_paths ... ok
[INFO] [stdout] test uri_pattern::tests::empty_pattern_does_not_match ... ok
[INFO] [stdout] test uri_pattern::tests::exact_path_match ... ok
[INFO] [stdout] test uri_pattern::tests::explicit_fs_pattern_matches ... ok
[INFO] [stdout] test uri_pattern::tests::filter_uris_multiple_patterns ... ok
[INFO] [stdout] test uri_pattern::tests::filter_uris_selects_matching ... ok
[INFO] [stdout] test uri_pattern::tests::resolve_bare_pattern ... ok
[INFO] [stdout] test uri_pattern::tests::resolve_explicit_pattern_unchanged ... ok
[INFO] [stdout] test uri_pattern::tests::scheme_mismatch_never_matches ... ok
[INFO] [stdout] test webhook_channel::tests::build_channel_auto_approve ... ok
[INFO] [stdout] test uri_pattern::tests::explicit_gmail_pattern_matches ... ok
[INFO] [stdout] test webhook_channel::tests::build_channel_terminal ... ok
[INFO] [stdout] test webhook_channel::tests::build_channel_unknown_type_errors ... ok
[INFO] [stdout] test webhook_channel::tests::build_channel_webhook ... ok
[INFO] [stdout] test webhook_channel::tests::parse_decision_variants ... ok
[INFO] [stdout] test uri_pattern::tests::invalid_glob_pattern_never_matches ... ok
[INFO] [stdout] test webhook_channel::tests::webhook_notification_writes_file ... ok
[INFO] [stdout] test webhook_channel::tests::webhook_reject_decision ... ok
[INFO] [stdout] test webhook_channel::tests::webhook_writes_request_file ... ok
[INFO] [stdout] test multi_channel::tests::empty_channels_panic - should panic ... ok
[INFO] [stdout] test milestone_draft::tests::milestone_draft_load_missing_returns_error ... ok
[INFO] [stdout] test supervisor_review::tests::test_invoke_supervisor_agent_custom_agent_no_staging_path ... ok
[INFO] [stdout] test supervisor_review::tests::test_parse_supervisor_response_or_text_plain_text ... ok
[INFO] [stdout] test supervisor_review::tests::test_with_stall_retry_exhausts_retries ... ok
[INFO] [stdout] test supervisor_review::tests::test_with_stall_retry_retries_on_stall_then_succeeds ... ok
[INFO] [stdout] test supervisor_review::tests::test_with_stall_retry_propagates_non_stall_error ... ok
[INFO] [stdout] test webhook_channel::tests::webhook_timeout_on_missing_response ... ok
[INFO] [stdout] test supervisor_review::tests::test_stall_classified_as_silence_when_no_output ... ok
[INFO] [stdout] test supervisor_review::tests::test_monitor_kills_stalled_process ... ok
[INFO] [stdout] test supervisor_review::tests::test_only_hook_json_lines_triggers_stall has been running for over 60 seconds
[INFO] [stdout] test supervisor_review::tests::test_stall_classified_as_partial_stream_after_output has been running for over 60 seconds
[INFO] [stdout] test supervisor_review::tests::test_stall_message_includes_partial_output has been running for over 60 seconds
[INFO] [stdout] test supervisor_review::tests::test_thinking_block_increases_timeout has been running for over 60 seconds
[INFO] [stdout] test supervisor_review::tests::test_only_hook_json_lines_triggers_stall ... ok
[INFO] [stdout] test supervisor_review::tests::test_stall_classified_as_partial_stream_after_output ... ok
[INFO] [stdout] test supervisor_review::tests::test_stall_message_includes_partial_output ... ok
[INFO] [stdout] test supervisor_review::tests::test_thinking_block_increases_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 552 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/validation_log.rs (/opt/rustwide/target/debug/build/ta-changeset/3bff8bfca9ff1be6/out/validation_log-3bff8bfca9ff1be6)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_dependency_graph_e2e ... ignored
[INFO] [stdout] test test_draft_validation_log_e2e ... ignored
[INFO] [stdout] test test_ollama_agent_mock_e2e ... ignored
[INFO] [stdout] test validation_entry_failure ... ok
[INFO] [stdout] test draft_package_empty_validation_log_skipped_in_json ... ok
[INFO] [stdout] test validation_entry_round_trip ... ok
[INFO] [stdout] test draft_package_validation_log_round_trip ... ok
[INFO] [stdout] test validation_log_has_failures_detection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ta_changeset
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd", kill_on_drop: false }`
[INFO] [stdout] 47ec864e3b964a5e5413c9d9a69efdec02d620d5a9f89f9411febfc18884a7cd
