<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="131" time="3.215" timestamp="2026-09-28T17:41:54.218801+00:00" hostname="vultr"><testcase classname="tests.test_cain42_public_truth_layer" name="test_page_exists_and_is_cain42[studio]" time="0.002" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_page_exists_and_is_cain42[mcpgate]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_page_exists_and_is_cain42[clawx]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_page_exists_and_is_cain42[now-gw]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_page_exists_and_is_cain42[now-cx]" time="0.000" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_marketing_fiction[studio]" time="0.006" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_marketing_fiction[mcpgate]" time="0.005" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_marketing_fiction[clawx]" time="0.005" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_marketing_fiction[now-gw]" time="0.004" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_marketing_fiction[now-cx]" time="0.004" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_cross_site_nav_and_favicon[studio]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_cross_site_nav_and_favicon[mcpgate]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_cross_site_nav_and_favicon[clawx]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_cross_site_nav_and_favicon[now-gw]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_cross_site_nav_and_favicon[now-cx]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_icons_identical_across_sites" time="0.002" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_shared_assets_identical[cain42.css]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_shared_assets_identical[cain42.js]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_status_is_fetched_not_typed[studio]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_status_is_fetched_not_typed[mcpgate]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_status_is_fetched_not_typed[clawx]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_status_is_fetched_not_typed[now-gw]" time="0.000" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_every_static_positive_badge_has_a_source[studio]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_every_static_positive_badge_has_a_source[mcpgate]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_every_static_positive_badge_has_a_source[clawx]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_hosted_shadow_mode_is_disclosed_on_studio_home" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_mcpgate_home_discloses_default_allow_gap_and_live_gate_scope" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_clawx_retained_log_corrections_applied" time="0.000" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_diagram_states_pbft_role_accurately_everywhere" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_previous_homepages_archived_not_deleted[gw-cainstudio-home.html]" time="0.002" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_previous_homepages_archived_not_deleted[gw-mcpgate-home.html]" time="0.003" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_previous_homepages_archived_not_deleted[cx-clawx-home.html]" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_now_json_shape_and_no_hand_typed_status" time="0.002" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_now_json_only_exports_named_env_flags" time="0.001" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_now_json_passes_privacy_firewall" time="0.062" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_no_implementation_source_in_served_dirs" time="0.134" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_fiction_ticker_removed_from_proof_pages" time="0.005" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_watchdog_has_startup_grace_before_kill" time="0.005" /><testcase classname="tests.test_cain42_public_truth_layer" name="test_js_parses" time="0.227" /><testcase classname="tests.test_clawx_site" name="test_public_pages_and_evidence_are_served_with_security_headers" time="0.148" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/server.py]" time="0.003" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/../server.py]" time="0.003" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/%2e%2e/server.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/evidence/../server.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/evidence/%2e%2e/server.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/.git/config]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/%2e/server.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/evidence/]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/evidence]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/../../etc/passwd]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/%2e%2e/%2e%2e/etc/passwd]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[//etc/passwd]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/..%2f..%2fetc/passwd]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/%00]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/index.html%00.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_no_traversal_source_dotfile_or_listing_exposure[/style.css/../server.py]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_non_read_methods_are_refused[POST]" time="0.003" /><testcase classname="tests.test_clawx_site" name="test_non_read_methods_are_refused[PUT]" time="0.001" /><testcase classname="tests.test_clawx_site" name="test_non_read_methods_are_refused[DELETE]" time="0.002" /><testcase classname="tests.test_clawx_site" name="test_non_read_methods_are_refused[PATCH]" time="0.001" /><testcase classname="tests.test_clawx_site" name="test_head_respects_the_same_allowlist" time="0.003" /><testcase classname="tests.test_clawx_site" name="test_status_api_is_live_json_covering_all_three_sites_and_never_cached" time="0.144" /><testcase classname="tests.test_clawx_site" name="test_pages_link_all_three_sites_and_the_evidence_is_real" time="0.008" /><testcase classname="tests.test_clawx_site" name="test_site_makes_no_claims_about_unbuilt_features" time="0.001" /><testcase classname="tests.test_clawx_site" name="test_site_endpoints_do_not_live_under_paths_routed_to_the_shared_gateway" time="0.001" /><testcase classname="tests.test_clawx_site" name="test_robots_and_sitemap_are_served" time="0.007" /><testcase classname="tests.test_clawx_site" name="test_lab_page_has_no_inline_style_or_script" time="0.003" /><testcase classname="tests.test_clawx_site" name="test_old_lab_html_redirects_to_the_working_lab" time="0.018" /><testcase classname="tests.test_frontend_lock" name="test_text_and_nonce_changes_pass" time="0.001" /><testcase classname="tests.test_frontend_lock" name="test_class_component_and_css_changes_fail" time="0.001" /><testcase classname="tests.test_frontend_lock" name="test_asset_change_fails" time="0.001" /><testcase classname="tests.test_frontend_lock" name="test_committed_baseline_covers_all_three_homepages" time="0.001" /><testcase classname="tests.test_lab_api" name="test_authorize_returns_only_whitelisted_fields" time="0.033" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body0]" time="0.028" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body1]" time="0.045" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body2]" time="0.013" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body3]" time="0.017" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body4]" time="0.015" /><testcase classname="tests.test_lab_api" name="test_authorize_rejects_bad_input[body5]" time="0.014" /><testcase classname="tests.test_lab_api" name="test_fault_rejects_bad_input_and_never_runs_docker[body0]" time="0.018" /><testcase classname="tests.test_lab_api" name="test_fault_rejects_bad_input_and_never_runs_docker[body1]" time="0.010" /><testcase classname="tests.test_lab_api" name="test_fault_rejects_bad_input_and_never_runs_docker[body2]" time="0.012" /><testcase classname="tests.test_lab_api" name="test_fault_rejects_bad_input_and_never_runs_docker[body3]" time="0.011" /><testcase classname="tests.test_lab_api" name="test_fault_rejects_bad_input_and_never_runs_docker[body4]" time="0.014" /><testcase classname="tests.test_lab_api" name="test_docker_only_runs_fixed_argv_on_fixed_names" time="0.008" /><testcase classname="tests.test_lab_api" name="test_crash_cap_blocks_a_third_node" time="0.013" /><testcase classname="tests.test_lab_api" name="test_crash_and_restore_happy_path" time="0.012" /><testcase classname="tests.test_lab_api" name="test_per_client_rate_limit" time="0.045" /><testcase classname="tests.test_lab_api" name="test_global_rate_limit" time="0.027" /><testcase classname="tests.test_lab_api" name="test_kill_switch" time="0.018" /><testcase classname="tests.test_lab_api" name="test_status_never_contains_container_or_host_internals" time="0.011" /><testcase classname="tests.test_lab_api" name="test_live_proofs_read_the_live_multi_region_cluster_with_published_keys" time="0.012" /><testcase classname="tests.test_lab_api" name="test_live_cluster_is_the_deployed_record" time="0.028" /><testcase classname="tests.test_site_chrome" name="test_inner_pages_css_is_identical_on_both_servers" time="0.003" /><testcase classname="tests.test_site_chrome" name="test_inner_page_gets_header_stylesheet_and_head_basics" time="0.002" /><testcase classname="tests.test_site_chrome" name="test_homepages_and_the_console_are_untouched" time="0.001" /><testcase classname="tests.test_site_chrome" name="test_existing_header_is_not_doubled" time="0.000" /><testcase classname="tests.test_site_chrome" name="test_clawx_mode_has_no_inline_style_and_links_its_css" time="0.000" /><testcase classname="tests.test_site_chrome" name="test_phone_menu_has_every_link_and_is_not_hidden_by_the_small_screen_rule" time="0.000" /><testcase classname="tests.test_site_chrome" name="test_header_resists_generic_page_header_rules" time="0.000" /><testcase classname="tests.test_site_chrome" name="test_clawx_footer_links_point_where_the_pages_live" time="0.001" /><testcase classname="tests.test_site_chrome" name="test_legal_and_trust_pages_are_real_and_honest" time="0.002" /><testcase classname="tests.test_site_chrome" name="test_markdown_drops_generator_markers_and_anchors_headings" time="0.001" /><testcase classname="tests.test_site_chrome" name="test_doc_page_layout_without_duplicate_title" time="0.001" /><testcase classname="tests.test_site_chrome" name="test_old_per_page_headers_are_gone" time="0.011" /><testcase classname="tests.test_site_chrome" name="test_clawx_pages_have_no_csp_blocked_inline_styles" time="0.001" /><testcase classname="tests.test_site_chrome" name="test_clawx_server_serves_chrome_on_inner_pages_only" time="0.506" /><testcase classname="tests.test_site_profiles" name="test_each_site_links_to_exactly_the_other_two" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[CainStudio.Online:443-cainstudio.online]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[mcpgate.online.-mcpgate.online]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[clawx.click-clawx.click]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[evil.com-None]" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_host_matching[cainstudio.online.evil.com-None]" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_host_matching[cainstudio.online@evil.com-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[clawx.click:abc-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[&lt;script&gt;-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[cainstudio.online%00-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[-None]" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_host_matching[None-None]" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_host_matching[[::1]-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_host_matching[clawx.click/x-None]" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_injection_idempotent_and_no_body_untouched" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_middleware_injects_and_fixes_length" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_middleware_skips_unregistered_host_other_paths_json_encoded_errors" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_every_html_page_gets_the_strip_not_only_the_homepage" time="0.002" /><testcase classname="tests.test_site_profiles" name="test_page_that_already_has_the_strip_is_sent_byte_for_byte" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_current_site_is_highlighted_and_links_to_itself_relatively" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_no_inline_style_variant_for_strict_csp_sites" time="0.000" /><testcase classname="tests.test_site_profiles" name="test_non_utf8_body_unchanged" time="0.001" /><testcase classname="tests.test_site_profiles" name="test_registry_json_current_and_siblings" time="0.009" /><testcase classname="tests.test_site_profiles" name="test_clawx_site_server_adds_strip_and_serves_its_css" time="0.510" /></testsuite></testsuites>