[INFO] cloning repository https://github.com/wuwangzhang1216/agentcut [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wuwangzhang1216/agentcut" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuwangzhang1216%2Fagentcut", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuwangzhang1216%2Fagentcut'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 20ecdffc9d770bc280b294ee00414cafe4ce36ed [INFO] testing wuwangzhang1216/agentcut against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuwangzhang1216%2Fagentcut" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/wuwangzhang1216/agentcut [INFO] finished tweaking git repo https://github.com/wuwangzhang1216/agentcut [INFO] tweaked toml for git repo https://github.com/wuwangzhang1216/agentcut written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wuwangzhang1216/agentcut on toolchain 1.99.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wuwangzhang1216/agentcut 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.99.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-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247 [INFO] running `Command { std: "docker" "start" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", 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" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", 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" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.46 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling clap_builder v4.6.2 [INFO] [stderr] Compiling thread_local v1.1.10 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling regex-automata v0.4.16 [INFO] [stderr] Compiling uuid v1.24.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling clap v4.6.2 [INFO] [stderr] Compiling agentcut-core v0.1.0 (/opt/rustwide/workdir/crates/agentcut-core) [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling agentcut-render v0.1.0 (/opt/rustwide/workdir/crates/agentcut-render) [INFO] [stderr] Compiling agentcut-interchange v0.1.0 (/opt/rustwide/workdir/crates/agentcut-interchange) [INFO] [stderr] Compiling agentcut-cli v0.1.0 (/opt/rustwide/workdir/crates/agentcut-cli) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 51.36s [INFO] running `Command { std: "docker" "inspect" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", 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" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling agentcut-render v0.1.0 (/opt/rustwide/workdir/crates/agentcut-render) [INFO] [stderr] Compiling agentcut-interchange v0.1.0 (/opt/rustwide/workdir/crates/agentcut-interchange) [INFO] [stderr] Compiling agentcut-core v0.1.0 (/opt/rustwide/workdir/crates/agentcut-core) [INFO] [stderr] Compiling agentcut-cli v0.1.0 (/opt/rustwide/workdir/crates/agentcut-cli) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 54.39s [INFO] running `Command { std: "docker" "inspect" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", 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" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/agentcut-725c75cae3158ccd) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test envelope::tests::a_success_envelope_carries_the_documented_fields ... ok [INFO] [stdout] test envelope::tests::absent_optional_fields_stay_out_of_the_payload ... ok [INFO] [stdout] test envelope::tests::exit_codes_follow_the_documented_table ... ok [INFO] [stdout] test envelope::tests::an_error_envelope_carries_code_details_and_suggestions ... ok [INFO] [stdout] test tests::a_backwards_or_empty_range_is_rejected ... ok [INFO] [stdout] test tests::positions_parse_as_a_pair ... ok [INFO] [stdout] test tests::project_directory_falls_back_to_the_current_directory ... ok [INFO] [stdout] test tests::ranges_parse_into_exact_time ... ok [INFO] [stdout] test tests::an_asset_inside_the_project_tree_gets_a_relative_uri ... ok [INFO] [stdout] test tests::an_asset_outside_the_project_tree_gets_an_absolute_uri ... ok [INFO] [stdout] test tests::the_cli_definition_is_internally_consistent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-915e96a49b14f72e) [INFO] [stdout] [INFO] [stdout] running 48 tests [INFO] [stdout] test a_hardware_preset_renders_the_frames_the_plan_promised ... ok [INFO] [stdout] test an_audio_bus_changes_the_mix_it_carries ... ok [INFO] [stdout] test a_bound_font_asset_reaches_the_render_plan ... ok [INFO] [stdout] test an_svg_shape_is_rasterised_into_the_render ... ok [INFO] [stdout] test an_svg_with_an_elliptical_arc_is_refused_by_name ... ok [INFO] [stdout] test an_unavailable_hardware_preset_fails_at_plan_time_without_falling_back ... ok [INFO] [stdout] test clip_animate_expands_presets_into_plain_keyframes ... ok [INFO] [stdout] test clip_freeze_and_reverse_set_the_documented_properties ... ok [INFO] [stdout] test a_config_file_supplies_defaults_that_explicit_flags_still_beat ... ok [INFO] [stdout] test capabilities_schema_and_doctor_answer_without_a_project ... ok [INFO] [stdout] test fcpxml_export_produces_a_document_and_degrades_honestly ... ok [INFO] [stdout] test full_pipeline_from_probe_to_verified_frames ... ok [INFO] [stdout] test imported_subtitles_are_burned_into_the_frames ... ok [INFO] [stdout] test an_unknown_operation_aborts_the_whole_batch ... ok [INFO] [stdout] test a_dry_run_reports_the_outcome_without_writing ... ok [INFO] [stdout] test init_refuses_to_clobber_and_reports_the_stable_code ... ok [INFO] [stdout] test inline_spans_render_as_separately_styled_runs ... ok [INFO] [stdout] test every_property_the_registry_enforces_can_be_discovered ... ok [INFO] [stdout] test a_stale_revision_conflicts_with_exit_code_four ... ok [INFO] [stdout] test otio_export_import_round_trip_preserves_timing_and_reports_degradation ... ok [INFO] [stdout] test path_shapes_render_where_their_vertices_say ... ok [INFO] [stdout] test preview_range_scales_the_canvas_and_counts_frames ... ok [INFO] [stdout] test init_validate_inspect_round_trip ... ok [INFO] [stdout] test render_cancel_without_a_running_render_is_an_invalid_operation ... ok [INFO] [stdout] test saved_plans_execute_and_refuse_drifted_inputs ... ok [INFO] [stdout] test segmented_render_is_frame_exact_and_matches_single_pass_content ... ok [INFO] [stdout] test segmented_render_keeps_every_overlay_and_the_bus_mix ... ok [INFO] [stdout] test asset_fingerprint_reports_drift_without_writing ... ok [INFO] [stdout] test a_bus_cycle_is_refused_before_it_reaches_the_renderer ... ok [INFO] [stdout] test spans_without_a_measurable_font_are_refused_at_plan_time ... ok [INFO] [stdout] test marker_set_edits_in_place ... ok [INFO] [stdout] test item_add_reaches_every_payload_kind_and_refuses_foreign_flags ... ok [INFO] [stdout] test require_revision_mode_refuses_unguarded_writes ... ok [INFO] [stdout] test text_is_actually_drawn_into_the_rendered_frames ... ok [INFO] [stdout] test sequence_commands_cover_the_documented_group ... ok [INFO] [stdout] test sequence_duplicate_rewrites_every_id_it_owns ... ok [INFO] [stdout] test subtitles_round_trip_through_a_project ... ok [INFO] [stdout] test the_cache_makes_a_non_deterministic_preset_stable ... ok [INFO] [stdout] test the_hsl_blend_modes_match_the_pdf_reference_values ... ok [INFO] [stdout] test transition_set_edits_an_existing_transition ... ok [INFO] [stdout] test the_agent_guide_ships_in_the_binary_for_every_topic ... ok [INFO] [stdout] test text_overflow_analysis_reports_a_vertical_finding ... ok [INFO] [stdout] test subtitle_style_restyles_a_whole_caption_track_in_one_batch ... ok [INFO] [stdout] test keyframe_clear_drops_channels_and_track_reorder_restacks ... ok [INFO] [stdout] test text_set_and_style_write_only_the_named_properties ... ok [INFO] [stdout] test undo_restores_and_redo_reapplies ... ok [INFO] [stdout] test template_slots_drive_a_batch_variant_without_naming_entities ... ok [INFO] [stdout] test every_command_the_agent_guide_teaches_actually_exists ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/agentcut_core-2b421d3d45abcf8b) [INFO] [stdout] [INFO] [stdout] running 318 tests [INFO] [stdout] test animation::tests::durations_longer_than_the_item_are_clamped ... ok [INFO] [stdout] test animation::tests::fade_in_starts_at_zero_and_lands_on_the_items_own_opacity ... ok [INFO] [stdout] test animation::tests::fade_out_ends_exactly_at_the_item_end ... ok [INFO] [stdout] test animation::tests::every_registered_preset_expands ... ok [INFO] [stdout] test animation::tests::slide_in_from_the_right_starts_one_canvas_width_away ... ok [INFO] [stdout] test animation::tests::ken_burns_spans_the_whole_item_and_moves_two_channels ... ok [INFO] [stdout] test animation::tests::unknown_presets_name_the_real_ones ... ok [INFO] [stdout] test capabilities::tests::an_empty_bag_is_valid_because_defaults_apply ... ok [INFO] [stdout] test capabilities::tests::animatable_parameters_have_interpolatable_types ... ok [INFO] [stdout] test capabilities::tests::animatable_properties_have_interpolatable_types ... ok [INFO] [stdout] test capabilities::tests::animatable_properties_keep_their_type_and_range_checks ... ok [INFO] [stdout] test capabilities::tests::apply_defaults_rejects_a_bag_it_would_otherwise_complete ... ok [INFO] [stdout] test capabilities::tests::caption_items_accept_every_style_path_the_registry_gives_them ... ok [INFO] [stdout] test capabilities::tests::cli_filter_arguments_parse_to_the_registry_enums ... ok [INFO] [stdout] test capabilities::tests::color_wheels_parameters_are_scalar_checked_like_any_other_effect ... ok [INFO] [stdout] test capabilities::tests::curve_points_parameters_validate_shape_range_and_monotonicity ... ok [INFO] [stdout] test capabilities::tests::declared_bounds_are_ordered_and_only_constrain_numbers ... ok [INFO] [stdout] test capabilities::tests::capability_ids_are_unique ... ok [INFO] [stdout] test capabilities::tests::defaults_cover_every_type_of_declared_value ... ok [INFO] [stdout] test capabilities::tests::defaults_fill_only_the_unset_parameters ... ok [INFO] [stdout] test capabilities::tests::describe_emits_a_json_schema_with_ranges_defaults_and_units ... ok [INFO] [stdout] test capabilities::tests::describe_encodes_non_numeric_types_faithfully ... ok [INFO] [stdout] test capabilities::tests::describe_emits_an_array_schema_for_curve_points ... ok [INFO] [stdout] test capabilities::tests::describe_reports_the_animatable_set_exactly ... ok [INFO] [stdout] test capabilities::tests::identity_and_bookkeeping_fields_are_unreachable ... ok [INFO] [stdout] test capabilities::tests::find_matches_the_whole_id_only ... ok [INFO] [stdout] test capabilities::tests::every_declared_default_satisfies_its_own_spec ... ok [INFO] [stdout] test capabilities::tests::list_filters_independently_on_kind_and_status ... ok [INFO] [stdout] test capabilities::tests::non_animatable_properties_cannot_be_keyframed ... ok [INFO] [stdout] test capabilities::tests::every_capability_describes_without_error ... ok [INFO] [stdout] test capabilities::tests::null_is_only_accepted_where_it_means_something ... ok [INFO] [stdout] test capabilities::tests::out_of_range_parameters_are_rejected_at_both_bounds ... ok [INFO] [stdout] test capabilities::tests::parameter_names_are_unique_within_a_capability ... ok [INFO] [stdout] test capabilities::tests::parameters_without_a_declared_default_stay_absent ... ok [INFO] [stdout] test capabilities::tests::properties_are_rejected_for_payloads_that_lack_them ... ok [INFO] [stdout] test capabilities::tests::the_documented_properties_are_all_registered ... ok [INFO] [stdout] test capabilities::tests::property_paths_are_unique_and_apply_to_known_payload_kinds ... ok [INFO] [stdout] test capabilities::tests::unknown_capability_is_reported_with_the_capability_code ... ok [INFO] [stdout] test capabilities::tests::property_values_are_type_and_range_checked ... ok [INFO] [stdout] test capabilities::tests::unknown_parameter_is_rejected_and_lists_the_real_names ... ok [INFO] [stdout] test capabilities::tests::speed_rate_must_be_positive ... ok [INFO] [stdout] test capabilities::tests::the_p0_capabilities_are_all_registered ... ok [INFO] [stdout] test capabilities::tests::unknown_property_paths_are_rejected ... ok [INFO] [stdout] test capabilities::tests::wrong_parameter_types_are_rejected ... ok [INFO] [stdout] test error::tests::cancellation_uses_the_conventional_exit_code ... ok [INFO] [stdout] test error::tests::error_codes_use_the_documented_namespaces ... ok [INFO] [stdout] test error::tests::every_error_maps_to_a_distinct_stable_code ... ok [INFO] [stdout] test error::tests::issues_carry_path_entity_and_severity ... ok [INFO] [stdout] test error::tests::revision_conflict_reports_both_revisions_for_recovery ... ok [INFO] [stdout] test journal::tests::a_new_commit_discards_the_redo_stack ... ok [INFO] [stdout] test journal::tests::an_identical_retry_replays_the_first_result ... ok [INFO] [stdout] test journal::tests::reusing_a_key_for_different_content_is_a_conflict ... ok [INFO] [stdout] test journal::tests::an_unseen_key_is_not_a_replay ... ok [INFO] [stdout] test journal::tests::journal_path_sits_beside_the_project ... ok [INFO] [stdout] test journal::tests::a_corrupt_journal_degrades_rather_than_blocking_writes ... ok [INFO] [stdout] test journal::tests::undo_on_an_empty_journal_is_a_no_op ... ok [INFO] [stdout] test journal::tests::the_journal_is_bounded ... ok [INFO] [stdout] test journal::tests::undo_walks_backward_and_redo_forward ... ok [INFO] [stdout] test model::tests::colors_accept_both_documented_lengths ... ok [INFO] [stdout] test model::tests::composite_order_is_stable_for_equal_positions ... ok [INFO] [stdout] test model::tests::content_duration_is_the_end_of_the_last_item ... ok [INFO] [stdout] test model::tests::easing_parses_presets_and_explicit_curves ... ok [INFO] [stdout] test model::tests::crop_validity_requires_a_positive_region ... ok [INFO] [stdout] test model::tests::entity_ids_follow_the_schema_grammar ... ok [INFO] [stdout] test model::tests::local_and_sequence_time_round_trip ... ok [INFO] [stdout] test model::tests::new_project_starts_at_revision_zero_with_default_tracks ... ok [INFO] [stdout] test model::tests::non_square_pixels_widen_the_display_size ... ok [INFO] [stdout] test model::tests::rotated_portrait_video_reports_upright_display_size ... ok [INFO] [stdout] test model::tests::sorting_items_by_start_handles_mixed_rates ... ok [INFO] [stdout] test model::tests::track_types_reject_mismatched_payloads ... ok [INFO] [stdout] test model::tests::value_types_reject_mismatched_json ... ok [INFO] [stdout] test model::tests::unknown_fields_are_rejected_rather_than_silently_dropped ... ok [INFO] [stdout] test normalize::tests::a_caption_is_laid_out_inside_the_title_safe_area ... ok [INFO] [stdout] test model::tests::the_checked_in_example_round_trips_without_loss ... ok [INFO] [stdout] test normalize::tests::bezier_channel_uses_its_easing ... ok [INFO] [stdout] test normalize::tests::anchor_controls_what_position_means ... ok [INFO] [stdout] test normalize::tests::bezier_is_monotonic_for_valid_control_points ... ok [INFO] [stdout] test normalize::tests::bezier_endpoints_are_exact ... ok [INFO] [stdout] test normalize::tests::caption_vertical_alignment_moves_the_box_not_the_canvas ... ok [INFO] [stdout] test normalize::tests::a_caption_normalizes_into_a_placed_text_element ... ok [INFO] [stdout] test normalize::tests::centered_transitions_need_half_the_duration_on_each_side ... ok [INFO] [stdout] test normalize::tests::channels_hold_rather_than_extrapolate ... ok [INFO] [stdout] test normalize::tests::crop_reduces_the_source_rect_then_fit_applies ... ok [INFO] [stdout] test normalize::tests::cover_fills_and_overflows ... ok [INFO] [stdout] test normalize::tests::contain_letterboxes_and_centers ... ok [INFO] [stdout] test normalize::tests::color_channels_interpolate_per_component ... ok [INFO] [stdout] test normalize::tests::ease_in_starts_slower_than_linear ... ok [INFO] [stdout] test journal::tests::a_journal_round_trips_through_disk ... ok [INFO] [stdout] test normalize::tests::degenerate_crop_is_rejected ... ok [INFO] [stdout] test normalize::tests::empty_channel_is_an_error_not_a_panic ... ok [INFO] [stdout] test normalize::tests::crossfade_expands_handles_and_injects_opacity_ramp ... ok [INFO] [stdout] test normalize::tests::extreme_easing_still_solves ... ok [INFO] [stdout] test normalize::tests::fit_none_keeps_source_pixels ... ok [INFO] [stdout] test normalize::tests::interpolation_works_across_rates ... ok [INFO] [stdout] test normalize::tests::linear_bezier_is_the_identity ... ok [INFO] [stdout] test normalize::tests::linear_interpolation_hits_the_midpoint ... ok [INFO] [stdout] test normalize::tests::nested_sequence_cycles_are_rejected ... ok [INFO] [stdout] test normalize::tests::non_interpolatable_types_step ... ok [INFO] [stdout] test normalize::tests::scale_multiplies_the_fitted_size ... ok [INFO] [stdout] test normalize::tests::nested_sequence_items_are_flattened_onto_the_parent ... ok [INFO] [stdout] test normalize::tests::single_point_channel_is_constant ... ok [INFO] [stdout] test normalize::tests::start_at_cut_only_borrows_from_the_left_clip ... ok [INFO] [stdout] test normalize::tests::step_interpolation_holds_the_left_value ... ok [INFO] [stdout] test normalize::tests::stretch_matches_the_canvas_exactly ... ok [INFO] [stdout] test normalize::tests::vec2_channels_interpolate_componentwise ... ok [INFO] [stdout] test operations::tests::a_batch_for_another_project_is_rejected ... ok [INFO] [stdout] test normalize::tests::wipe_expands_handles_without_an_opacity_ramp ... ok [INFO] [stdout] test operations::tests::a_batch_increments_the_revision_exactly_once ... ok [INFO] [stdout] test operations::tests::a_caption_accepts_the_style_paths_the_registry_lists_for_it ... ok [INFO] [stdout] test operations::tests::a_committed_project_always_passes_its_own_validator ... ok [INFO] [stdout] test operations::tests::a_failure_midway_leaves_the_project_untouched ... ok [INFO] [stdout] test operations::tests::a_duplicated_transition_points_at_the_copied_items ... ok [INFO] [stdout] test operations::tests::a_path_shape_with_the_wrong_vertex_count_is_refused ... ok [INFO] [stdout] test operations::tests::a_polygon_keeps_its_vertices_and_centres_on_the_canvas ... ok [INFO] [stdout] test operations::tests::a_satisfied_precondition_lets_the_operation_run ... ok [INFO] [stdout] test operations::tests::a_misspelled_precondition_path_is_its_own_error ... ok [INFO] [stdout] test operations::tests::a_new_span_replaces_what_it_overlaps ... ok [INFO] [stdout] test operations::tests::a_send_to_a_missing_bus_is_refused ... ok [INFO] [stdout] test operations::tests::a_shape_that_fills_its_layer_takes_no_points ... ok [INFO] [stdout] test operations::tests::a_property_slot_goes_through_the_same_registry_as_item_set ... ok [INFO] [stdout] test operations::tests::a_slot_cannot_be_defined_against_an_incompatible_item ... ok [INFO] [stdout] test operations::tests::a_span_past_the_end_of_the_text_is_refused ... ok [INFO] [stdout] test operations::tests::a_span_that_overrides_nothing_is_refused ... ok [INFO] [stdout] test operations::tests::a_track_routes_into_a_bus_and_the_bus_into_the_master ... ok [INFO] [stdout] test operations::tests::a_span_splits_the_text_into_styled_runs ... ok [INFO] [stdout] test operations::tests::a_transition_with_handles_is_accepted ... ok [INFO] [stdout] test operations::tests::a_transition_without_handles_is_rejected ... ok [INFO] [stdout] test operations::tests::an_empty_batch_is_rejected ... ok [INFO] [stdout] test operations::tests::an_asset_slot_enforces_its_kind_constraint ... ok [INFO] [stdout] test operations::tests::asset_remove_refuses_while_clips_still_use_it ... ok [INFO] [stdout] test operations::tests::bus_routing_that_forms_a_cycle_is_refused ... ok [INFO] [stdout] test operations::tests::an_unknown_span_style_field_is_refused_rather_than_ignored ... ok [INFO] [stdout] test operations::tests::clearing_removes_the_span_and_restores_the_base_style ... ok [INFO] [stdout] test operations::tests::clip_add_places_the_clip_and_derives_source_range ... ok [INFO] [stdout] test operations::tests::collision_insert_pushes_later_items_down ... ok [INFO] [stdout] test operations::tests::collision_overwrite_refuses_to_split_an_item_implicitly ... ok [INFO] [stdout] test operations::tests::clip_add_accepts_source_out_instead_of_duration ... ok [INFO] [stdout] test operations::tests::collision_overwrite_trims_the_neighbour ... ok [INFO] [stdout] test operations::tests::collision_reject_is_the_default_and_refuses_overlap ... ok [INFO] [stdout] test operations::tests::content_hash_tracks_semantics_not_formatting ... ok [INFO] [stdout] test operations::tests::duplicate_entity_ids_are_rejected_at_creation ... ok [INFO] [stdout] test operations::tests::duplicate_gives_the_copy_fresh_nested_ids ... ok [INFO] [stdout] test operations::tests::duplicate_operation_ids_within_a_batch_are_rejected ... ok [INFO] [stdout] test operations::tests::duplicating_a_sequence_rewrites_every_id_it_owns ... ok [INFO] [stdout] test operations::tests::effects_are_added_ordered_and_reorderable ... ok [INFO] [stdout] test operations::tests::every_registered_operation_is_dispatchable ... ok [INFO] [stdout] test operations::tests::filling_a_slot_writes_through_to_the_item ... ok [INFO] [stdout] test operations::tests::item_move_by_offset_and_to_absolute_agree ... ok [INFO] [stdout] test operations::tests::head_trim_advances_the_source_by_constant_speed ... ok [INFO] [stdout] test operations::tests::generated_ids_are_reported_back ... ok [INFO] [stdout] test operations::tests::insert_inside_an_item_is_reported_as_a_collision ... ok [INFO] [stdout] test operations::tests::item_move_rejects_negative_positions ... ok [INFO] [stdout] test operations::tests::item_remove_with_track_ripple_closes_the_hole ... ok [INFO] [stdout] test operations::tests::item_move_needs_exactly_one_of_to_or_by ... ok [INFO] [stdout] test operations::tests::item_set_cannot_reach_identity_fields ... ok [INFO] [stdout] test operations::tests::item_set_enforces_the_declared_range ... ok [INFO] [stdout] test operations::tests::item_set_writes_only_registry_approved_properties ... ok [INFO] [stdout] test operations::tests::keyframe_points_stay_sorted_however_they_arrive ... ok [INFO] [stdout] test operations::tests::keyframe_set_creates_then_replaces ... ok [INFO] [stdout] test operations::tests::malformed_entity_ids_are_rejected ... ok [INFO] [stdout] test operations::tests::keyframe_set_require_new_refuses_to_replace ... ok [INFO] [stdout] test operations::tests::on_error_skip_is_refused ... ok [INFO] [stdout] test operations::tests::keyframing_a_static_property_is_refused ... ok [INFO] [stdout] test operations::tests::overwrite_head_trim_never_leaves_a_cross_rate_overlap ... ok [INFO] [stdout] test operations::tests::locked_tracks_refuse_edits ... ok [INFO] [stdout] test operations::tests::precondition_ordering_compares_rational_times_exactly ... ok [INFO] [stdout] test operations::tests::precondition_ordering_on_incomparable_values_is_an_error_not_false ... ok [INFO] [stdout] test operations::tests::removing_a_bus_reroutes_what_fed_it_to_the_master ... ok [INFO] [stdout] test operations::tests::preconditions_guard_an_operation ... ok [INFO] [stdout] test operations::tests::removing_an_item_drops_its_transitions ... ok [INFO] [stdout] test operations::tests::removing_a_slots_target_is_refused_rather_than_orphaning_it ... ok [INFO] [stdout] test operations::tests::removing_the_last_keyframe_drops_the_channel ... ok [INFO] [stdout] test operations::tests::revision_conflict_reports_both_revisions ... ok [INFO] [stdout] test operations::tests::short_idempotency_keys_are_rejected ... ok [INFO] [stdout] test operations::tests::roll_moves_the_cut_between_abutting_clips ... ok [INFO] [stdout] test operations::tests::slip_shifts_source_without_moving_the_timeline ... ok [INFO] [stdout] test operations::tests::span_offsets_count_characters_not_bytes ... ok [INFO] [stdout] test operations::tests::source_trim_under_speed_scales_the_timeline_duration ... ok [INFO] [stdout] test operations::tests::spans_stay_sorted_however_they_arrive ... ok [INFO] [stdout] test operations::tests::split_keeps_the_channel_when_all_points_are_past_the_cut ... ok [INFO] [stdout] test operations::tests::split_keeps_the_original_id_on_the_left_and_maps_source_time ... ok [INFO] [stdout] test operations::tests::split_at_an_edge_is_rejected ... ok [INFO] [stdout] test operations::tests::split_generated_right_id_avoids_the_explicit_left_id ... ok [INFO] [stdout] test operations::tests::split_partitions_the_source_by_the_speed_factor ... ok [INFO] [stdout] test operations::tests::split_preserves_the_animated_value_at_the_cut ... ok [INFO] [stdout] test operations::tests::split_refuses_a_left_id_that_duplicates_the_right_id ... ok [INFO] [stdout] test operations::tests::split_rebases_keyframes_onto_each_piece ... ok [INFO] [stdout] test operations::tests::text_add_defaults_to_a_centered_safe_box ... ok [INFO] [stdout] test operations::tests::the_input_project_is_never_mutated ... ok [INFO] [stdout] test operations::tests::the_text_layout_box_stays_text_only ... ok [INFO] [stdout] test operations::tests::split_with_a_renamed_left_piece_rebinds_incoming_transitions ... ok [INFO] [stdout] test operations::tests::transitions_require_abutting_clips ... ok [INFO] [stdout] test operations::tests::tail_trim_scales_the_source_by_constant_speed ... ok [INFO] [stdout] test operations::tests::unknown_effect_capability_is_rejected ... ok [INFO] [stdout] test operations::tests::unknown_operations_are_reported_with_a_stable_code ... ok [INFO] [stdout] test operations::tests::trim_source_in_advances_the_read_point ... ok [INFO] [stdout] test operations::tests::trim_with_no_edges_is_rejected ... ok [INFO] [stdout] test operations::tests::trim_past_the_asset_end_fails_validation ... ok [INFO] [stdout] test repository::tests::canonical_writes_are_byte_stable ... ok [INFO] [stdout] test repository::tests::a_project_round_trips_through_disk ... ok [INFO] [stdout] test repository::tests::a_dry_run_does_not_touch_the_file ... ok [INFO] [stdout] test repository::tests::a_relative_path_with_no_parent_writes_to_the_current_directory ... ok [INFO] [stdout] test repository::tests::a_failed_batch_leaves_the_file_byte_identical ... ok [INFO] [stdout] test repository::tests::a_retry_after_losing_the_journal_conflicts_instead_of_applying_twice ... ok [INFO] [stdout] test repository::tests::create_refuses_to_clobber_without_force ... ok [INFO] [stdout] test repository::tests::an_identical_retry_is_replayed_and_writes_nothing ... ok [INFO] [stdout] test repository::tests::a_stale_revision_conflicts_rather_than_overwriting ... ok [INFO] [stdout] test repository::tests::overwriting_replaces_the_file_completely ... ok [INFO] [stdout] test repository::tests::commit_writes_and_bumps_the_revision ... ok [INFO] [stdout] test repository::tests::undo_with_no_history_is_a_clean_error ... ok [INFO] [stdout] test repository::tests::writing_into_a_missing_directory_creates_it ... ok [INFO] [stdout] test repository::tests::undo_checks_the_revision_guard ... ok [INFO] [stdout] test repository::tests::reusing_a_key_with_different_content_conflicts ... ok [INFO] [stdout] test subtitle::tests::a_cue_shorter_than_the_format_resolution_cannot_be_exported ... ok [INFO] [stdout] test subtitle::tests::a_cue_that_ends_before_it_starts_is_rejected ... ok [INFO] [stdout] test subtitle::tests::a_cue_that_rounds_away_at_the_target_rate_is_rejected ... ok [INFO] [stdout] test subtitle::tests::a_missing_timestamp_line_reports_its_source_line ... ok [INFO] [stdout] test subtitle::tests::a_missing_trailing_newline_is_tolerated ... ok [INFO] [stdout] test subtitle::tests::a_negative_cue_cannot_be_exported ... ok [INFO] [stdout] test subtitle::tests::a_speaker_the_format_cannot_carry_is_refused_rather_than_corrupted ... ok [INFO] [stdout] test subtitle::tests::a_stray_block_is_reported_at_its_own_line_not_the_blank_after_it ... ok [INFO] [stdout] test subtitle::tests::an_empty_file_yields_no_cues_but_content_without_cues_is_an_error ... ok [INFO] [stdout] test subtitle::tests::ass_dialogue_before_a_format_line_is_rejected ... ok [INFO] [stdout] test subtitle::tests::ass_override_blocks_are_stripped_and_hard_breaks_become_newlines ... ok [INFO] [stdout] test subtitle::tests::ass_reads_columns_from_the_format_line ... ok [INFO] [stdout] test subtitle::tests::carriage_returns_and_byte_order_marks_are_tolerated ... ok [INFO] [stdout] test subtitle::tests::every_format_reads_the_same_cues ... ok [INFO] [stdout] test subtitle::tests::each_format_round_trips_through_export ... ok [INFO] [stdout] test subtitle::tests::formats_are_recognized_by_extension ... ok [INFO] [stdout] test subtitle::tests::exports_carry_their_format_headers ... ok [INFO] [stdout] test subtitle::tests::formats_are_sniffed_from_content ... ok [INFO] [stdout] test subtitle::tests::half_second_boundaries_are_exact_at_frame_and_sample_rates ... ok [INFO] [stdout] test subtitle::tests::malformed_timestamp_reports_its_source_line ... ok [INFO] [stdout] test subtitle::tests::prose_that_looks_like_markup_survives_stripping ... ok [INFO] [stdout] test subtitle::tests::srt_export_drops_a_speaker_rather_than_folding_it_into_the_text ... ok [INFO] [stdout] test subtitle::tests::srt_export_renumbers_and_writes_comma_separated_milliseconds ... ok [INFO] [stdout] test subtitle::tests::srt_fixture_parses_with_stripped_markup ... ok [INFO] [stdout] test subtitle::tests::srt_index_lines_are_ignored_and_regenerated ... ok [INFO] [stdout] test subtitle::tests::tenths_of_a_second_do_not_drift_through_binary_floats ... ok [INFO] [stdout] test subtitle::tests::web_vtt_entities_survive_a_round_trip ... ok [INFO] [stdout] test subtitle::tests::web_vtt_hours_are_optional ... ok [INFO] [stdout] test subtitle::tests::web_vtt_note_style_and_region_blocks_are_not_cues ... ok [INFO] [stdout] test subtitle::tests::web_vtt_voice_span_becomes_the_speaker ... ok [INFO] [stdout] test text_layout::tests::a_box_at_the_canvas_edge_violates_the_safe_area ... ok [INFO] [stdout] test text_layout::tests::a_box_partially_off_canvas_reports_a_canvas_finding ... ok [INFO] [stdout] test text_layout::tests::an_unbreakable_word_is_reported_with_its_width ... ok [INFO] [stdout] test text_layout::tests::cjk_width_is_character_count_times_font_size ... ok [INFO] [stdout] test text_layout::tests::findings_sort_by_start_then_item_id ... ok [INFO] [stdout] test text_layout::tests::forced_newlines_are_respected ... ok [INFO] [stdout] test text_layout::tests::long_text_in_a_narrow_box_overflows_vertically_with_exact_numbers ... ok [INFO] [stdout] test text_layout::tests::keyframed_position_is_evaluated_at_item_start ... ok [INFO] [stdout] test text_layout::tests::short_text_in_a_big_box_yields_no_findings ... ok [INFO] [stdout] test text_layout::tests::overflow_policy_maps_to_severity ... ok [INFO] [stdout] test repository::tests::writing_leaves_no_temporary_files_behind ... ok [INFO] [stdout] test time::tests::a_timecode_counts_frames_whatever_the_context ... ok [INFO] [stdout] test time::tests::addition_across_compatible_rates_is_exact ... ok [INFO] [stdout] test time::tests::a_bare_number_follows_the_contextual_rate ... ok [INFO] [stdout] test time::tests::addition_refuses_to_silently_round ... ok [INFO] [stdout] test time::tests::ambiguous_decimal_rates_are_rejected ... ok [INFO] [stdout] test time::tests::audio_rates_convert_exactly_from_video_rates ... ok [INFO] [stdout] test time::tests::cli_time_forms_parse_to_exact_values ... ok [INFO] [stdout] test time::tests::cross_rate_comparison_is_exact ... ok [INFO] [stdout] test time::tests::decimal_seconds_avoid_binary_rounding ... ok [INFO] [stdout] test time::tests::directional_rounding_matches_its_name ... ok [INFO] [stdout] test time::tests::drop_frame_skips_the_expected_frame_numbers ... ok [INFO] [stdout] test time::tests::drop_frame_timecode_is_rejected_at_integer_rates ... ok [INFO] [stdout] test time::tests::drop_frame_timecode_round_trips ... ok [INFO] [stdout] test time::tests::drop_frame_tracks_wall_clock_within_a_frame ... ok [INFO] [stdout] test time::tests::f_means_frames_even_where_bare_numbers_mean_samples ... ok [INFO] [stdout] test time::tests::fraction_reduces_and_keeps_denominator_positive ... ok [INFO] [stdout] test time::tests::nearest_rounding_breaks_ties_to_even ... ok [INFO] [stdout] test time::tests::ntsc_and_integer_rates_are_never_confused ... ok [INFO] [stdout] test time::tests::overflow_is_reported_not_wrapped ... ok [INFO] [stdout] test time::tests::ntsc_frame_to_audio_sample_rounds_explicitly ... ok [INFO] [stdout] test time::tests::overlapping_ranges_report_the_shared_interval ... ok [INFO] [stdout] test time::tests::rate_is_normalized ... ok [INFO] [stdout] test time::tests::range_end_and_containment_are_half_open ... ok [INFO] [stdout] test time::tests::rescale_exact_rejects_fractional_results ... ok [INFO] [stdout] test time::tests::scaling_applies_speed_without_floating_point ... ok [INFO] [stdout] test time::tests::seconds_still_resolve_at_the_contextual_rate ... ok [INFO] [stdout] test time::tests::spl_means_samples_and_is_not_read_as_seconds ... ok [INFO] [stdout] test time::tests::timecode_round_trips_at_common_rates ... ok [INFO] [stdout] test time::tests::timecode_formats_expected_fields ... ok [INFO] [stdout] test time::tests::touching_ranges_do_not_intersect ... ok [INFO] [stdout] test time::tests::zero_and_oversized_rates_are_rejected ... ok [INFO] [stdout] test time::tests::zero_duration_ranges_are_rejected ... ok [INFO] [stdout] test validation::tests::a_font_cannot_be_cut_into_a_track ... ok [INFO] [stdout] test validation::tests::a_fresh_project_is_valid ... ok [INFO] [stdout] test validation::tests::a_missing_asset_blocks_and_suggests_relink ... ok [INFO] [stdout] test validation::tests::a_sequence_cannot_contain_itself ... ok [INFO] [stdout] test validation::tests::abutting_items_do_not_collide ... ok [INFO] [stdout] test validation::tests::audio_asset_cannot_feed_a_video_track ... ok [INFO] [stdout] test validation::tests::default_sequence_must_exist ... ok [INFO] [stdout] test validation::tests::duplicate_ids_are_rejected_across_entity_types ... ok [INFO] [stdout] test validation::tests::duplicate_keyframe_times_are_rejected ... ok [INFO] [stdout] test validation::tests::invalid_sample_rate_is_rejected ... ok [INFO] [stdout] test validation::tests::keyframe_value_must_match_the_declared_type ... ok [INFO] [stdout] test validation::tests::levels_can_be_selected_independently ... ok [INFO] [stdout] test validation::tests::missing_asset_reference_is_reported_with_a_fix ... ok [INFO] [stdout] test validation::tests::negative_start_and_zero_duration_are_rejected ... ok [INFO] [stdout] test validation::tests::out_of_range_opacity_and_gain_are_rejected ... ok [INFO] [stdout] test validation::tests::overlapping_items_on_one_track_collide ... ok [INFO] [stdout] test validation::tests::reading_exactly_to_the_end_is_allowed ... ok [INFO] [stdout] test repository::tests::undo_restores_the_previous_content_and_moves_forward ... ok [INFO] [stdout] test validation::tests::reading_past_the_end_of_an_asset_is_an_error ... ok [INFO] [stdout] test validation::tests::strict_mode_turns_warnings_into_errors ... ok [INFO] [stdout] test validation::tests::unprobed_assets_warn_but_do_not_block ... ok [INFO] [stdout] test validation::tests::the_checked_in_example_validates ... ok [INFO] [stdout] test validation::tests::unsorted_keyframes_are_rejected ... ok [INFO] [stdout] test validation::tests::wrong_track_type_for_payload_is_rejected ... ok [INFO] [stdout] test xml::tests::character_references_decode_and_unknown_entities_pass_through ... ok [INFO] [stdout] test xml::tests::escape_covers_all_five_reserved_characters ... ok [INFO] [stdout] test xml::tests::mismatched_and_unclosed_tags_are_rejected ... ok [INFO] [stdout] test xml::tests::parser_reads_nested_elements_attributes_and_skips_noise ... ok [INFO] [stdout] test repository::tests::redo_reapplies_an_undone_batch ... ok [INFO] [stdout] test repository::tests::undo_walks_correctly_after_the_journal_limit_trims_old_entries ... ok [INFO] [stdout] test repository::tests::redo_survives_the_journal_limit_trim ... ok [INFO] [stdout] test repository::tests::undo_undo_redo_commit_undo_lands_on_the_pre_commit_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 318 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/agentcut_interchange-aa6c0667cc4ca47a) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test fcpxml::tests::export_escapes_reserved_characters_everywhere ... ok [INFO] [stdout] test fcpxml::tests::import_reads_a_minimal_ntsc_document ... ok [INFO] [stdout] test fcpxml::tests::export_builds_spine_lanes_and_markers ... ok [INFO] [stdout] test fcpxml::tests::rational_seconds_formats_reduced_fractions ... ok [INFO] [stdout] test fcpxml::tests::parse_seconds_reads_every_documented_spelling ... ok [INFO] [stdout] test fcpxml::tests::import_rejects_documents_that_are_not_fcpxml ... ok [INFO] [stdout] test fcpxml::tests::round_trip_preserves_timing_lanes_and_markers ... ok [INFO] [stdout] test otio::tests::export_degrades_text_to_a_gap_and_keeps_exact_timing ... ok [INFO] [stdout] test otio::tests::export_notes_ntsc_rate_precision_exactly_once ... ok [INFO] [stdout] test otio::tests::import_reads_a_permissive_handcrafted_document ... ok [INFO] [stdout] test otio::tests::export_maps_adjacent_crossfades_and_drops_the_rest ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/agentcut_render-c25872aed6f12fc4) [INFO] [stdout] test otio::tests::import_degrades_unknown_nodes_to_gaps_that_preserve_timing ... ok [INFO] [stdout] test otio::tests::import_recovers_exact_rationals_from_broadcast_floats ... ok [INFO] [stdout] test otio::tests::import_rejects_documents_that_are_not_otio_timelines ... ok [INFO] [stdout] test otio::tests::markers_round_trip_with_comment_and_color ... ok [INFO] [stdout] test sec::tests::arithmetic_stays_exact_at_ntsc_rates ... ok [INFO] [stdout] test otio::tests::round_trip_preserves_ntsc_timing_exactly ... ok [INFO] [stdout] test sec::tests::off_grid_instants_stay_exact_at_their_own_rate ... ok [INFO] [stdout] test tests::degradation_report_serializes_camel_case_and_tracks_losslessness ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 161 tests [INFO] [stdout] test analysis::tests::a_missing_summary_is_none_not_zeroes ... ok [INFO] [stdout] test analysis::tests::an_unclosed_interval_is_reported_not_dropped ... ok [INFO] [stdout] test analysis::tests::detection_lines_pair_starts_with_ends ... ok [INFO] [stdout] test analysis::tests::freeze_lines_use_their_own_format ... ok [INFO] [stdout] test analysis::tests::silencedetect_uses_a_space_after_the_colon ... ok [INFO] [stdout] test analysis::tests::the_loudness_summary_parses_ffmpeg_output ... ok [INFO] [stdout] test compile::tests::a_bare_output_filename_gets_a_local_temporary ... ok [INFO] [stdout] test cache::tests::miss_returns_none ... ok [INFO] [stdout] test compile::tests::a_corrupt_base64_side_file_is_refused ... ok [INFO] [stdout] test compile::tests::a_plan_without_a_graph_needs_no_filters ... ok [INFO] [stdout] test compile::tests::a_late_placed_video_element_is_shifted_onto_its_timeline_slot ... ok [INFO] [stdout] test compile::tests::a_hostile_caption_cannot_inject_a_filter ... ok [INFO] [stdout] test compile::tests::a_rate_inside_the_range_needs_a_single_atempo ... ok [INFO] [stdout] test compile::tests::an_unmapped_effect_fails_rather_than_being_dropped ... ok [INFO] [stdout] test cache::tests::store_and_lookup_round_trip ... ok [INFO] [stdout] test compile::tests::atempo_chains_beyond_the_filters_own_limit ... ok [INFO] [stdout] test compile::tests::arithmetic_blend_modes_compile_through_the_plate_path ... ok [INFO] [stdout] test compile::tests::backslashes_are_escaped_before_the_characters_they_would_escape ... ok [INFO] [stdout] test compile::tests::blur_transition_applies_gblur_on_the_composite ... ok [INFO] [stdout] test compile::tests::constant_rate_uses_setpts_in_the_speed_plan ... ok [INFO] [stdout] test compile::tests::containers_reject_streams_they_cannot_carry ... ok [INFO] [stdout] test compile::tests::curves_and_wheels_reject_keyframes_rather_than_freezing_them ... ok [INFO] [stdout] test compile::tests::curves_and_colorbalance_are_collected_as_required_filters ... ok [INFO] [stdout] test compile::tests::curves_effect_compiles_channels_with_points_sorted_by_x ... ok [INFO] [stdout] test compile::tests::curves_effect_rejects_out_of_range_coordinates_instead_of_clamping ... ok [INFO] [stdout] test compile::tests::curves_effect_rejects_points_that_are_not_strictly_increasing_in_x ... ok [INFO] [stdout] test compile::tests::curves_effect_with_no_channels_is_an_error_not_a_no_op ... ok [INFO] [stdout] test compile::tests::dropping_pitch_preservation_resamples_instead ... ok [INFO] [stdout] test compile::tests::drawtext_reads_user_text_from_a_side_file_never_inline ... ok [INFO] [stdout] test compile::tests::every_registered_transition_compiles ... ok [INFO] [stdout] test compile::tests::freeze_holds_the_first_frame_for_the_item_duration ... ok [INFO] [stdout] test compile::tests::filter_values_escape_every_structural_character ... ok [INFO] [stdout] test compile::tests::hue_and_saturation_no_longer_share_one_recipe ... ok [INFO] [stdout] test compile::tests::hsl_family_blends_compile_the_exact_pdf_graph ... ok [INFO] [stdout] test compile::tests::known_effects_map_to_real_filters ... ok [INFO] [stdout] test compile::tests::mask_key_grain_and_hsl_effects_compile ... ok [INFO] [stdout] test compile::tests::normal_blend_still_uses_plain_overlay ... ok [INFO] [stdout] test compile::tests::normal_speed_adds_no_filters ... ok [INFO] [stdout] test compile::tests::lut_effect_compiles_when_the_file_is_resolved ... ok [INFO] [stdout] test compile::tests::rates_are_passed_as_exact_fractions ... ok [INFO] [stdout] test compile::tests::required_filters_extracts_every_filter_name_from_the_graph ... ok [INFO] [stdout] test compile::tests::required_filters_ignores_separators_inside_quoted_expressions ... ok [INFO] [stdout] test compile::tests::rgba_colors_become_ffmpeg_color_at_alpha ... ok [INFO] [stdout] test compile::tests::seconds_keep_enough_precision_for_a_single_sample ... ok [INFO] [stdout] test compile::tests::side_file_bytes_are_base64_not_a_number_array ... ok [INFO] [stdout] test compile::tests::side_file_bytes_survive_a_json_round_trip ... ok [INFO] [stdout] test compile::tests::speed_curves_compile_to_source_segments ... ok [INFO] [stdout] test compile::tests::slide_animates_overlay_position ... ok [INFO] [stdout] test compile::tests::the_hsl_blend_graph_works_in_float_and_returns_packed ... ok [INFO] [stdout] test compile::tests::wheels_effect_with_every_wheel_at_zero_is_an_error_not_a_no_op ... ok [INFO] [stdout] test compile::tests::the_hsl_blend_graph_uses_every_label_exactly_once ... ok [INFO] [stdout] test compile::tests::wheels_effect_maps_lift_gamma_gain_onto_colorbalance_exactly ... ok [INFO] [stdout] test compile::tests::wheels_effect_rejects_out_of_range_offsets_instead_of_clamping ... ok [INFO] [stdout] test compile::tests::the_temporary_output_sits_beside_the_final_file ... ok [INFO] [stdout] test ir::tests::absolute_file_uris_resolve_to_their_path ... ok [INFO] [stdout] test compile::tests::wipe_emits_a_geometric_alpha_mask ... ok [INFO] [stdout] test ir::tests::an_absolute_plain_path_is_kept_as_is ... ok [INFO] [stdout] test ir::tests::percent_escapes_in_file_uris_are_decoded ... ok [INFO] [stdout] test ir::tests::relative_uris_resolve_against_the_project_directory ... ok [INFO] [stdout] test preset::tests::an_unknown_preset_points_at_discovery ... ok [INFO] [stdout] test preset::tests::audio_only_presets_disable_video_explicitly ... ok [INFO] [stdout] test ir::tests::remote_uris_are_refused_rather_than_fetched ... ok [INFO] [stdout] test preset::tests::every_preset_declares_the_encoders_it_needs ... ok [INFO] [stdout] test preset::tests::constant_quality_emits_the_encoders_own_spelling ... ok [INFO] [stdout] test ir::tests::the_plan_hash_ignores_cosmetic_differences ... ok [INFO] [stdout] test preset::tests::h264_output_args_are_complete_and_ordered ... ok [INFO] [stdout] test preset::tests::hardware_encoders_are_recognized_by_name ... ok [INFO] [stdout] test preset::tests::determinism_is_claimed_exactly_when_the_encoder_is_software ... ok [INFO] [stdout] test preset::tests::no_hardware_preset_asks_for_crf ... ok [INFO] [stdout] test preset::tests::only_the_documented_presets_claim_alpha_support ... ok [INFO] [stdout] test preset::tests::hevc_presets_tag_the_stream_for_apple_playback ... ok [INFO] [stdout] test preset::tests::hardware_presets_only_use_preset_names_their_encoder_understands ... ok [INFO] [stdout] test preset::tests::preset_ids_are_unique ... ok [INFO] [stdout] test preset::tests::the_documented_hardware_families_have_a_preset ... ok [INFO] [stdout] test preset::tests::presets_round_trip_through_json ... ok [INFO] [stdout] test preset::tests::video_only_presets_disable_audio_explicitly ... ok [INFO] [stdout] test probe::tests::a_font_with_no_readable_cmap_reports_nothing_rather_than_guessing ... ok [INFO] [stdout] test preset::tests::the_documented_p0_presets_exist ... ok [INFO] [stdout] test probe::tests::a_missing_file_is_reported_as_missing_not_as_a_probe_failure ... ok [INFO] [stdout] test probe::tests::a_file_that_only_claims_to_be_a_font_is_refused ... ok [INFO] [stdout] test probe::tests::a_fractional_display_matrix_rotation_still_lands_on_a_right_angle ... ok [INFO] [stdout] test probe::tests::a_display_matrix_becomes_clockwise_rotation ... ok [INFO] [stdout] test probe::tests::a_font_is_probed_by_reading_its_name_table ... ok [INFO] [stdout] test probe::tests::a_negative_duration_is_reported_as_unknown ... ok [INFO] [stdout] test probe::tests::a_dv_file_keeps_its_colon_spelled_sample_aspect_ratio ... ok [INFO] [stdout] test probe::tests::a_jpeg_is_an_image_by_its_container ... ok [INFO] [stdout] test probe::tests::a_non_font_extension_is_left_to_ffprobe ... ok [INFO] [stdout] test probe::tests::a_plain_thirty_fps_file_normalizes_to_video_and_audio ... ok [INFO] [stdout] test probe::tests::a_png_is_an_image_with_no_duration ... ok [INFO] [stdout] test probe::tests::a_report_with_no_usable_stream_is_invalid ... ok [INFO] [stdout] test probe::tests::a_video_stream_with_no_frame_rate_at_all_is_not_reported_as_video ... ok [INFO] [stdout] test probe::tests::a_zero_frame_rate_average_falls_back_to_the_real_frame_rate ... ok [INFO] [stdout] test probe::tests::a_stream_without_a_duration_falls_back_to_the_container ... ok [INFO] [stdout] test probe::tests::an_mp3_cover_picture_does_not_make_a_slideshow ... ok [INFO] [stdout] test probe::tests::an_animated_gif_is_still_an_image ... ok [INFO] [stdout] test probe::tests::an_opaque_image_does_not_claim_to_lack_alpha ... ok [INFO] [stdout] test probe::tests::an_empty_report_is_invalid_rather_than_an_error ... ok [INFO] [stdout] test probe::tests::an_unreadable_duration_is_absent_rather_than_fatal ... ok [INFO] [stdout] test probe::tests::a_variable_frame_rate_file_is_flagged ... ok [INFO] [stdout] test probe::tests::cover_art_is_not_video ... ok [INFO] [stdout] test probe::tests::derived_channel_layouts_cover_the_common_counts_and_admit_ignorance ... ok [INFO] [stdout] test probe::tests::detect_kind_falls_back_to_video_for_an_unusable_file ... ok [INFO] [stdout] test probe::tests::diagnostics_are_cut_on_a_character_boundary ... ok [INFO] [stdout] test probe::tests::diagnostics_are_trimmed_instead_of_pasting_a_whole_log ... ok [INFO] [stdout] test probe::tests::an_unrecorded_sample_aspect_ratio_means_square_pixels ... ok [INFO] [stdout] test probe::tests::an_mp3_without_a_channel_layout_gets_one_derived_from_its_channel_count ... ok [INFO] [stdout] test probe::tests::decimal_seconds_parse_to_the_exact_printed_digits ... ok [INFO] [stdout] test probe::tests::digests_are_lowercase_hex_as_the_schema_requires ... ok [INFO] [stdout] test probe::tests::fingerprinting_a_directory_is_refused_rather_than_silently_wrong ... ok [INFO] [stdout] test probe::tests::fingerprinting_a_file_that_is_not_there_reports_it_as_missing ... ok [INFO] [stdout] test probe::tests::missing_characters_are_deduplicated_and_exclude_the_unglyphed ... ok [INFO] [stdout] test probe::tests::motion_jpeg_video_is_not_mistaken_for_a_photo ... ok [INFO] [stdout] test probe::tests::format_4_coverage_is_read_from_the_cmap ... ok [INFO] [stdout] test probe::tests::format_12_coverage_reaches_beyond_the_bmp ... ok [INFO] [stdout] test probe::tests::placeholder_color_fields_are_dropped_rather_than_passed_through ... ok [INFO] [stdout] test probe::tests::ntsc_rates_survive_as_exact_fractions ... ok [INFO] [stdout] test probe::tests::sha256_is_independent_of_how_the_input_is_chunked ... ok [INFO] [stdout] test probe::tests::sha256_handles_the_block_boundary_lengths ... ok [INFO] [stdout] test probe::tests::sha256_matches_the_published_vectors ... ok [INFO] [stdout] test probe::tests::the_default_prober_looks_for_ffprobe_on_path ... ok [INFO] [stdout] test probe::tests::the_fast_strategy_hashes_the_content_and_the_length ... ok [INFO] [stdout] test probe::tests::the_display_matrix_wins_over_a_disagreeing_rotate_tag ... ok [INFO] [stdout] test probe::tests::unreduced_rates_that_mean_the_same_thing_are_not_variable ... ok [INFO] [stdout] test probe::tests::the_stream_duration_wins_over_a_longer_container_duration ... ok [INFO] [stdout] test run::tests::a_cancel_token_is_observable_across_clones ... ok [INFO] [stdout] test probe::tests::the_rotate_tag_is_used_when_there_is_no_display_matrix ... ok [INFO] [stdout] test probe::tests::the_stat_strategy_records_size_and_mtime_without_hashing ... ok [INFO] [stdout] test run::tests::an_existing_output_is_refused_before_any_work ... ok [INFO] [stdout] test probe::tests::the_sha256_strategy_hashes_the_whole_file ... ok [INFO] [stdout] test run::tests::progress_microseconds_convert_to_exact_frames ... ok [INFO] [stdout] test run::tests::a_missing_backend_is_reported_as_unavailable_not_as_io ... ok [INFO] [stdout] test run::tests::render_events_serialize_with_their_documented_names ... ok [INFO] [stdout] test run::tests::a_child_with_no_stdout_that_fails_reports_promptly_with_a_log ... ok [INFO] [stdout] test saved_plan::tests::a_plan_round_trips_through_json ... ok [INFO] [stdout] test run::tests::progress_end_without_a_final_frame_line_still_completes ... ok [INFO] [stdout] test saved_plan::tests::require_plan_hash_mismatch_is_stale ... ok [INFO] [stdout] test saved_plan::tests::unreadable_plan_files_are_reported_as_stale_not_project_errors ... ok [INFO] [stdout] test saved_plan::tests::a_changed_input_fingerprint_is_stale ... ok [INFO] [stdout] test saved_plan::tests::matching_fingerprints_pass_with_a_toolchain_warning ... ok [INFO] [stdout] test segment::tests::concat_list_escapes_apostrophes ... ok [INFO] [stdout] test segment::tests::segment_tiling_is_exact_for_awkward_counts ... ok [INFO] [stdout] test svg::tests::a_document_without_a_viewport_says_so ... ok [INFO] [stdout] test svg::tests::crc_and_adler_match_their_published_vectors ... ok [INFO] [stdout] test svg::tests::a_closed_path_fills_inside_and_leaves_outside_transparent ... ok [INFO] [stdout] test svg::tests::an_elliptical_arc_is_refused_by_name ... ok [INFO] [stdout] test svg::tests::fill_none_paths_are_skipped_rather_than_filled ... ok [INFO] [stdout] test svg::tests::edges_are_antialiased_rather_than_stepped ... ok [INFO] [stdout] test svg::tests::curves_bulge_away_from_the_chord ... ok [INFO] [stdout] test svg::tests::the_png_is_well_formed_enough_to_decode ... ok [INFO] [stdout] test svg::tests::relative_commands_track_the_current_point ... ok [INFO] [stdout] test tests::a_preset_needing_a_missing_encoder_is_refused ... ok [INFO] [stdout] test tests::a_preset_with_every_encoder_present_passes ... ok [INFO] [stdout] test tests::a_hardware_encoder_that_starts_is_accepted ... FAILED [INFO] [stdout] test tests::a_software_preset_never_pays_for_a_probe ... ok [INFO] [stdout] test tests::a_missing_backend_is_reported_not_panicked_on ... ok [INFO] [stdout] test tests::doctor_reports_a_missing_backend_as_structured_issues ... ok [INFO] [stdout] test tests::a_hardware_encoder_that_cannot_start_is_refused_before_the_render ... ok [INFO] [stdout] test probe::tests::the_fast_strategy_separates_files_that_differ_only_in_length ... ok [INFO] [stdout] test probe::tests::the_fast_strategy_reads_the_head_and_tail_of_a_large_file ... ok [INFO] [stdout] test run::tests::cancel_interrupts_a_silent_child_within_the_shutdown_deadline ... ok [INFO] [stdout] test run::tests::cancel_with_a_flooded_stdout_pipe_does_not_deadlock ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::a_hardware_encoder_that_starts_is_accepted stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'tests::a_hardware_encoder_that_starts_is_accepted' (1944) panicked at crates/agentcut-render/src/lib.rs:691:9: [INFO] [stdout] an encoder that starts must be usable [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x59efd134d036 - [INFO] [stdout] 1: 0x59efd12f617a - [INFO] [stdout] 2: 0x59efd1352c3c - [INFO] [stdout] 3: 0x59efd1322cb2 - [INFO] [stdout] 4: 0x59efd13438b1 - [INFO] [stdout] 5: 0x59efd1343a92 - [INFO] [stdout] 6: 0x59efd1322d94 - [INFO] [stdout] 7: 0x59efd131b1f9 - [INFO] [stdout] 8: 0x59efd1327e9d - [INFO] [stdout] 9: 0x59efd12f686c - [INFO] [stdout] 10: 0x59efd12a8a9d - [INFO] [stdout] 11: 0x59efd1354a0b - [INFO] [stdout] 12: 0x59efd1362b61 - [INFO] [stdout] 13: 0x59efd135bdc4 - [INFO] [stdout] 14: 0x59efd1366982 - [INFO] [stdout] 15: 0x59efd134bdfe - [INFO] [stdout] 16: 0x7ab40c1d407a - [INFO] [stdout] 17: 0x7ab40c267534 - clone [INFO] [stdout] 18: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::a_hardware_encoder_that_starts_is_accepted [INFO] [stdout] [INFO] [stdout] test result: FAILED. 160 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p agentcut-render --lib` [INFO] running `Command { std: "docker" "inspect" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247", kill_on_drop: false }` [INFO] [stdout] 1bc1c992ff372f044fff4887e9118f03627e21b574647c86047ce2c1c8d66247