[INFO] fetching crate contextgraph-host 2.0.0...
[INFO] testing contextgraph-host-2.0.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate contextgraph-host 2.0.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate contextgraph-host 2.0.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate contextgraph-host 2.0.0
[INFO] tweaked toml for crates.io crate contextgraph-host 2.0.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate contextgraph-host 2.0.0 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 contextgraph-host 2.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.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-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9
[INFO] running `Command { std: "docker" "start" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", 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" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9" "/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" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", 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" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling http-body-util v0.1.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio v1.53.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling contextgraph-types v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling contextgraph-host v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 25s
[INFO] running `Command { std: "docker" "inspect" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", 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" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9" "/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]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling contextgraph-host v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", 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" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/contextgraph-host/0c97cc855f8b5994/out/contextgraph_host-0c97cc855f8b5994)
[INFO] [stdout] 
[INFO] [stdout] running 172 tests
[INFO] [stdout] test compose::compose_module_tests::a_composed_prompt_opens_with_the_evidence_preamble ... ok
[INFO] [stdout] test compose::compose_module_tests::an_unverifiable_frame_is_included_but_flagged ... ok
[INFO] [stdout] test compose::compose_module_tests::dedup_falls_back_to_provenance_overlap_when_digests_differ ... ok
[INFO] [stdout] test compose::compose_module_tests::dedup_is_independent_of_arrival_order ... ok
[INFO] [stdout] test compose::compose_module_tests::dedup_merges_the_provenance_of_the_collapsed_group ... ok
[INFO] [stdout] test compose::compose_module_tests::no_injection_shaped_payload_escapes_its_frame_fence ... ok
[INFO] [stdout] test compose::compose_module_tests::the_audit_is_a_total_partition_that_explains_every_drop ... ok
[INFO] [stdout] test compose::compose_module_tests::the_citation_map_resolves_each_label_to_its_identity_and_provenance ... ok
[INFO] [stdout] test compose::compose_module_tests::value_ordering_places_the_best_frames_at_the_edges ... ok
[INFO] [stdout] test compose::tests::a_quote_in_a_citation_label_cannot_break_out_of_the_attribute ... ok
[INFO] [stdout] test compose::compose_module_tests::value_ordering_is_a_pure_function_of_the_set ... ok
[INFO] [stdout] test compose::compose_module_tests::a_budget_split_never_lets_honest_legs_exceed_the_whole ... ok
[INFO] [stdout] test compose::compose_module_tests::the_same_digest_from_two_providers_collapses_keeping_the_higher_score ... ok
[INFO] [stdout] test compose::tests::canonical_order_is_by_provider_then_frame_id ... ok
[INFO] [stdout] test compose::tests::content_cannot_close_the_fence_that_quotes_it ... ok
[INFO] [stdout] test compose::tests::content_is_fenced_as_quoted_material ... ok
[INFO] [stdout] test compose::tests::input_order_does_not_change_the_rendering ... ok
[INFO] [stdout] test compose::tests::ordinary_markup_in_content_is_left_alone ... ok
[INFO] [stdout] test compose::tests::relevance_and_cost_are_not_part_of_the_rendered_bytes ... ok
[INFO] [stdout] test compose::tests::same_frame_set_renders_byte_identically_twice ... ok
[INFO] [stdout] test consent::tests::a_receipt_for_the_wrong_scope_does_not_unlock_a_different_scope ... ok
[INFO] [stdout] test consent::tests::a_scoped_provider_is_gated_until_every_off_machine_scope_has_a_receipt ... ok
[INFO] [stdout] test consent::tests::a_caller_supplied_instant_is_preserved_not_overwritten ... ok
[INFO] [stdout] test consent::tests::a_local_only_scope_needs_no_receipt ... ok
[INFO] [stdout] test compose::tests::escaping_is_deterministic_so_composition_stays_byte_stable ... ok
[INFO] [stdout] test consent::tests::a_serialized_store_carries_its_receipt_ledger_across_runs ... ok
[INFO] [stdout] test compose::tests::an_embedded_opening_tag_cannot_forge_a_sibling_frame ... ok
[INFO] [stdout] test compose::tests::identical_identities_are_deduplicated ... ok
[INFO] [stdout] test consent::tests::a_non_f4_instant_is_refused_rather_than_stored ... ok
[INFO] [stdout] test consent::tests::egress_providers_are_gated_until_consent_is_recorded ... ok
[INFO] [stdout] test consent::tests::local_providers_never_need_consent ... ok
[INFO] [stdout] test consent::tests::an_expired_receipt_is_not_live_but_stays_in_the_ledger ... ok
[INFO] [stdout] test consent::tests::consent_store_is_serde_able_for_persistence ... ok
[INFO] [stdout] test consent::tests::receipts_are_append_only_and_carry_the_full_audit_trail ... ok
[INFO] [stdout] test host::tests::a_failed_verify_drops_that_providers_frames_without_touching_another ... ok
[INFO] [stdout] test host::tests::a_budgeted_fan_out_keeps_honest_legs_under_the_global_budget ... ok
[INFO] [stdout] test host::tests::a_provider_lying_about_token_cost_has_its_frames_dropped_loudly ... ok
[INFO] [stdout] test host::tests::a_fan_out_rolls_up_into_a_self_consistent_usage_report ... ok
[INFO] [stdout] test host::tests::a_frame_without_a_digest_is_unverifiable_and_never_sent ... ok
[INFO] [stdout] test host::tests::a_provider_returning_more_than_max_frames_has_them_dropped_loudly ... ok
[INFO] [stdout] test host::tests::a_gone_frame_is_dropped_and_not_worth_re_querying ... ok
[INFO] [stdout] test host::tests::a_provider_without_verify_support_is_never_asked_and_falls_back_to_requery ... ok
[INFO] [stdout] test host::tests::a_scoped_egress_provider_is_not_queried_until_a_receipt_is_recorded ... ok
[INFO] [stdout] test consent::tests::recording_consent_stamps_when_it_was_granted ... ok
[INFO] [stdout] test host::tests::a_stale_frame_is_dropped_and_a_valid_one_is_retained ... ok
[INFO] [stdout] test host::tests::held_frames_are_grouped_into_one_request_per_provider ... ok
[INFO] [stdout] test consent::tests::revoking_consent_reshuts_the_gate ... ok
[INFO] [stdout] test host::tests::query_provider_reports_unknown_ids ... ok
[INFO] [stdout] test host::tests::one_failing_provider_never_poisons_the_others ... ok
[INFO] [stdout] test host::tests::query_all_collects_frames_from_healthy_providers ... ok
[INFO] [stdout] test host::tests::the_budget_split_enforces_a_per_leg_ceiling_the_flat_fan_out_does_not ... ok
[INFO] [stdout] test host::tests::an_egress_provider_is_not_queried_until_consent_is_recorded ... ok
[INFO] [stdout] test host::tests::an_unknown_verdict_and_a_missing_verdict_both_drop_the_frame ... ok
[INFO] [stdout] test host::tests::frames_from_an_unregistered_provider_are_dropped_not_ignored ... ok
[INFO] [stdout] test host::tests::the_host_composes_the_same_frame_set_to_identical_bytes_across_turns ... ok
[INFO] [stdout] test host::tests::the_partition_is_total_so_every_held_frame_is_accounted_for ... ok
[INFO] [stdout] test host::tests::verifying_an_empty_held_set_is_a_no_op ... ok
[INFO] [stdout] test http::tests::a_plaintext_non_loopback_transport_is_refused_before_any_bytes_leave ... ok
[INFO] [stdout] test http::tests::a_credential_is_redacted_in_every_rendering_and_never_in_an_error ... ok
[INFO] [stdout] test http::tests::a_provider_error_body_is_clamped_before_it_reaches_a_host_error ... ok
[INFO] [stdout] test http::tests::a_provider_cannot_redirect_the_query_payload_to_an_unvetted_host ... ok
[INFO] [stdout] test http::tests::a_non_envelope_http_body_is_a_clean_wire_error ... ok
[INFO] [stdout] test http::tests::a_refused_redirect_names_itself_and_its_target ... ok
[INFO] [stdout] test http::tests::a_supplied_credential_is_attached_as_a_bearer_header ... ok
[INFO] [stdout] test http::tests::the_exported_c7_rule_classifies_every_loopback_spelling ... ok
[INFO] [stdout] test http::tests::http_version_mismatch_rejects_the_provider ... ok
[INFO] [stdout] test ingest::tests::a_column_type_is_inferred_from_values_not_from_null_markers ... ok
[INFO] [stdout] test ingest::tests::a_comma_spliced_paragraph_is_not_a_csv ... ok
[INFO] [stdout] test http::tests::http_handshake_then_query_round_trips_via_wiremock ... ok
[INFO] [stdout] test ingest::tests::a_compact_frame_actually_shrinks_a_large_log_and_stays_rehydratable ... ok
[INFO] [stdout] test http::tests::http_transport_forces_egress_even_when_the_remote_claims_local ... ok
[INFO] [stdout] test ingest::tests::a_csv_distills_to_a_shape_a_sample_and_types ... ok
[INFO] [stdout] test compose::compose_module_tests::composed_tokens_never_exceed_the_global_budget_over_many_combos ... ok
[INFO] [stdout] test ingest::tests::a_csv_is_classified_as_a_table ... ok
[INFO] [stdout] test ingest::tests::a_digest_is_well_formed_and_lowercase ... ok
[INFO] [stdout] test ingest::tests::a_directory_reference_becomes_an_anchor_with_no_frame ... ok
[INFO] [stdout] test ingest::tests::a_log_block_is_classified_as_a_log ... ok
[INFO] [stdout] test ingest::tests::a_log_that_merely_contains_a_traceback_is_still_a_log ... ok
[INFO] [stdout] test ingest::tests::a_fenced_block_is_code_regardless_of_content ... ok
[INFO] [stdout] test ingest::tests::a_bare_path_is_a_path_reference_not_a_frame ... ok
[INFO] [stdout] test ingest::tests::a_pipe_delimited_log_is_an_episode_not_a_fact ... ok
[INFO] [stdout] test ingest::tests::a_pipe_table_is_classified_as_a_table ... ok
[INFO] [stdout] test ingest::tests::a_real_world_log_now_carries_the_temporal_window_it_always_had ... ok
[INFO] [stdout] test ingest::tests::a_pasted_traceback_becomes_a_compact_episode_frame ... ok
[INFO] [stdout] test ingest::tests::a_reverse_chronological_log_gets_an_ordered_window ... ok
[INFO] [stdout] test ingest::tests::a_scheme_less_url_is_not_a_workspace_anchor ... ok
[INFO] [stdout] test ingest::tests::a_sentence_that_mentions_an_error_does_not_open_a_stack_trace ... ok
[INFO] [stdout] test ingest::tests::a_shape_that_cannot_be_spelled_in_f4_yields_no_window_at_all ... ok
[INFO] [stdout] test ingest::tests::a_small_paste_is_served_verbatim_and_exact ... ok
[INFO] [stdout] test ingest::tests::a_space_padded_log_is_not_read_as_two_columns ... ok
[INFO] [stdout] test ingest::tests::a_spammy_retry_loop_collapses_before_salient_lines_are_chosen ... ok
[INFO] [stdout] test ingest::tests::a_syslog_line_still_reads_as_a_log_even_though_it_carries_no_window ... ok
[INFO] [stdout] test ingest::tests::a_traceback_is_its_own_kind_in_every_common_dialect ... ok
[INFO] [stdout] test ingest::tests::a_whitespace_aligned_table_is_classified_as_a_table ... ok
[INFO] [stdout] test ingest::tests::blocks_are_split_on_blank_lines_and_fences ... ok
[INFO] [stdout] test ingest::tests::collapsing_never_lies_about_how_many_lines_were_elided ... ok
[INFO] [stdout] test ingest::tests::column_types_name_units_and_holes ... ok
[INFO] [stdout] test ingest::tests::common_log_timestamps_normalize_to_the_f4_profile ... ok
[INFO] [stdout] test ingest::tests::a_timestamped_trace_is_bounded_to_the_instant_it_happened ... ok
[INFO] [stdout] test ingest::tests::distilling_a_trace_keeps_the_exception_and_the_top_frames ... ok
[INFO] [stdout] test ingest::tests::distilling_a_short_trace_changes_nothing ... ok
[INFO] [stdout] test ingest::tests::every_emitted_frame_declares_an_honest_token_cost ... ok
[INFO] [stdout] test ingest::tests::every_normalized_timestamp_survives_the_protocol_validator ... ok
[INFO] [stdout] test ingest::tests::intent_passes_through_verbatim_as_the_goal ... ok
[INFO] [stdout] test ingest::tests::ordinary_prose_stays_prose ... ok
[INFO] [stdout] test ingest::tests::query_respects_max_frames_and_max_tokens ... ok
[INFO] [stdout] test ingest::tests::sha256_matches_the_standard_known_answer_vectors ... ok
[INFO] [stdout] test ingest::tests::a_python_frame_keeps_its_source_line ... ok
[INFO] [stdout] test ingest::tests::the_default_bundle_query_returns_every_frame_within_budget ... ok
[INFO] [stdout] test ingest::tests::every_emitted_frame_satisfies_its_representation_invariants ... ok
[INFO] [stdout] test ingest::tests::verify_vouches_for_a_held_frame_and_rejects_a_tampered_or_unknown_one ... ok
[INFO] [stdout] test provider::tests::a_kind_filter_matches_only_overlapping_providers ... ok
[INFO] [stdout] test provider::tests::an_empty_kind_filter_matches_every_provider ... ok
[INFO] [stdout] test ingest::tests::the_motivating_example_produces_a_clean_bundle ... ok
[INFO] [stdout] test provider::tests::frame_kind_names_match_serde_snake_case ... ok
[INFO] [stdout] test ingest::tests::the_same_paste_content_addresses_to_the_same_id_and_dedups ... ok
[INFO] [stdout] test stdio::tests::an_incompatible_protocol_version_is_a_named_error_not_a_hang ... ok
[INFO] [stdout] test trust::tests::a_fingerprint_is_over_the_key_bytes_and_survives_a_round_trip ... ok
[INFO] [stdout] test stdio::tests::a_child_dying_after_handshake_surfaces_as_provider_crashed ... ok
[INFO] [stdout] test stdio::tests::the_child_is_spawned_with_a_scrubbed_environment ... ok
[INFO] [stdout] test trust::tests::a_frame_altered_after_signing_is_a_commitment_mismatch ... ok
[INFO] [stdout] test trust::tests::a_frame_attested_only_through_an_inclusion_proof_is_attested ... ok
[INFO] [stdout] test trust::tests::a_key_trusted_for_another_provider_does_not_carry_over ... ok
[INFO] [stdout] test trust::tests::a_key_whose_hex_does_not_decode_is_refused_at_the_door ... ok
[INFO] [stdout] test trust::tests::a_ledger_collects_outcomes_and_answers_by_identity ... ok
[INFO] [stdout] test trust::tests::a_local_id_that_differs_from_the_declared_name_still_verifies ... ok
[INFO] [stdout] test trust::tests::a_malformed_commitment_is_named_before_the_signature_is_touched ... ok
[INFO] [stdout] test trust::tests::a_malformed_signature_is_named_malformed_not_forged ... ok
[INFO] [stdout] test trust::tests::a_per_frame_signature_is_preferred_over_a_proof_on_the_same_entry ... ok
[INFO] [stdout] test stdio::tests::full_handshake_and_query_round_trip_over_stdio ... ok
[INFO] [stdout] test stdio::tests::two_correlated_queries_answered_out_of_order_demux_to_their_own_callers ... ok
[INFO] [stdout] test trust::tests::a_signature_from_a_trusted_key_is_attested ... ok
[INFO] [stdout] test trust::tests::a_proof_of_a_root_this_host_holds_no_key_for_is_a_configuration_gap ... ok
[INFO] [stdout] test trust::tests::a_result_reports_a_state_for_every_frame_including_the_unsigned_ones ... ok
[INFO] [stdout] test trust::tests::a_proof_that_recomputes_a_different_root_is_a_commitment_mismatch ... ok
[INFO] [stdout] test trust::tests::a_signature_from_the_wrong_key_is_a_bad_signature ... ok
[INFO] [stdout] test trust::tests::a_result_matches_evidence_built_under_the_declared_name_even_when_the_local_id_differs ... ok
[INFO] [stdout] test trust::tests::a_signed_frame_with_no_content_digest_is_attested_over_nothing_it_says ... ok
[INFO] [stdout] test trust::tests::a_stored_key_that_does_not_decode_is_an_operator_bug_named_as_one ... ok
[INFO] [stdout] test trust::tests::an_attestation_naming_a_frame_that_is_not_in_the_result_is_ignored ... ok
[INFO] [stdout] test trust::tests::an_empty_store_checks_nothing_and_rejects_nothing ... ok
[INFO] [stdout] test trust::tests::an_empty_ledger_says_not_checked_rather_than_unattested ... ok
[INFO] [stdout] test trust::tests::an_entry_carrying_neither_a_signature_nor_a_proof_asserts_nothing ... ok
[INFO] [stdout] test trust::tests::an_entry_matching_the_frame_id_but_not_the_digest_does_not_attest_it ... ok
[INFO] [stdout] test trust::tests::an_inclusion_proof_with_no_signed_root_is_unusable_not_unattested ... ok
[INFO] [stdout] test trust::tests::an_unrecognised_algorithm_is_uncheckable_not_invalid ... ok
[INFO] [stdout] test trust::tests::an_oversized_identifier_cannot_grow_the_audit_record_without_bound ... ok
[INFO] [stdout] test trust::tests::an_unbounded_inclusion_path_is_rejected_on_its_length ... ok
[INFO] [stdout] test trust::tests::an_unknown_key_id_is_a_configuration_gap_not_a_forgery_finding ... ok
[INFO] [stdout] test verify::tests::a_digest_matching_the_whole_file_bytes_verifies ... ok
[INFO] [stdout] test trust::tests::at_most_one_attestation_per_frame_is_examined ... ok
[INFO] [stdout] test trust::tests::revoking_a_key_stops_it_attesting_and_reports_whether_it_removed_one ... ok
[INFO] [stdout] test trust::tests::the_store_round_trips_through_serde_so_a_host_can_persist_it ... ok
[INFO] [stdout] test verify::tests::a_missing_file_is_unreadable_not_a_silent_pass ... ok
[INFO] [stdout] test verify::tests::a_non_file_uri_is_unreadable ... ok
[INFO] [stdout] test verify::tests::a_percent_encoded_path_resolves_to_the_real_file ... ok
[INFO] [stdout] test verify::tests::a_line_scoped_digest_verifies_over_exactly_that_span ... ok
[INFO] [stdout] test verify::tests::no_line_ending_translation_is_applied_to_the_digested_bytes ... ok
[INFO] [stdout] test verify::tests::a_tampered_digest_is_a_mismatch_carrying_both_sides ... ok
[INFO] [stdout] test verify::tests::sha256_digest_matches_the_standard_known_answer_vectors ... ok
[INFO] [stdout] test verify::tests::an_unrecognized_range_grammar_is_unreadable_never_a_whole_file_fallback ... ok
[INFO] [stdout] test verify::tests::the_frame_level_api_returns_one_result_per_file_link_in_order ... ok
[INFO] [stdout] test verify::tests::non_file_provenance_is_reported_as_not_bound_by_f5 ... ok
[INFO] [stdout] test wire::tests::a_garbage_line_is_a_clean_wire_error_never_a_panic ... ok
[INFO] [stdout] test wire::tests::envelope_kind_matches_the_serialized_type_tag_for_every_variant ... ok
[INFO] [stdout] test wire::tests::query_envelope_carries_contextgraph_types_shapes_verbatim ... ok
[INFO] [stdout] test wire::tests::version_families_interoperate_within_a_major_but_not_across ... ok
[INFO] [stdout] test wire::tests::envelope_roundtrips_through_a_single_ndjson_line ... ok
[INFO] [stdout] test trust::tests::an_enormous_signature_is_rejected_on_its_length_before_any_decoding ... ok
[INFO] [stdout] test host::tests::a_slow_provider_is_timed_out_without_stalling_the_fan_out ... ok
[INFO] [stdout] test http::tests::a_plaintext_loopback_transport_is_allowed ... ok
[INFO] [stdout] test http::tests::an_oversized_response_body_is_refused_rather_than_buffered ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 172 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/attestation_composition.rs (/opt/rustwide/target/release/build/contextgraph-host/be0c25bca04c41e4/out/attestation_composition-be0c25bca04c41e4)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stderr]      Running tests/budget_chrome.rs (/opt/rustwide/target/release/build/contextgraph-host/026265fb0fa515b4/out/budget_chrome-026265fb0fa515b4)
[INFO] [stdout] test a_host_with_an_empty_trust_store_serves_everything_and_claims_nothing ... ok
[INFO] [stdout] test a_composed_prompts_audit_distinguishes_attested_from_unattested_evidence ... ok
[INFO] [stdout] test a_frame_carrying_a_garbage_attestation_is_still_served_marked_unattested ... ok
[INFO] [stdout] test every_verification_outcome_reaches_the_audit_with_its_own_name ... ok
[INFO] [stdout] test a_non_default_ranking_policy_still_carries_every_attestation_state ... ok
[INFO] [stdout] test verification_changes_neither_selection_nor_order ... ok
[INFO] [stdout] test the_ledgerless_composer_says_not_checked_rather_than_unattested ... ok
[INFO] [stdout] test the_single_provider_door_reports_the_same_outcomes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_budget_conformant_frame_cannot_smuggle_unbudgeted_bytes_into_the_prompt ... ok
[INFO] [stdout] test the_prompt_does_not_grow_with_the_size_of_a_providers_chrome ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cross_provider_ranking.rs (/opt/rustwide/target/release/build/contextgraph-host/b0a22019254fb90f/out/cross_provider_ranking-b0a22019254fb90f)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test many_providers_do_not_perturb_the_ordering_between_two_runs ... ok
[INFO] [stdout] test every_shipped_strategy_returns_a_permutation ... ok
[INFO] [stdout] test an_empty_set_ranks_to_an_empty_set ... ok
[INFO] [stdout] test a_quota_of_zero_is_read_as_one ... ok
[INFO] [stdout] test every_strategy_is_a_pure_function_of_the_set ... ok
[INFO] [stdout] test starvation_a_quota_seats_both_providers_as_contiguous_blocks ... ok
[INFO] [stdout] test with_one_provider_every_strategy_agrees_with_raw_score ... ok
[INFO] [stdout] test a_composed_prompt_is_byte_identical_across_two_runs_of_the_same_strategy ... ok
[INFO] [stdout] test a_strategy_that_drops_frames_cannot_make_the_host_lose_evidence ... ok
[INFO] [stdout] test starvation_raw_score_gives_the_conservative_provider_nothing ... ok
[INFO] [stdout] test starvation_round_robin_seats_the_conservative_provider_immediately ... ok
[INFO] [stdout] test starvation_shows_up_in_the_composed_prompt_under_a_real_budget ... ok
[INFO] [stdout] test no_strategy_can_select_a_set_that_exceeds_the_budget ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running tests/prompt_ingest.rs (/opt/rustwide/target/release/build/contextgraph-host/b9c7df5654d43fb5/out/prompt_ingest-b9c7df5654d43fb5)
[INFO] [stdout] test held_ingest_frames_revalidate_as_valid ... ok
[INFO] [stdout] test re_pasting_the_same_evidence_is_free_after_the_first_turn ... ok
[INFO] [stdout] test an_ingested_paste_fans_out_through_the_host_honestly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests contextgraph_host
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/http.rs - http::refuse_insecure_transport (line 123) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.39s; merged doctests compilation took 0.39s
[INFO] running `Command { std: "docker" "inspect" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9", kill_on_drop: false }`
[INFO] [stdout] 474886bc68a5680c7f27e321fbf8086c64f4c6d82c10a3b8bb30c905a514bdd9
