[INFO] fetching crate episodic 0.2.3...
[INFO] testing episodic-0.2.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate episodic 0.2.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate episodic 0.2.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate episodic 0.2.3
[INFO] tweaked toml for crates.io crate episodic 0.2.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate episodic 0.2.3 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 episodic 0.2.3 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:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/AxiomOrient/AxiomSync"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/AxiomOrient/AxiomSync"
[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: `episodic` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc
[INFO] running `Command { std: "docker" "start" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", 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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc" "/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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", 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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/AxiomOrient/AxiomSync"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/AxiomOrient/AxiomSync"
[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: `episodic` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling episodic v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 26.78s
[INFO] running `Command { std: "docker" "inspect" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", 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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/AxiomOrient/AxiomSync"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/AxiomOrient/AxiomSync"
[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: `episodic` (manifest) generated 1 warning
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling clap_builder v4.5.58
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.58
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling episodic v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 00s
[INFO] running `Command { std: "docker" "inspect" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", 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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | homepage = "https://github.com/AxiomOrient/AxiomSync"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 | repository = "https://github.com/AxiomOrient/AxiomSync"
[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: `episodic` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/episodic/59d5896195a3fbd8/out/episodic-59d5896195a3fbd8)
[INFO] [stdout] 
[INFO] [stdout] running 218 tests
[INFO] [stdout] test addon::tests::observe_async_delegates_to_sync_observe_by_default ... ok
[INFO] [stdout] test addon::tests::apply_async_propagates_sync_error_by_default ... ok
[INFO] [stdout] test addon::tests::observe_async_propagates_sync_error_by_default ... ok
[INFO] [stdout] test addon::tests::reflection_command_builder_maps_reflection_action_to_command ... ok
[INFO] [stdout] test addon::tests::reflect_async_delegates_to_sync_reflect_by_default ... ok
[INFO] [stdout] test addon::tests::reflection_command_builder_rejects_empty_scope_key ... ok
[INFO] [stdout] test config::tests::block_after_multiplier_one_resolves_to_threshold ... ok
[INFO] [stdout] test config::tests::buffer_tokens_input_deserialization_rejects_invalid_shapes ... ok
[INFO] [stdout] test addon::tests::reflection_command_builder_rejects_invalid_timestamp ... ok
[INFO] [stdout] test addon::tests::reflection_command_builder_trims_scope_and_timestamp_inputs ... ok
[INFO] [stdout] test config::tests::defaults_match_expected_thresholds_and_async_defaults ... ok
[INFO] [stdout] test config::tests::invalid_reflection_activation_is_rejected ... ok
[INFO] [stdout] test config::tests::invalid_reflection_block_after_is_rejected ... ok
[INFO] [stdout] test config::tests::invalid_reflection_observation_tokens_is_rejected ... ok
[INFO] [stdout] test config::tests::non_finite_block_after_is_rejected ... ok
[INFO] [stdout] test config::tests::invalid_max_tokens_per_batch_is_rejected ... ok
[INFO] [stdout] test config::tests::invalid_observation_message_tokens_is_rejected ... ok
[INFO] [stdout] test config::tests::invalid_buffer_activation_is_rejected ... ok
[INFO] [stdout] test config::tests::observation_buffer_tokens_must_be_below_threshold ... ok
[INFO] [stdout] test config::tests::observation_buffer_tokens_absolute_zero_is_rejected ... ok
[INFO] [stdout] test config::tests::ratio_buffer_tokens_json_value_resolves_expected_interval_tokens ... ok
[INFO] [stdout] test config::tests::resource_scope_disables_async_by_default_when_not_explicit ... ok
[INFO] [stdout] test config::tests::share_token_budget_allows_explicit_buffer_disable ... ok
[INFO] [stdout] test config::tests::resource_scope_rejects_explicit_observation_block_after ... ok
[INFO] [stdout] test config::tests::resource_scope_rejects_explicit_reflection_block_after ... ok
[INFO] [stdout] test config::tests::share_token_budget_rejects_default_async_buffering ... ok
[INFO] [stdout] test addon::tests::apply_async_delegates_to_sync_apply_by_default ... ok
[INFO] [stdout] test config::tests::buffer_tokens_input_serialization_roundtrip_is_explicit_and_stable ... ok
[INFO] [stdout] test config::tests::resource_scope_allows_explicit_buffer_disable ... ok
[INFO] [stdout] test config::tests::resource_scope_rejects_explicit_async_buffering ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_compacts_whitespace_and_obeys_char_budget ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_counts_multibyte_char_budget_by_chars ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_deduplicates_identical_lines ... ok
[INFO] [stdout] test addon::tests::reflect_async_propagates_sync_error_by_default ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_reserves_continuation_line ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_returns_none_on_zero_limits_or_empty_input ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_treats_embedded_priority_high_as_high_priority ... ok
[INFO] [stdout] test inference::tests::observer_request_deserialization_defaults_optional_fields_to_none ... ok
[INFO] [stdout] test inference::tests::observer_request_roundtrip_preserves_optional_fields_when_present ... ok
[INFO] [stdout] test inference::tests::observer_request_serialization_skips_none_optional_fields ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_uses_recent_lines_and_prefix ... ok
[INFO] [stdout] test inference::tests::observer_response_roundtrip_skips_optional_fields_when_none ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_treats_priority_high_prefix_as_high_priority ... ok
[INFO] [stdout] test model::tests::deterministic_observer_response_v2_roundtrip_and_evidence_contract_are_stable ... ok
[INFO] [stdout] test inference::tests::reflector_request_and_response_roundtrip_support_optional_fields ... ok
[INFO] [stdout] test model::tests::continuation_policy_v2_default_thresholds_are_stable ... ok
[INFO] [stdout] test model::tests::continuation_state_v2_roundtrip_and_optional_field_omission_is_stable ... ok
[INFO] [stdout] test model::tests::hint_policy_v2_default_contract_is_stable ... ok
[INFO] [stdout] test model::tests::observation_entry_v2_invariants_report_invalid_rfc3339_timestamp ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_empty_identifiers_and_orphan_reflection_metadata ... ok
[INFO] [stdout] test model::tests::observation_entry_and_reflection_response_v2_roundtrip_is_stable ... ok
[INFO] [stdout] test model::tests::om_record_deserialization_applies_defaults_for_optional_collections_and_counters ... ok
[INFO] [stdout] test model::tests::observation_entry_v2_invariants_report_empty_required_fields ... ok
[INFO] [stdout] test model::tests::om_record_invariants_accept_valid_sample_record ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_empty_resource_identifier ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_scope_identifier_and_scope_key_contract_mismatch ... ok
[INFO] [stdout] test context::tests::bounded_observation_hint_preserves_high_priority_signal ... ok
[INFO] [stdout] test model::tests::om_record_rejects_unknown_scope_value ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_empty_scope_key_and_empty_buffered_reflection ... ok
[INFO] [stdout] test model::tests::om_thread_ref_v2_roundtrip_and_optional_field_omission_is_stable ... ok
[INFO] [stdout] test model::tests::om_record_serialization_skips_none_optional_text_fields ... ok
[INFO] [stdout] test model::tests::search_visible_snapshot_v2_invariants_report_invalid_rfc3339_timestamp ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_scope_key_identifier_mismatch ... ok
[INFO] [stdout] test model::tests::om_record_roundtrip_preserves_explicit_data ... ok
[INFO] [stdout] test model::tests::search_visible_snapshot_v2_invariants_validate_snapshot_and_visible_entries ... ok
[INFO] [stdout] test model::tests::om_scope_and_origin_type_string_contracts_are_stable ... ok
[INFO] [stdout] test model::tests::search_visible_snapshot_v2_roundtrip_and_optional_field_omission_is_stable ... ok
[INFO] [stdout] test parse::tests::aggregate_multi_thread_sections_escapes_xml_sensitive_values ... ok
[INFO] [stdout] test parse::tests::aggregate_multi_thread_sections_prefers_primary_thread_metadata ... ok
[INFO] [stdout] test parse::tests::list_item_fallback_preserves_nested_indentation ... ok
[INFO] [stdout] test parse::tests::observations_sections_join_multiple_blocks_and_ignore_inline_mentions ... ok
[INFO] [stdout] test parse::tests::observations_sections_recover_from_overlapping_sections ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_accuracy_first_falls_back_to_lenient_when_strict_empty ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_accuracy_first_prefers_strict_when_usable ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_xml_parses_single_line_task_and_response_tags ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_xml_prefers_last_task_and_response_tags ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_xml_reads_observations_and_tags ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_xml_falls_back_to_list_items ... ok
[INFO] [stdout] test parse::tests::parse_memory_section_accuracy_first_prefers_lenient_when_only_lenient_has_observations ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_resource_scope_contract_mismatch ... ok
[INFO] [stdout] test model::tests::om_record_invariants_report_resource_scope_key_identifier_mismatch ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_observer_output_decodes_escaped_thread_id_for_primary_selection ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_accuracy_first_falls_back_when_strict_has_no_observations ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_accuracy_first_prefers_strict_when_observations_exist ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_observer_output_ignores_invalid_thread_id ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_observer_output_reads_thread_sections ... ok
[INFO] [stdout] test parse::tests::parse_multi_thread_observer_output_recovers_from_unclosed_leading_block ... ok
[INFO] [stdout] test parse::tests::parsing_is_ascii_case_insensitive_for_tag_tokens ... ok
[INFO] [stdout] test parse::tests::strict_mode_does_not_recover_overlapping_observation_sections ... ok
[INFO] [stdout] test parse::tests::tag_content_requires_line_anchored_tags ... ok
[INFO] [stdout] test parse::tests::thread_block_extraction_prefers_line_anchored_close_over_inline_token ... ok
[INFO] [stdout] test parse::tests::strict_mode_does_not_recover_unclosed_leading_thread_block ... ok
[INFO] [stdout] test parse::tests::tag_content_prefers_last_non_empty_section_when_multiple_exist ... ok
[INFO] [stdout] test parse::tests::thread_section_removal_ignores_inline_tag_literals ... ok
[INFO] [stdout] test pipeline::tests::process_input_step_plan_sync_mode_never_activates_buffered_before_observer ... ok
[INFO] [stdout] test parse::tests::thread_section_removal_prefers_latest_metadata_and_strips_all_metadata_blocks ... ok
[INFO] [stdout] test pipeline::tests::process_input_step_plan_non_initial_step_does_not_activate_before_observer ... ok
[INFO] [stdout] test parse::tests::thread_section_removal_prefers_line_anchored_closing_tag_over_inline_token ... ok
[INFO] [stdout] test pipeline::tests::process_input_step_plan_matches_initial_step_activation_semantics ... ok
[INFO] [stdout] test pipeline::tests::process_output_result_plan_saves_only_when_writable_and_non_empty ... ok
[INFO] [stdout] test prompt::tests::format_observer_messages_for_prompt_normalizes_role_and_formats_timestamp ... ok
[INFO] [stdout] test prompt::tests::multi_thread_observer_prompt_contract_v2_sets_multi_request_kind ... ok
[INFO] [stdout] test prompt::tests::format_observer_messages_for_prompt_uses_unknown_role_and_skips_invalid_timestamp ... ok
[INFO] [stdout] test pipeline::tests::process_input_step_plan_read_only_disables_writes_and_reflection_decision ... ok
[INFO] [stdout] test pipeline::tests::process_input_step_plan_skips_pre_activation_when_no_buffered_chunks_exist ... ok
[INFO] [stdout] test prompt::tests::observer_prompt_contract_v2_snapshot_is_stable ... ok
[INFO] [stdout] test prompt::tests::multi_thread_prompt_escapes_existing_observations_inside_data_block ... ok
[INFO] [stdout] test prompt::tests::multi_thread_observer_system_prompt_mentions_thread_blocks ... ok
[INFO] [stdout] test prompt::tests::multi_thread_prompt_can_skip_continuation_hints ... ok
[INFO] [stdout] test prompt::tests::multi_thread_prompt_escapes_xml_sensitive_thread_values ... ok
[INFO] [stdout] test prompt::tests::multi_thread_prompt_formats_thread_blocks ... ok
[INFO] [stdout] test prompt::tests::observer_prompt_escapes_existing_and_other_context_blocks ... ok
[INFO] [stdout] test prompt::tests::observer_prompt_escapes_message_history_inside_data_block ... ok
[INFO] [stdout] test prompt::tests::observer_system_prompt_is_deterministic ... ok
[INFO] [stdout] test prompt::tests::observer_system_prompt_uses_state_change_instructions ... ok
[INFO] [stdout] test prompt::tests::parse_observer_prompt_contract_v2_reports_contract_version_mismatch ... ok
[INFO] [stdout] test prompt::tests::parse_observer_prompt_contract_v2_reports_request_kind_mismatch ... ok
[INFO] [stdout] test prompt::tests::reflector_prompt_contract_v2_disables_continuation_when_requested ... ok
[INFO] [stdout] test prompt::tests::parse_reflector_prompt_contract_v2_reports_missing_required_field ... ok
[INFO] [stdout] test prompt::tests::reflector_prompt_applies_guidance_and_skip_rule ... ok
[INFO] [stdout] test prompt::tests::reflector_system_prompt_uses_base_output_contract ... ok
[INFO] [stdout] test transform::tests::activation::activate_buffered_observations_normalizes_boundary_when_buffer_remains ... ok
[INFO] [stdout] test transform::tests::activation::activate_buffered_observations_returns_result_for_seq_zero_chunks ... ok
[INFO] [stdout] test transform::tests::activation::activate_buffered_observations_updates_record_and_chunk_state ... ok
[INFO] [stdout] test transform::tests::activation::dynamic_threshold_with_shared_budget_uses_remaining_space ... ok
[INFO] [stdout] test prompt::tests::observer_prompt_escapes_request_json_inside_data_block ... ok
[INFO] [stdout] test transform::tests::activation::dynamic_threshold_without_shared_budget_returns_base ... ok
[INFO] [stdout] test prompt::tests::observer_prompt_includes_required_sections ... ok
[INFO] [stdout] test prompt::tests::observer_system_prompt_exposes_output_contract_sections ... ok
[INFO] [stdout] test prompt::tests::parse_observer_prompt_contract_v2_reports_missing_required_field ... ok
[INFO] [stdout] test transform::tests::activation::normalize_observation_buffer_boundary_clamps_to_current_tokens ... ok
[INFO] [stdout] test transform::tests::continuation::resolve_continuation_update_falls_back_to_previous_metadata_when_candidate_is_blank ... ok
[INFO] [stdout] test transform::tests::continuation::resolve_continuation_update_replaces_with_stronger_candidate_and_normalizes_ids ... ok
[INFO] [stdout] test transform::tests::continuation::resolve_continuation_update_returns_none_when_no_eligible_signal_and_no_previous_state ... ok
[INFO] [stdout] test transform::tests::observer::async_observation_interval_trigger_uses_boundary_crossing ... ok
[INFO] [stdout] test prompt::tests::reflector_prompt_escapes_data_like_content_in_all_user_blocks ... ok
[INFO] [stdout] test transform::tests::activation::select_activation_boundary_prefers_under_target_boundary ... ok
[INFO] [stdout] test transform::tests::activation::select_activation_boundary_returns_zero_for_empty_chunks ... ok
[INFO] [stdout] test transform::tests::observer::build_other_conversation_blocks_escapes_xml_sensitive_values ... ok
[INFO] [stdout] test transform::tests::activation::merge_activated_observations_appends_chunk_observations ... ok
[INFO] [stdout] test transform::tests::observer::build_other_conversation_blocks_normalizes_session_ids_before_filtering_and_grouping ... ok
[INFO] [stdout] test transform::tests::activation::select_activation_boundary_saturates_token_totals_to_u32_max ... ok
[INFO] [stdout] test transform::tests::observer::build_other_conversation_blocks_groups_peer_messages_by_source ... ok
[INFO] [stdout] test transform::tests::observer::combine_observations_for_buffering_matches_expected_separator_behavior ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_emits_task_and_response_for_user_request ... ok
[INFO] [stdout] test transform::tests::continuation::resolve_continuation_update_preserves_previous_fields_on_weaker_candidate ... ok
[INFO] [stdout] test transform::tests::observer::compute_pending_tokens_saturates_on_overflow ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_handles_mixed_language_request ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_accepts_localized_user_role_label ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_ignores_code_like_question_token_without_request_cues ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_extracts_identifier_from_cjk_error_without_whitespace ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_recognizes_english_question_task_signal ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_recognizes_japanese_task_signal ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_ignores_non_task_korean_status_sentence ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_preserves_error_identifier_in_suggestion ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_recognizes_chinese_task_signal ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_observer_response_v2_emits_evidence_and_preserves_error_identifier ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_observer_response_v2_suppresses_suggested_response_for_low_confidence_task ... ok
[INFO] [stdout] test transform::tests::observer::evaluate_async_observation_interval_reports_explicit_state ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_uses_korean_error_template ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_ignores_non_task_chinese_status_sentence ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_ignores_non_task_japanese_status_sentence ... ok
[INFO] [stdout] test transform::tests::observer::filter_observer_candidates_by_last_observed_at_keeps_messages_at_or_after_cutoff ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_recognizes_korean_task_signal ... ok
[INFO] [stdout] test transform::tests::observer::observer_continuation_hints_are_skipped_only_for_interval_buffering_path ... ok
[INFO] [stdout] test transform::tests::observer::observer_trigger_requires_threshold ... ok
[INFO] [stdout] test transform::tests::observer::observer_write_decision_matches_async_and_sync_paths ... ok
[INFO] [stdout] test transform::tests::observer::select_observer_message_candidates_is_deterministic_on_ties ... ok
[INFO] [stdout] test transform::tests::observer::select_observer_message_candidates_filters_and_keeps_recent_order ... ok
[INFO] [stdout] test transform::tests::observer::split_pending_and_other_conversation_candidates_partitions_by_session ... ok
[INFO] [stdout] test transform::tests::observer::select_observer_message_candidates_returns_empty_when_max_messages_zero ... ok
[INFO] [stdout] test transform::tests::observer::split_pending_and_other_conversation_candidates_keeps_empty_pending_when_no_local_session ... ok
[INFO] [stdout] test transform::tests::observer::split_pending_and_other_conversation_candidates_trims_session_ids ... ok
[INFO] [stdout] test transform::tests::observer::synthesize_observer_observations_deduplicates_against_active_and_batch ... ok
[INFO] [stdout] test transform::tests::reflection::apply_reflection_response_v2_is_idempotent_for_same_input ... ok
[INFO] [stdout] test transform::tests::reflection::apply_reflection_response_v2_is_stable_under_line_wrap_perturbation ... ok
[INFO] [stdout] test transform::tests::reflection::apply_reflection_response_v2_marks_covered_entries_and_appends_reflection_entry ... ok
[INFO] [stdout] test transform::tests::reflection::apply_reflection_response_v2_noops_when_required_reflection_metadata_is_blank ... ok
[INFO] [stdout] test transform::tests::observer::select_observed_message_candidates_filters_to_observed_ids ... ok
[INFO] [stdout] test transform::tests::observer::select_observed_message_candidates_returns_all_when_observed_ids_empty ... ok
[INFO] [stdout] test transform::tests::observer::select_observed_message_candidates_returns_empty_when_ids_do_not_match ... ok
[INFO] [stdout] test transform::tests::observer::synthesize_observer_observations_uses_fallback_when_all_lines_deduped ... ok
[INFO] [stdout] test transform::tests::observer::deterministic_continuation_returns_none_without_task_signal ... ok
[INFO] [stdout] test transform::tests::reflection::build_reflection_draft_returns_none_for_zero_char_budget ... ok
[INFO] [stdout] test transform::tests::reflection::plan_buffered_reflection_slice_matches_boundary_math ... ok
[INFO] [stdout] test transform::tests::reflection::merge_buffered_reflection_keeps_unmatched_prefix_lines ... ok
[INFO] [stdout] test transform::tests::reflection::plan_buffered_reflection_slice_uses_all_lines_when_average_is_zero ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_action_skips_when_reflection_or_buffering_already_in_progress ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_action_with_async_buffers_at_activation_point ... ok
[INFO] [stdout] test transform::tests::reflection::build_reflection_draft_returns_none_for_empty_text ... ok
[INFO] [stdout] test transform::tests::reflection::apply_reflection_response_v2_noops_when_covered_ids_do_not_match_entries ... ok
[INFO] [stdout] test transform::tests::reflection::build_reflection_draft_compacts_non_empty_lines ... ok
[INFO] [stdout] test transform::tests::reflection::merge_buffered_reflection_replaces_reflected_prefix_and_keeps_suffix ... ok
[INFO] [stdout] test transform::tests::reflection::reflector_compression_guidance_is_empty_at_level_zero ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_enqueue_decision_reflect_path_sets_reflecting_without_buffering ... ok
[INFO] [stdout] test transform::tests::reflection::reflector_compression_guidance_returns_level_text ... ok
[INFO] [stdout] test transform::tests::scope::build_scope_key_rejects_missing_identifier_for_each_scope ... ok
[INFO] [stdout] test transform::tests::reflection::reflector_trigger_is_strictly_greater_than_threshold ... ok
[INFO] [stdout] test transform::tests::reflection::validate_reflection_compression_is_strictly_less_than_target ... ok
[INFO] [stdout] test transform::tests::scope::build_scope_key_requires_identifier_by_scope ... ok
[INFO] [stdout] test transform::tests::scope::build_scope_key_trims_identifiers_and_ignores_unrelated_ids ... ok
[INFO] [stdout] test transform::tests::scope::canonical_thread_ref_resource_scope_prefers_source_thread_then_session ... ok
[INFO] [stdout] test transform::tests::scope::canonical_thread_ref_is_deterministic_for_same_input ... ok
[INFO] [stdout] test transform::tests::snapshot::render_search_hint_fills_high_priority_slots_after_duplicate_high_entries ... ok
[INFO] [stdout] test transform::tests::snapshot::materialize_search_visible_snapshot_excludes_buffered_entries_when_policy_disables_them ... ok
[INFO] [stdout] test transform::tests::snapshot::render_search_hint_preserves_current_task_and_high_priority_under_tight_budget ... ok
[INFO] [stdout] test transform::tests::scope::canonical_thread_ref_falls_back_to_session_and_scope_key_identifiers ... ok
[INFO] [stdout] test xml::tests::escape_xml_attribute_replaces_attribute_entities ... ok
[INFO] [stdout] test transform::tests::snapshot::render_search_hint_uses_deterministic_tie_break_for_same_timestamp ... ok
[INFO] [stdout] test transform::tests::snapshot::materialize_search_visible_snapshot_combines_entries_and_continuation ... ok
[INFO] [stdout] test xml::tests::escape_xml_drops_disallowed_control_characters ... ok
[INFO] [stdout] test xml::tests::escape_xml_is_identity_for_plain_text ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_action_without_async_reflects_only_after_threshold ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_enqueue_decision_creates_command_and_next_flags ... ok
[INFO] [stdout] test xml::tests::unescape_xml_attribute_decodes_named_and_numeric_entities ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_action_with_async_reflects_from_buffer_when_threshold_exceeded ... ok
[INFO] [stdout] test transform::tests::reflection::reflection_action_with_async_uses_block_after_for_sync_fallback ... ok
[INFO] [stdout] test xml::tests::escape_xml_text_replaces_core_entities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 218 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_fixtures.rs (/opt/rustwide/target/release/build/episodic/aeee9c3ea4848722/out/contract_fixtures-aeee9c3ea4848722)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test observer_contract_fixture_missing_scope_key_reports_diagnostic ... ok
[INFO] [stdout] test observer_contract_fixture_valid_is_accepted ... ok
[INFO] [stdout] test observer_contract_fixture_version_mismatch_reports_diagnostic ... ok
[INFO] [stdout] test reflector_contract_fixture_valid_is_accepted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stderr]      Running tests/parity_fixtures.rs (/opt/rustwide/target/release/build/episodic/096f7e8a079eaccd/out/parity_fixtures-096f7e8a079eaccd)
[INFO] [stdout] test activation_boundary_parity_cases_match_expected_results ... ok
[INFO] [stdout] test process_input_step_parity_cases_match_expected_results ... ok
[INFO] [stdout] test process_output_result_parity_cases_match_expected_results ... ok
[INFO] [stdout] test reflection_action_parity_cases_match_expected_results ... ok
[INFO] [stdout] test config_parity_cases_match_expected_results ... ok
[INFO] [stdout] test reflector_trigger_parity_cases_match_expected_results ... ok
[INFO] [stdout] test observer_write_decision_cases_match_expected_results ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/runtime_behavior_validation.rs (/opt/rustwide/target/release/build/episodic/e0b1950b9edc04d3/out/runtime_behavior_validation-e0b1950b9edc04d3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test runtime_synthesizes_observations_with_dedup_and_forward_progress ... ok
[INFO] [stdout] test runtime_handles_garbage_input_without_panic_or_nondeterminism ... ok
[INFO] [stdout] test runtime_parses_precise_single_section_xml_with_metadata ... ok
[INFO] [stdout] test runtime_parses_structured_multi_thread_payload ... ok
[INFO] [stdout] test runtime_pipeline_decision_matches_realistic_load_thresholds ... ok
[INFO] [stdout] test runtime_prefers_lenient_only_when_strict_has_no_observation_signal ... ok
[INFO] [stdout] test runtime_selects_observed_candidates_from_mixed_and_noisy_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests episodic
[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" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc", kill_on_drop: false }`
[INFO] [stdout] 9547bc5b0692cffdf9387035eed95f83087290b8ee22ed9d3a32bfbd171a60dc
