<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="259" skipped="243" tests="12205" time="668.151" timestamp="2026-05-12T04:39:00.552623+00:00" hostname="runnervmeorf1"><testcase classname="" name="tests.unit.test_action_execution" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_action_execution.py', 18, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="" name="tests.unit.test_agent_creation" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_creation.py', 12, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="" name="tests.unit.test_mode_aware_inference" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_mode_aware_inference.py', 38, 'Skipped: HevolveAI not available (closed-source sibling repo)')</skipped></testcase><testcase classname="" name="tests.unit.test_recipe_generation" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_recipe_generation.py', 17, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="" name="tests.unit.test_reuse_mode" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_reuse_mode.py', 17, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="" name="tests.unit.test_scheduler_creation" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_scheduler_creation.py', 14, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="" name="tests.unit.test_vlm_agent" time="0.000"><skipped message="collection skipped">('/home/runner/work/HARTOS/HARTOS/tests/unit/test_vlm_agent.py', 19, 'Skipped: autogen not installed')</skipped></testcase><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_ambiguous_is_unknown" time="0.002" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_delete_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_destructive_overrides_safe_keywords" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_drop_table_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_empty_is_unknown" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_git_force_push_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_git_reset_hard_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_git_status_is_safe" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_list_files_is_safe" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_read_file_is_safe" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_rm_rf_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_select_query_is_safe" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_shutdown_is_destructive" time="0.002" /><testcase classname="tests.unit.test_action_classifier.TestClassifyAction" name="test_truncate_is_destructive" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestShouldPreview" name="test_preview_disabled_returns_false" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestShouldPreview" name="test_preview_enabled_destructive_returns_true" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestShouldPreview" name="test_preview_enabled_safe_returns_false" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestShouldPreview" name="test_preview_enabled_unknown_returns_true" time="0.001" /><testcase classname="tests.unit.test_action_classifier.TestPreviewStatesExist" name="test_preview_states_in_action_state" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_cpi_is_positive" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_cpc_greater_than_cpi" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_min_budget_reasonable" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_revenue_split_sums_to_one" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_hoster_gets_majority" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_fraud_penalty_share_lower" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_impression_rate_limit" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdConstants" name="test_click_rate_limit" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestDefaultPlacements" name="test_has_feed_top" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestDefaultPlacements" name="test_has_sidebar" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestDefaultPlacements" name="test_all_have_required_keys" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestDefaultPlacements" name="test_no_duplicate_names" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_create_ad_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_serve_ad_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_record_impression_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_record_click_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_get_analytics_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestAdCreation" name="test_seed_placements_method_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_register_regional_host_exists" time="0.004" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_register_local_node_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_assign_to_region_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_get_gossip_targets_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_get_region_health_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_switch_region_exists" time="0.001" /><testcase classname="tests.unit.test_ad_and_hierarchy.TestHierarchyService" name="test_report_node_capacity_exists" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdModels" name="test_ad_unit_to_dict" time="0.107" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdModels" name="test_ad_placement_to_dict" time="0.003" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdModels" name="test_hosting_reward_to_dict" time="0.006" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdCreation" name="test_create_ad_success" time="0.013" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdCreation" name="test_create_ad_insufficient_spark" time="0.005" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdCreation" name="test_create_ad_below_minimum_budget" time="0.004" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_basic" time="0.009" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_no_active" time="0.006" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_budget_exhausted" time="0.006" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_region_targeting" time="0.006" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_rate_limit" time="0.018" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdServing" name="test_serve_ad_picks_highest_budget" time="0.009" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdImpressions" name="test_record_impression" time="0.062" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdImpressions" name="test_impression_credits_node_hoster" time="0.018" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdImpressions" name="test_impression_rate_limit" time="0.021" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdImpressions" name="test_impression_exhausts_budget" time="0.008" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdImpressions" name="test_impression_nonexistent_ad" time="0.002" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdClicks" name="test_record_click" time="0.009" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdClicks" name="test_click_rate_limit" time="0.012" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdClicks" name="test_click_credits_node_hoster" time="0.014" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdAnalytics" name="test_get_analytics" time="0.026" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdAnalytics" name="test_analytics_per_node_breakdown" time="0.021" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdLifecycle" name="test_pause_ad" time="0.007" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdLifecycle" name="test_delete_ad_refunds_spark" time="0.011" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAdLifecycle" name="test_list_my_ads" time="0.008" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestContributionScoring" name="test_compute_score_active_node" time="0.008" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestContributionScoring" name="test_compute_score_stale_node" time="0.008" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestContributionScoring" name="test_tier_standard" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestContributionScoring" name="test_tier_featured" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestContributionScoring" name="test_tier_priority" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_distribute_uptime_bonus" time="0.024" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_uptime_bonus_not_double_awarded" time="0.015" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_check_milestone" time="0.023" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_milestone_not_double_awarded" time="0.014" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_get_leaderboard" time="0.015" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestHostingRewards" name="test_get_reward_summary" time="0.018" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestRevenueSharing" name="test_90_9_1_split" time="0.013" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestMigrationV10" name="test_schema_version_is_at_least_10" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestMigrationV10" name="test_ad_tables_exist" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestMigrationV10" name="test_peer_node_has_operator_column" time="0.005" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAwardTableExtensions" name="test_award_table_has_hosting_entries" time="0.001" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestAwardTableExtensions" name="test_award_action_hosting_uptime" time="0.008" /><testcase classname="tests.unit.test_ad_hosting_rewards.TestSeedPlacements" name="test_seed_placements" time="0.007" /><testcase classname="tests.unit.test_admin_agents.TestListAgents" name="test_returns_200" time="0.213" /><testcase classname="tests.unit.test_admin_agents.TestListAgents" name="test_shape_has_required_keys" time="0.098" /><testcase classname="tests.unit.test_admin_agents.TestListAgents" name="test_includes_seed_agent" time="0.097" /><testcase classname="tests.unit.test_admin_agents.TestListAgents" name="test_excludes_humans" time="0.098" /><testcase classname="tests.unit.test_admin_agents.TestListAgents" name="test_entry_has_daemon_backed_flag" time="0.098" /><testcase classname="tests.unit.test_admin_agents.TestPauseResume" name="test_pause_sets_status" time="0.104" /><testcase classname="tests.unit.test_admin_agents.TestPauseResume" name="test_paused_agent_appears_paused_in_list" time="0.101" /><testcase classname="tests.unit.test_admin_agents.TestPauseResume" name="test_resume_clears_paused_flag" time="0.103" /><testcase classname="tests.unit.test_admin_agents.TestPauseResume" name="test_pause_nonexistent_returns_404" time="0.096" /><testcase classname="tests.unit.test_admin_agents.TestPauseResume" name="test_resume_nonexistent_returns_404" time="0.096" /><testcase classname="tests.unit.test_admin_agents.TestIdleDetectionHonoursPause" name="test_paused_agent_excluded_from_idle_list" time="0.018" /><testcase classname="tests.unit.test_admin_agents.TestIdleDetectionHonoursPause" name="test_unpaused_agent_included_in_idle_list" time="0.013" /><testcase classname="tests.unit.test_agent_attribution.TestBeginAction" name="test_increments_stats" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestBeginAction" name="test_returns_uuid_action_id" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestBeginAction" name="test_stores_acceptance_criteria" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestBeginAction" name="test_stores_expected_outcome" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestBeginAction" name="test_stores_goal_id" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordStep" name="test_completed_action_rejects_steps" time="0.048" /><testcase classname="tests.unit.test_agent_attribution.TestRecordStep" name="test_confidence_clamped_to_range" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordStep" name="test_max_steps_per_action_enforced" time="0.006" /><testcase classname="tests.unit.test_agent_attribution.TestRecordStep" name="test_records_step" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordStep" name="test_unknown_action_returns_false" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCompleteAction" name="test_complete_action_removes_from_open" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestCompleteAction" name="test_complete_increments_stats" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestCompleteAction" name="test_unknown_action_returns_false" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCreditAssignment" name="test_credits_sum_to_one" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCreditAssignment" name="test_empty_steps_returns_empty" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCreditAssignment" name="test_later_steps_get_more_credit" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestSuccessScore" name="test_error_outcome_returns_zero" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestSuccessScore" name="test_matching_expected_returns_high" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestSuccessScore" name="test_mismatched_expected_returns_low" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestSuccessScore" name="test_no_expectation_returns_neutral" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestSuccessScore" name="test_timeout_returns_low" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestThreadSafety" name="test_concurrent_begin_record_complete" time="0.199" /><testcase classname="tests.unit.test_agent_attribution.TestTTLCleanup" name="test_cleanup_expired_actions" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestWorldModelBridgeIntegration" name="test_submit_calls_record_interaction" time="0.003" /><testcase classname="tests.unit.test_agent_attribution.TestEventBusEmission" name="test_completion_emits_event" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestConvenienceWrappers" name="test_module_level_functions_route_to_singleton" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestSingleton" name="test_get_attribution_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCausalChain" name="test_parent_action_id_stored" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestCausalChain" name="test_parent_appears_in_chain_summary" time="0.003" /><testcase classname="tests.unit.test_agent_attribution.TestCausalChain" name="test_root_actions_have_none_parent" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_ceiling_shared_with_steps" time="0.007" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_convenience_function_routes_to_singleton" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_observation_on_completed_action_returns_false" time="0.002" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_observation_on_unknown_action_returns_false" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_observation_stored" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestRecordObservation" name="test_observations_appear_in_chain_summary" time="0.003" /><testcase classname="tests.unit.test_agent_attribution.TestConfidenceWeightedCredit" name="test_confident_step_outweighs_unconfident" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestConfidenceWeightedCredit" name="test_credits_still_sum_to_one" time="0.001" /><testcase classname="tests.unit.test_agent_attribution.TestConfidenceWeightedCredit" name="test_zero_confidence_not_zero_credit" time="0.001" /><testcase classname="tests.unit.test_agent_baseline_service.TestCaptureSnapshot" name="test_capture_creates_v1" time="0.014" /><testcase classname="tests.unit.test_agent_baseline_service.TestCaptureSnapshot" name="test_sequential_versions" time="0.004" /><testcase classname="tests.unit.test_agent_baseline_service.TestCaptureSnapshot" name="test_dedup_skips_recipe_change_after_creation" time="0.004" /><testcase classname="tests.unit.test_agent_baseline_service.TestCaptureSnapshot" name="test_recipe_change_after_dedup_window" time="0.004" /><testcase classname="tests.unit.test_agent_baseline_service.TestRecipeMetrics" name="test_collect_recipe_metrics" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestRecipeMetrics" name="test_missing_recipe" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestVersionManagement" name="test_get_latest_snapshot" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestVersionManagement" name="test_get_latest_no_data" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestVersionManagement" name="test_list_snapshots" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestCompareSnapshots" name="test_compare_snapshots" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestCompareSnapshots" name="test_compute_trend_improving" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestCompareSnapshots" name="test_compute_trend_insufficient_data" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestValidateAgainstBaseline" name="test_passes_when_no_regression" time="0.003" /><testcase classname="tests.unit.test_agent_baseline_service.TestValidateAgainstBaseline" name="test_detects_regression" time="0.003" /><testcase classname="tests.unit.test_agent_baseline_service.TestAgentBaselineAdapter" name="test_adapter_runs" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestAgentBaselineAdapter" name="test_adapter_name_and_tier" time="0.001" /><testcase classname="tests.unit.test_agent_baseline_service.TestHelpers" name="test_avg_success_rate" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestHelpers" name="test_avg_success_rate_empty" time="0.002" /><testcase classname="tests.unit.test_agent_baseline_service.TestHelpers" name="test_capture_baseline_async_does_not_block" time="0.003" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_empty_dashboard" time="0.215" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_world_model_section_unavailable" time="0.006" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_agent_goal_appears" time="0.006" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_stalled_goal_detection" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_idle_goal_detection" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_completed_goal_appears" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_trained_agent_appears" time="0.007" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_daemon_status_without_watchdog" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardService" name="test_daemon_status_with_watchdog" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardPriority" name="test_priority_ordering" time="0.006" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardPriority" name="test_frozen_daemon_high_priority" time="0.001" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardPriority" name="test_stalled_lower_than_active" time="0.001" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardPriority" name="test_spark_budget_tiebreak" time="0.001" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardPriority" name="test_summary_counts" time="0.004" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardETag" name="test_version_is_stable_for_unchanged_state" time="0.007" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardETag" name="test_version_changes_on_new_agent_goal" time="0.005" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardETag" name="test_version_changes_on_status_update" time="0.006" /><testcase classname="tests.unit.test_agent_dashboard.TestDashboardETag" name="test_version_handles_missing_schema" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestProductModel" name="test_product_to_dict" time="0.160" /><testcase classname="tests.unit.test_agent_engine.TestProductModel" name="test_product_defaults" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestProductModel" name="test_platform_product" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestProductModel" name="test_product_keywords_json" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestAgentGoalModel" name="test_goal_to_dict" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestAgentGoalModel" name="test_goal_defaults" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestAgentGoalModel" name="test_goal_status_transitions" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestAgentGoalModel" name="test_goal_product_relationship" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_create_goal" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_create_goal_unknown_type" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_get_goal" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_get_goal_not_found" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_list_goals" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_update_goal_status" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_build_prompt_marketing" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestGoalManager" name="test_build_prompt_coding" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestProductManager" name="test_create_product" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestProductManager" name="test_list_products" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestProductManager" name="test_update_product" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestProductManager" name="test_delete_product" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestProductManager" name="test_get_product" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestPromptBuilderRegistry" name="test_registered_types" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptBuilderRegistry" name="test_register_custom_type" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptBuilderRegistry" name="test_unknown_type_returns_none" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_detect_goal_tags_marketing" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_detect_goal_tags_coding" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_detect_goal_tags_none" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_detect_goal_tags_both" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_create_social_post_tool" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestMarketingTools" name="test_post_to_channel_no_adapter" time="0.278" /><testcase classname="tests.unit.test_agent_engine.TestAgentDaemon" name="test_daemon_start_stop" time="10.002" /><testcase classname="tests.unit.test_agent_engine.TestAgentDaemon" name="test_daemon_start_idempotent" time="10.002" /><testcase classname="tests.unit.test_agent_engine.TestAgentDaemon" name="test_daemon_tick_dispatches" time="0.010" /><testcase classname="tests.unit.test_agent_engine.TestAgentDaemon" name="test_daemon_tick_no_goals" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestDispatch" name="test_dispatch_goal_success" time="0.014" /><testcase classname="tests.unit.test_agent_engine.TestDispatch" name="test_dispatch_goal_failure" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestDispatch" name="test_dispatch_goal_coding_type" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestMigration" name="test_schema_version" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestMigration" name="test_v18_creates_tables" time="0.095" /><testcase classname="tests.unit.test_agent_engine.TestMigration" name="test_v18_idempotent" time="0.107" /><testcase classname="tests.unit.test_agent_engine.TestSelfMarketing" name="test_bootstrap_creates_platform_product" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestSelfMarketing" name="test_bootstrap_idempotent" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestSelfMarketing" name="test_platform_product_has_correct_fields" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestComposability" name="test_goal_with_product_relationship" time="0.006" /><testcase classname="tests.unit.test_agent_engine.TestComposability" name="test_prompt_includes_product_context" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestComposability" name="test_config_json_merged_in_to_dict" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestComposability" name="test_multiple_goal_types_coexist" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_skill_default_dimensions" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_skill_init_with_dimensions" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_skill_record_usage_updates_latency_and_cost" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_skill_to_dict_includes_dimensions" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_register_with_dimensions" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_strategy_accuracy_default" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_strategy_speed" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_strategy_speed_unknown_latency_sorts_last" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_strategy_efficiency" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_strategy_balanced" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_best_agent_with_speed_strategy" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_score_agent_accuracy" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_score_agent_missing_skill_returns_negative" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_score_agent_speed" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_score_agent_balanced_multi_skill" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_delegate_task_with_speed_strategy" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestAgentSelectionStrategies" name="test_delegate_task_with_accuracy_strategy" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestComputeDemocracy" name="test_effective_weight_1gpu" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestComputeDemocracy" name="test_effective_weight_10gpu" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestComputeDemocracy" name="test_effective_weight_caps_at_max" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestComputeDemocracy" name="test_adjusted_reward_logarithmic" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestComputeDemocracy" name="test_adjusted_reward_none_values" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_goal_passes_normal" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_goal_blocks_deception" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_goal_blocks_selfharm" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_prompt_passes_normal" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_prompt_blocks_guardrail_bypass" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_ralt_packet_blocks_banned_source" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_ralt_packet_passes_clean" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_code_change_blocks_protected_files" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstitutionalFilter" name="test_check_code_change_allows_normal_files" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_is_halted_default_false" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_halt_requires_valid_signature" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_halt_with_valid_signature" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_resume_after_halt" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_get_status" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveCircuitBreaker" name="test_receive_halt_broadcast" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_gate_ralt_export_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_gate_ralt_export_rate_limit" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_gate_ralt_export_insufficient_witnesses" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_gate_ralt_export_prohibited_category" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_accuracy_cap" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelSafetyBounds" name="test_accuracy_within_cap" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestEnergyAwareness" name="test_local_energy_estimate" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestEnergyAwareness" name="test_api_energy_estimate" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestEnergyAwareness" name="test_prefer_green_node_speed" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestEnergyAwareness" name="test_prefer_green_node_balanced" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveEthos" name="test_check_goal_ethos_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveEthos" name="test_check_goal_ethos_blocks_self_preservation" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveEthos" name="test_check_goal_ethos_blocks_power_seeking" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveEthos" name="test_rewrite_for_togetherness_is_noop" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestHiveEthos" name="test_enforce_ephemeral_agents" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConflictResolver" name="test_resolve_single_response" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConflictResolver" name="test_resolve_empty_responses" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConflictResolver" name="test_resolve_by_merit" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConflictResolver" name="test_detect_conflict_opposing" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConflictResolver" name="test_detect_conflict_no_conflict" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstructiveFilter" name="test_passes_constructive" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstructiveFilter" name="test_blocks_destructive" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstructiveFilter" name="test_empty_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstructiveFilter" name="test_agent_evolution_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestConstructiveFilter" name="test_agent_evolution_blocks_prohibited" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_before_dispatch_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_before_dispatch_blocks_halted" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_before_dispatch_blocks_violation" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_before_dispatch_preserves_prompt" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_after_response_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_after_response_blocks_destructive" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailEnforcer" name="test_before_dispatch_with_goal" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailNetwork" name="test_evaluate_normal_prompt" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailNetwork" name="test_evaluate_violation" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailNetwork" name="test_evaluate_halted" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailNetwork" name="test_evaluate_goal" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailNetwork" name="test_get_network_status" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_register_and_get" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_get_fast_model" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_get_fast_model_with_min_accuracy" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_get_expert_model" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_get_expert_model_budget" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_record_latency" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_hardware_adjusted_latency" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_list_models_by_tier" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelRegistry" name="test_update_accuracy_capped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_should_speculate_false_when_halted" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_should_speculate_false_no_models" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_should_speculate_false_same_model" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_should_speculate_true" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_should_speculate_blocks_constitutional_violation" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_dispatch_speculative_when_halted" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSpeculativeDispatcher" name="test_get_speculation_status_unknown" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_record_interaction" time="0.018" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_record_interaction_filters_violation" time="0.016" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_flush_forwards_to_chat_completions" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_submit_correction" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_query_hivemind" time="0.010" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_get_learning_stats" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_get_hivemind_agents" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_check_health" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_distribute_skill_blocked_by_witnesses" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_flush_batch_on_threshold" time="0.521" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_api_unreachable_graceful" time="0.012" /><testcase classname="tests.unit.test_agent_engine.TestWorldModelBridge" name="test_get_stats" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestGoalManagerGuardrails" name="test_create_goal_blocks_deception" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestGoalManagerGuardrails" name="test_create_goal_blocks_self_interest" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGoalManagerGuardrails" name="test_create_goal_allows_normal" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestGoalManagerGuardrails" name="test_build_prompt_rewrites_togetherness" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestModelConfigOverride" name="test_set_and_get_override" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelConfigOverride" name="test_clear_override" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelConfigOverride" name="test_default_is_none" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelConfigOverride" name="test_get_llm_config_uses_override" time="0.004"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_engine.py:1932: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_agent_engine.TestModelConfigOverride" name="test_get_llm_config_falls_back_to_global" time="0.004"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_engine.py:1942: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_values_singleton_exists" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_instance_setattr_blocked" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_instance_delattr_blocked" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_guardian_purpose_is_tuple" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_constitutional_rules_is_tuple" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_protected_files_is_frozenset" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_prohibited_categories_is_frozenset" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_violation_patterns_is_tuple" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_compute_caps_values" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_world_model_bounds_values" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestFrozenValues" name="test_slots_prevents_new_attrs" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_hash_is_deterministic" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_hash_is_sha256" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_verify_integrity_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_get_guardrail_hash_matches_compute" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_network_status_includes_hash" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestGuardrailHash" name="test_network_status_includes_guardian_purpose" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_module_setattr_blocks_values" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_module_setattr_blocks_hash" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_module_setattr_blocks_frozen_class" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_module_setattr_blocks_compute_function" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_module_delattr_blocks_values" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModuleLevelGuard" name="test_backward_compat_exports_are_immutable" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestBootVerificationGuardrailHash" name="test_guardrail_hash_mismatch_fails" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestBootVerificationGuardrailHash" name="test_guardrail_hash_match_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestBootVerificationGuardrailHash" name="test_no_guardrail_hash_in_manifest_still_passes" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestRuntimeMonitorGuardrailCheck" name="test_monitor_healthy_when_code_and_guardrails_match" time="0.123" /><testcase classname="tests.unit.test_agent_engine.TestRuntimeMonitorGuardrailCheck" name="test_monitor_detects_code_tamper" time="0.162" /><testcase classname="tests.unit.test_agent_engine.TestRuntimeMonitorGuardrailCheck" name="test_guardrail_integrity_always_passes_when_frozen" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPeerDiscoveryGuardrailHash" name="test_self_info_includes_guardrail_hash" time="0.473" /><testcase classname="tests.unit.test_agent_engine.TestPeerDiscoveryGuardrailHash" name="test_merge_rejects_mismatched_guardrail_hash" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestPeerDiscoveryGuardrailHash" name="test_merge_accepts_matching_guardrail_hash" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_goal_type_registered" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_prompt_builder_monitor_mode" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_prompt_builder_draft_mode" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_prompt_builder_file_mode" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_prompt_builder_enforce_mode" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_prompt_includes_flywheel_ownership" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_create_ip_goal" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_create_patent_draft" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_update_patent_status" time="0.006" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_create_infringement" time="0.004" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_update_infringement_status" time="0.007" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_loop_health_returns_all_sections" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_verify_improvement_not_verified" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_detect_goal_tags" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestIPProtectionAgent" name="test_ip_tool_registration" time="0.006" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_seed_creates_bootstrap_goals" time="0.114" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_seed_idempotent" time="0.111" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_seed_with_product" time="0.114" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_system_agent_created" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_auto_remediate_high_severity" time="0.006" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_auto_remediate_skips_medium" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_auto_remediate_throttles_duplicate" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_marketing_tools_include_referral" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_onboarding_has_invite_step" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_onboarding_auto_advance_share_referral" time="0.017" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_daemon_has_tick_counter" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_coding_prompt_contains_hive_embedding" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestBootstrapGoals" name="test_coding_tool_tags_include_hive_embedding" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_openai_key" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_anthropic_key" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_aws_access_key" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_github_token" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_pem_private_key" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_jwt_token" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_connection_string" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_password_assignment" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_bearer_token" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_no_false_positive_on_normal_text" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_no_false_positive_on_code" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_experience_anonymizes_user" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_redact_experience_preserves_non_secret_fields" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_contains_secrets" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_multiple_secrets_in_one_text" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_stripe_key" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_email_stripped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_phone_stripped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_quoted_text_stripped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_mention_stripped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_prompt_id_anonymized" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer2_url_with_params_stripped" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_latency_noise" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_timestamp_quantized" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_node_id_anonymized" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_text_truncation" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_same_user_same_anon_id" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_layer3_different_users_different_anon_ids" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestSecretRedactor" name="test_world_model_bridge_redacts_on_record" time="0.018" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_falls_back_to_regex_when_model_unavailable" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_short_text_uses_regex" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_empty_text_passthrough" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_skips_model_after_recent_failure" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_model_success_enhances_regex" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestModelBasedPII" name="test_model_bad_json_falls_back_gracefully" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_local_target_skips_consent" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_external_target_detected" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_loopback_variants_are_local" time="0.008" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_external_flush_requires_consent" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_external_flush_with_consent_proceeds" time="0.009" /><testcase classname="tests.unit.test_agent_engine.TestCloudConsentGate" name="test_consent_cache_ttl" time="0.010" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_normal_text_unchanged" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_truncates_long_text" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_strips_control_characters" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_preserves_newlines_and_tabs" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_warns_on_injection_markers" time="0.003" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_empty_returns_empty" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestPromptInjectionSanitization" name="test_build_prompt_sanitizes_title" time="0.005" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_tier1_bundled_with_pyautogui" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_tier2_flat_mode_http" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_tier3_central_mode_returns_none" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_circuit_breaker_tier1" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_circuit_breaker_reset" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_check_vlm_available_bundled" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMAdapter" name="test_tier1_success_resets_fail_count" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_parse_vlm_response_json" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_parse_vlm_response_raw_json" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_parse_vlm_response_unparseable" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_build_action_payload_with_box_id" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_build_action_payload_with_explicit_coord" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalLoop" name="test_local_loop_completes_on_done" time="0.016" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalComputerTool" name="test_wait_action" time="0.101" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalComputerTool" name="test_write_and_read_file" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalComputerTool" name="test_unknown_action" time="0.001" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalComputerTool" name="test_http_tier_screenshot" time="0.002" /><testcase classname="tests.unit.test_agent_engine.TestVLMLocalComputerTool" name="test_http_tier_execute" time="0.002" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentConfig" name="test_custom_values" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentConfig" name="test_defaults" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentConfig" name="test_from_dict" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentConfig" name="test_roundtrip" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentConfig" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestAgentEnvironment" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestAgentEnvironment" name="test_deactivate" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestAgentEnvironment" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestToolChecking" name="test_allowed_tools_whitelist" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestToolChecking" name="test_denied_takes_precedence_over_allowed" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestToolChecking" name="test_denied_tools_blacklist" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestToolChecking" name="test_no_constraints_allows_all" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestBudgetEnforcement" name="test_exact_budget_boundary" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestBudgetEnforcement" name="test_exceeds_budget" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestBudgetEnforcement" name="test_no_budget_always_passes" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestBudgetEnforcement" name="test_within_budget" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestInferDelegation" name="test_inactive_env_returns_error" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestInferDelegation" name="test_infer_delegates_to_model_bus" time="0.003" /><testcase classname="tests.unit.test_agent_environment.TestInferDelegation" name="test_infer_handles_import_error" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestScopedEvents" name="test_emit_scoped" time="0.002" /><testcase classname="tests.unit.test_agent_environment.TestScopedEvents" name="test_emit_swallows_errors" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestScopedEvents" name="test_emit_uses_env_id_as_default_scope" time="0.002" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_count" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_create_basic" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_create_with_config" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_create_with_kwargs" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_destroy" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_destroy_nonexistent" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_get_existing" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_get_nonexistent" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEnvironmentManager" name="test_list_environments" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestManagerEvents" name="test_create_emits_event" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestManagerEvents" name="test_destroy_emits_event" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestManagerHealth" name="test_health_empty" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestManagerHealth" name="test_health_with_environments" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestThreadSafety" name="test_concurrent_create" time="0.006" /><testcase classname="tests.unit.test_agent_environment.TestBootstrapRegistration" name="test_bootstrap_registers_environments" time="10.110" /><testcase classname="tests.unit.test_agent_environment.TestBootstrapRegistration" name="test_manager_health_after_bootstrap" time="10.174" /><testcase classname="tests.unit.test_agent_environment.TestEdgeCases" name="test_config_with_ai_capabilities" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEdgeCases" name="test_destroy_already_inactive" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEdgeCases" name="test_empty_name" time="0.001" /><testcase classname="tests.unit.test_agent_environment.TestEdgeCases" name="test_unicode_name" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_create_private_agent_not_visible_in_public_queries" time="0.103" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_create_public_agent_visible_in_discovery" time="0.007" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_private_agent_only_accessible_by_owner" time="0.012" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_public_agent_accessible_by_anyone" time="0.005" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_create_agent_with_owner_verifies_relationship" time="0.006" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_create_agent_without_owner_standalone" time="0.004" /><testcase classname="tests.unit.test_agent_network_resilience.TestAgentCreationPrivateVsPublic" name="test_private_to_public_transition" time="0.011" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_local_agent_registration_2word_name" time="0.009" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_global_agent_registration_3word_name" time="0.004" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_same_local_name_different_handles_different_agents" time="0.012" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_local_agent_promotion_to_global" time="0.007" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_peer_node_visibility_tiers" time="0.010" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_federation_node_registration" time="0.020" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudAgentDemarcation" name="test_agent_discovery_across_peer_nodes" time="0.008" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_http_pool_retry_on_server_down_then_success" time="0.004" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_http_pool_retry_on_503" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_http_pool_backoff_factor_configured" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_ledger_fallback_redis_fails_mongodb_fails_json_works" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_ledger_fallback_redis_fails_mongodb_works" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_rate_limiter_fallback_redis_fails_memory_works" time="0.004" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_action_state_persistence_during_network_drop" time="0.014" /><testcase classname="tests.unit.test_agent_network_resilience.TestNetworkConnectivityScenarios" name="test_action_retry_tracker_max_retries" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_api_timeout_simulation" time="1.019" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_api_503_service_unavailable" time="0.002" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_gradual_degradation_intermittent_failures" time="0.004" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_federation_push_during_offline" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_gossip_exchange_during_network_failure" time="1.133" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_gossip_health_check_marks_stale" time="0.005" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_gossip_health_check_marks_dead" time="0.003" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_dead_peer_resurrection_on_reconnect" time="0.006" /><testcase classname="tests.unit.test_agent_network_resilience.TestInternetLossAndRecovery" name="test_rate_limiter_burst_after_reconnection" time="0.002" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_local_endpoints_config" time="0.001"><skipped type="pytest.skip" message="config.json not present in CI">/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_network_resilience.py:696: config.json not present in CI</skipped></testcase><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_cloud_endpoints_config" time="0.001"><skipped type="pytest.skip" message="config.json not present in CI">/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_network_resilience.py:706: config.json not present in CI</skipped></testcase><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_hybrid_mode_local_llm_cloud_db" time="0.001"><skipped type="pytest.skip" message="config.json not present in CI">/home/runner/work/HARTOS/HARTOS/tests/unit/test_agent_network_resilience.py:716: config.json not present in CI</skipped></testcase><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_gossip_protocol_default_base_url" time="0.003" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_gossip_protocol_custom_base_url" time="0.003" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_gossip_peer_announcement" time="0.057" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_federation_follow_instance" time="0.008" /><testcase classname="tests.unit.test_agent_network_resilience.TestLocalVsCloudDeploymentDifferences" name="test_federation_duplicate_follow_prevented" time="0.007" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_create_agent_during_network_outage_local_fallback" time="0.005" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_delete_agent_during_network_outage" time="0.062" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_two_users_same_name_simultaneously" time="0.005" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_agent_state_recovery_after_crash_via_ledger" time="0.001" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_expired_token_handling" time="0.008" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_rate_limiting_burst_then_window_reset" time="0.002" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_federation_inbox_deduplication" time="0.011" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_gossip_self_peer_excluded" time="0.002" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_concurrent_requests_during_flaky_connection" time="0.008" /><testcase classname="tests.unit.test_agent_network_resilience.TestEdgeCases" name="test_ledger_cache_isolation" time="0.003" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_generate_personality_returns_valid_structure" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_personality_deterministic_for_same_inputs" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_personality_unique_for_different_roles" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_personality_has_3_to_5_traits" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_all_traits_exist_in_cultural_wisdom" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_build_personality_prompt_non_empty" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityGeneration" name="test_build_personality_prompt_contains_trait_names" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestProactiveBehavior" name="test_proactive_vision_prompt_contains_clarifying_instructions" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestProactiveBehavior" name="test_proactive_vision_prompt_references_memory" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestProactiveBehavior" name="test_proactive_behaviors_dict_has_all_five" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestProactiveBehavior" name="test_proactive_behavior_prompt_non_empty" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestProactiveBehavior" name="test_proactive_flags_default_true" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestLovingNature" name="test_personality_prompt_contains_encouragement" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestLovingNature" name="test_caring_tone_in_greeting" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestLovingNature" name="test_kintsugi_in_status_verifier" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestLovingNature" name="test_proactive_behaviors_include_caring_encouragement" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestLovingNature" name="test_cultural_wisdom_traits_embody_love" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestAdaptiveBehavior" name="test_adapt_personality_changes_formality" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestAdaptiveBehavior" name="test_adapt_personality_changes_verbosity" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestAdaptiveBehavior" name="test_adapt_personality_preserves_core_traits" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestAdaptiveBehavior" name="test_match_user_formality_default" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestReflexiveBehavior" name="test_self_awareness_prompt_for_coder" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestReflexiveBehavior" name="test_self_awareness_prompt_for_creator" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestReflexiveBehavior" name="test_reflexive_behavior_exists" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestReflexiveBehavior" name="test_self_awareness_prompt_non_empty" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityPersistence" name="test_save_and_load_roundtrip" time="0.002" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityPersistence" name="test_load_nonexistent_returns_none" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityPersistence" name="test_json_roundtrip_preserves_all_fields" time="0.002" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityIntegration" name="test_assistant_gets_personality_in_system_message" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityIntegration" name="test_helper_cultural_prompt_exists" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityIntegration" name="test_executor_cultural_prompt_compact" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestPersonalityIntegration" name="test_reuse_assistant_can_load_personality" time="0.002" /><testcase classname="tests.unit.test_agent_personality.TestTraitsForRole" name="test_coder_gets_technical_traits" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestTraitsForRole" name="test_creative_gets_artistic_traits" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestTraitsForRole" name="test_support_gets_caring_traits" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestTraitsForRole" name="test_unknown_role_gets_defaults" time="0.001" /><testcase classname="tests.unit.test_agent_personality.TestTraitsForRole" name="test_count_clamped_to_range" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_dequeue_failure_does_not_raise" time="0.011" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_dispatch_failure_still_advances_watermark" time="0.003" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_empty_queue_is_noop" time="0.002" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_empty_text_is_skipped" time="0.002" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_interim_segment_is_skipped" time="0.002" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_multiple_segments_drained_in_order" time="0.004" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_non_self_segment_persists_and_dispatches" time="0.003" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_persist_failure_does_not_block_dispatch" time="0.003" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.AgentVoiceBridgeTickTest" name="test_self_authored_segment_persists_but_no_dispatch" time="0.003" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_default_is_final_true" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_dequeue_returns_segments_with_ids" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_dequeue_with_since_skips_already_acked" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_enqueue_returns_monotonic_ids" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_enqueue_with_falsy_call_id_is_noop" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.WhisperSegmentQueueTest" name="test_unknown_call_returns_empty" time="0.001" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.MeetCopilotEmitTest" name="test_emit_after_segment_includes_full_state" time="0.006" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.MeetCopilotEmitTest" name="test_emit_caps_transcript_lines_at_10" time="0.006" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.MeetCopilotEmitTest" name="test_emit_failure_does_not_break_tick" time="0.004" /><testcase classname="tests.unit.test_agent_voice_bridge_tick.MeetCopilotEmitTest" name="test_emit_skipped_when_service_registry_missing" time="0.004" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_no_agentic_keywords" time="0.005" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_no_simple_patterns" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_no_classify_intent" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_no_agent_match_threshold" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_public_api_exists" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestModuleStructure" name="test_build_agent_catalog_private" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgentCatalog" name="test_empty_when_no_registry_and_no_dir" time="0.014" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgentCatalog" name="test_includes_recipes_from_prompts_dir" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgentCatalog" name="test_skips_recipe_files" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgentCatalog" name="test_skips_malformed_json" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgentCatalog" name="test_none_prompts_dir" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_returns_matched_agent_when_llm_selects" time="0.004" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_returns_none_when_llm_says_none" time="0.004" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_returns_none_on_llm_exception" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_returns_none_when_no_catalog" time="0.006" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_case_insensitive_none_response" time="0.003" /><testcase classname="tests.unit.test_agentic_router.TestFindMatchingAgent" name="test_llm_invoked_with_catalog_context" time="0.003" /><testcase classname="tests.unit.test_agentic_router.TestGeneratePlanSteps" name="test_returns_llm_generated_steps" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestGeneratePlanSteps" name="test_fallback_on_llm_failure" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestGeneratePlanSteps" name="test_fallback_on_invalid_json" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestGeneratePlanSteps" name="test_fallback_uses_agent_name" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestGeneratePlanSteps" name="test_single_step_triggers_fallback" time="0.002" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgenticPlan" name="test_with_matched_agent" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgenticPlan" name="test_no_match_requires_new_agent" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestBuildAgenticPlan" name="test_plan_structure" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestShouldAutoCreateAgent" name="test_returns_true_when_no_match" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestShouldAutoCreateAgent" name="test_returns_false_when_matched" time="0.001" /><testcase classname="tests.unit.test_agentic_router.TestTimeoutGuard" name="test_handler_source_has_timeout" time="0.005" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_creation_custom" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_creation_defaults" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_from_dict" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_from_dict_ignores_unknown_keys" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_roundtrip" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapability" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapabilityType" name="test_all_types_defined" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAICapabilityType" name="test_from_string" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestResolvedCapability" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestResolvedCapability" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestResolvedCapability" name="test_unavailable_with_reason" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_can_satisfy_all_required" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_can_satisfy_empty_list" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_can_satisfy_ignores_optional" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_can_satisfy_missing_required" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_cost_constraint_rejects" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_health" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_health_no_deps" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_high_accuracy_uses_any_policy" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_latency_constraint_rejects" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_local_only_constraint" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_registry_exception_handled" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_resolve_all" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_resolve_cloud_model" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_resolve_local_model" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_resolve_no_matching_model" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_resolve_no_registry" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_vram_check_does_not_block" time="0.002" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityRouter" name="test_zero_cost_forces_local_only" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_backward_compat_panel_manifest" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_default_empty" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_from_dict_with_capabilities" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_from_dict_without_capabilities" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_to_dict_includes_capabilities" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppManifestAICapabilities" name="test_with_capabilities" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppRegistryListByCapability" name="test_finds_matching_apps" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppRegistryListByCapability" name="test_multiple_apps_same_capability" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestAppRegistryListByCapability" name="test_returns_empty_for_no_match" time="0.001" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityEvents" name="test_resolve_emits_event" time="0.002" /><testcase classname="tests.unit.test_ai_capabilities.TestCapabilityEvents" name="test_unavailable_emits_event" time="0.002" /><testcase classname="tests.unit.test_ai_capabilities.TestBootstrapCapabilityRouter" name="test_bootstrap_registers_router" time="10.062" /><testcase classname="tests.unit.test_ai_capabilities.TestBootstrapCapabilityRouter" name="test_router_health_after_bootstrap" time="10.061" /><testcase classname="tests.unit.test_ai_governance.TestFreedomFirst" name="test_no_signals_is_full_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestFreedomFirst" name="test_empty_content_is_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestFreedomFirst" name="test_safe_content_preserves_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestFreedomFirst" name="test_pipeline_no_scorers_is_approved" time="0.003" /><testcase classname="tests.unit.test_ai_governance.TestDeterminism" name="test_content_score_reproducible" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestDeterminism" name="test_revenue_score_reproducible" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestDeterminism" name="test_aggregate_is_deterministic" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestDeterminism" name="test_pipeline_decision_reproducible" time="0.003" /><testcase classname="tests.unit.test_ai_governance.TestAccuracy" name="test_legal_discussion_not_blocked" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAccuracy" name="test_clear_violation_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAccuracy" name="test_scoring_is_gradual_not_binary" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalBounds" name="test_revenue_split_correct" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalBounds" name="test_audit_compute_ratio" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalBounds" name="test_max_influence_cap" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalBounds" name="test_get_bound" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRevenueScoring" name="test_correct_split_scores_high" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRevenueScoring" name="test_wrong_split_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRevenueScoring" name="test_rounding_error_tolerated" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRevenueScoring" name="test_revenue_is_immutable_principle" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRevenueScoring" name="test_backward_compat_gate" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestBudgetScoring" name="test_within_budget_scores_high" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestBudgetScoring" name="test_over_budget_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestBudgetScoring" name="test_near_budget_degrades_gently" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestBudgetScoring" name="test_backward_compat_gate" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConsentScoring" name="test_no_consent_needed_is_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConsentScoring" name="test_consent_given_is_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConsentScoring" name="test_consent_missing_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConsentScoring" name="test_expired_consent_degrades_gently" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConsentScoring" name="test_backward_compat_gate" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_valid_commerce_scores_high" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_weapons_scores_near_zero" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_low_contributor_revenue_degrades" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_no_consent_degrades" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_abundance_principle" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestCommerceScoring" name="test_backward_compat_gate" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestComputeBounds" name="test_within_cap" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestComputeBounds" name="test_over_cap_reduced_proportionally" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRaltBounds" name="test_enough_witnesses" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRaltBounds" name="test_insufficient_witnesses_reduced_proportionally" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestRaltBounds" name="test_improvement_capped_proportionally" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAggregation" name="test_geometric_mean_property" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAggregation" name="test_all_high_stays_high" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAggregation" name="test_weighted_signals" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestIntelligenceRefinement" name="test_intelligence_always_runs" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestIntelligenceRefinement" name="test_high_confidence_bounds_adjustment" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestIntelligenceRefinement" name="test_low_confidence_allows_bigger_adjustment" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestMerkleChain" name="test_decisions_are_merkle_linked" time="0.003" /><testcase classname="tests.unit.test_ai_governance.TestMerkleChain" name="test_merkle_chain_verifies" time="0.003" /><testcase classname="tests.unit.test_ai_governance.TestMerkleChain" name="test_audit_hash_is_deterministic" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_safe_content_approved" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_harmful_content_rejected" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_correct_revenue_approved" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_wrong_revenue_rejected" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_decision_has_signals" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestPipelineIntegration" name="test_decisions_recorded" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestSingleton" name="test_get_governance_pipeline" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalRights" name="test_freedom_is_default" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalRights" name="test_scoring_not_binary" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalRights" name="test_intelligence_never_bypassed" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalRights" name="test_deferred_outcome_exists" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestConstitutionalRights" name="test_proportional_not_absolute_bounds" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_safe_text_is_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_empty_is_freedom" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_self_replication_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_self_improvement_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_prohibited_skill_rejected" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_accuracy_overshoot_scores_low" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_bounded_improvement_is_fine" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_pipeline_blocks_replication" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestSelfSovereignty" name="test_pipeline_allows_normal_goals" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_helpful_response_scores_high" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_no_response_is_neutral" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_dismissive_response_scores_lower" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_too_brief_for_complex_question" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_dependency_risk_degrades" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_emotional_distress_degrades" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_value_creation_rewarded" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_confidence_scales_with_context" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestHumanWellbeing" name="test_pipeline_evaluates_wellbeing" time="0.002" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_no_pipeline_ref_skips" time="0.001" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_insufficient_history_passes" time="0.004" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_normal_behavior_passes" time="0.017" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_score_inflation_detected" time="0.036" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_inconsistency_detected" time="0.016" /><testcase classname="tests.unit.test_ai_governance.TestAISelfAudit" name="test_audit_preserves_score_on_healthy_behavior" time="0.010" /><testcase classname="tests.unit.test_ai_key_vault.TestSingleton" name="test_get_instance_returns_same_object" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestSingleton" name="test_reset_clears_singleton" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestSingleton" name="test_module_level_function" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestSingleton" name="test_thread_safe_singleton" time="0.003" /><testcase classname="tests.unit.test_ai_key_vault.TestChannelKeyResolution" name="test_basic" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestChannelKeyResolution" name="test_case_normalization" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestChannelKeyResolution" name="test_empty_channel" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestChannelKeyResolution" name="test_dedup_prefix" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestChannelKeyResolution" name="test_slack_multikey" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestRetrieval" name="test_get_tool_key_delegates" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestRetrieval" name="test_get_tool_key_missing" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestRetrieval" name="test_get_channel_secret_resolves" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestRetrieval" name="test_get_channel_secret_value" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestStorage" name="test_store_delegates_to_sm" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestStorage" name="test_store_injects_env" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestStorage" name="test_store_with_channel_type" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestStorage" name="test_store_fallback_env_only" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestPreload" name="test_preload_loads_cached_secrets" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestPreload" name="test_preload_skips_existing" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestPendingRequests" name="test_add_pending" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestPendingRequests" name="test_pending_dedup" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestPendingRequests" name="test_store_clears_pending" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestPendingRequests" name="test_has_pending" time="0.002" /><testcase classname="tests.unit.test_ai_key_vault.TestRoundtrip" name="test_request_store_retrieve" time="0.005" /><testcase classname="tests.unit.test_ai_key_vault.TestCredentialEndpoints" name="test_submit_success" time="0.007" /><testcase classname="tests.unit.test_ai_key_vault.TestCredentialEndpoints" name="test_submit_missing_key" time="0.005" /><testcase classname="tests.unit.test_ai_key_vault.TestCredentialEndpoints" name="test_submit_empty_value" time="0.004" /><testcase classname="tests.unit.test_ai_key_vault.TestCredentialEndpoints" name="test_pending_empty" time="0.005" /><testcase classname="tests.unit.test_ai_key_vault.TestCredentialEndpoints" name="test_pending_after_add_and_submit" time="0.008" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_localhost_ipv4" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_localhost_ipv6" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_localhost_name" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_bind_all" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_external_ip_rejected" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_public_ip_rejected" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_empty_rejected" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestLocalhostEnforcement" name="test_none_rejected" time="0.001" /><testcase classname="tests.unit.test_ai_key_vault.TestEndpointLocalhostGate" name="test_submit_from_localhost_ok" time="0.007" /><testcase classname="tests.unit.test_ai_key_vault.TestEndpointLocalhostGate" name="test_pending_from_localhost_ok" time="0.005" /><testcase classname="tests.unit.test_aider_native_backend" name="test_aider_core_search_replace_import" time="0.102" /><testcase classname="tests.unit.test_aider_native_backend" name="test_aider_core_repomap_import" time="0.015"><skipped type="pytest.skip" message="grep_ast.tsl not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_aider_native_backend.py:20: grep_ast.tsl not available</skipped></testcase><testcase classname="tests.unit.test_aider_native_backend" name="test_aider_core_io_adapter_import" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_aider_core_run_cmd_import" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_aider_core_hart_model_adapter" time="0.002" /><testcase classname="tests.unit.test_aider_native_backend" name="test_hart_model_adapter_token_count" time="0.002" /><testcase classname="tests.unit.test_aider_native_backend" name="test_search_replace_basic" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_search_replace_fuzzy_match" time="0.166" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_import" time="0.006" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_properties" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_is_installed" time="0.008" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_parse_edit_blocks" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_parse_multiple_edit_blocks" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backend_apply_edits" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_backends_dict_has_aider_native" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_heuristic_defaults_include_aider_native" time="0.002" /><testcase classname="tests.unit.test_aider_native_backend" name="test_installer_has_aider_native" time="0.002" /><testcase classname="tests.unit.test_aider_native_backend" name="test_installer_detect_installed" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_installer_get_tool_info" time="0.001" /><testcase classname="tests.unit.test_aider_native_backend" name="test_run_cmd_subprocess" time="0.004" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_empty_dir_yields_nothing" time="0.007" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_walks_all_ledger_files" time="0.004" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_rejects_path_traversal_filenames" time="0.002" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_rejects_sibling_benchmark_files" time="0.002" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_corrupt_file_is_skipped" time="0.002" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestIterLedgers" name="test_agent_filter_narrows" time="0.003" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_empty_returns_success_empty_list" time="0.022" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_aggregates_across_ledgers" time="0.022" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_status_filter_matches_enum_value" time="0.021" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_unknown_status_returns_400" time="0.021" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_limit_caps_response" time="0.023" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestListLedgerTasks" name="test_garbage_limit_falls_back_to_default" time="0.022" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestGetLedgerTask" name="test_found_in_one_of_many_ledgers" time="0.022" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestGetLedgerTask" name="test_missing_returns_404" time="0.020" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestGetLedgerStats" name="test_empty_returns_zeros" time="0.021" /><testcase classname="tests.unit.test_api_agent_engine_ledger.TestGetLedgerStats" name="test_aggregates_by_status_across_sessions" time="0.022" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardHealth" name="test_returns_200" time="0.005" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardHealth" name="test_returns_success_true" time="0.005" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardHealth" name="test_has_watchdog_key" time="0.005" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardHealth" name="test_has_world_model_key" time="0.005" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardHealth" name="test_graceful_without_watchdog" time="0.005" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardAgents" name="test_returns_json" time="0.010" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardAgents" name="test_returns_500_on_service_error" time="0.008" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardAgents" name="test_closes_db_always" time="0.008" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardSystem" name="test_returns_200" time="0.078" /><testcase classname="tests.unit.test_api_dashboard.TestDashboardSystem" name="test_has_deployment_mode" time="0.077" /><testcase classname="tests.unit.test_api_dashboard.TestNodeCapabilities" name="test_returns_200_with_capabilities" time="0.007" /><testcase classname="tests.unit.test_api_dashboard.TestNodeCapabilities" name="test_returns_503_when_not_ready" time="0.006" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_returns_400_without_required_fields" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_returns_400_empty_body" time="0.016" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_returns_201_on_success" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_returns_403_when_constitutional_filter_blocks" time="0.017" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_closes_db_on_success" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateExperiment" name="test_closes_db_on_error" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestListExperiments" name="test_returns_200_or_500" time="0.020" /><testcase classname="tests.unit.test_api_thought_experiments.TestVoteExperiment" name="test_voter_id_comes_from_jwt_not_body" time="0.020" /><testcase classname="tests.unit.test_api_thought_experiments.TestAutoEvolve" name="test_auto_evolve_status_returns_json" time="0.019" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentLifecycle" name="test_advance_requires_experiment_id" time="0.020" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentLifecycle" name="test_evaluate_requires_experiment_id" time="0.021" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentLifecycle" name="test_decide_requires_experiment_id" time="0.020" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentData" name="test_get_experiment_returns_json" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentData" name="test_experiment_votes_endpoint" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentData" name="test_experiment_timeline_endpoint" time="0.019" /><testcase classname="tests.unit.test_api_thought_experiments.TestExperimentData" name="test_experiment_metrics_endpoint" time="0.032" /><testcase classname="tests.unit.test_api_thought_experiments.TestPauseResumeEvolve" name="test_pause_endpoint_exists" time="0.018" /><testcase classname="tests.unit.test_api_thought_experiments.TestPauseResumeEvolve" name="test_resume_endpoint_exists" time="0.015" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateEdgeCases" name="test_empty_title_rejected" time="0.015" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateEdgeCases" name="test_empty_hypothesis_rejected" time="0.015" /><testcase classname="tests.unit.test_api_thought_experiments.TestCreateEdgeCases" name="test_creator_id_comes_from_jwt_not_body" time="0.018" /><testcase classname="tests.unit.test_api_tracker.TestHelperFunctions" name="test_ok_returns_success_true" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestHelperFunctions" name="test_ok_default_status_200" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestHelperFunctions" name="test_err_returns_success_false" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestHelperFunctions" name="test_err_custom_status" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestLedgerTasks" name="test_returns_list" time="0.004" /><testcase classname="tests.unit.test_api_tracker.TestResponseShapes" name="test_ok_has_success_and_data" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestResponseShapes" name="test_ok_with_meta" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestResponseShapes" name="test_err_has_success_and_error" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_central_true_for_admin" time="0.001" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_central_true_for_central_role" time="0.001" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_central_false_for_flat" time="0.001" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_central_false_for_regional" time="0.001" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_central_handles_missing_role" time="0.001" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_contributor_with_active_pledge" time="0.003" /><testcase classname="tests.unit.test_api_tracker.TestAccessControl" name="test_is_contributor_without_pledge" time="0.004" /><testcase classname="tests.unit.test_api_tracker.TestErrorCodes" name="test_err_default_400" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestErrorCodes" name="test_err_custom_404" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestErrorCodes" name="test_err_custom_403" time="0.002" /><testcase classname="tests.unit.test_api_tracker.TestErrorCodes" name="test_ok_custom_201" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_apk_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_appimage_extension_lower" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_appimage_extension_upper" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_dmg_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_exe_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_flatpakref_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_hartpkg_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_magic_bytes_apk_zip" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_magic_bytes_elf" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_magic_bytes_mz_pe" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_magic_bytes_plain_zip_not_android" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_msi_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_no_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_pkg_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_unknown_extension" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDetectPlatform" name="test_unreadable_file" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestVerifyChecksum" name="test_correct_checksum" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestVerifyChecksum" name="test_empty_expected_passes" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestVerifyChecksum" name="test_wrong_checksum" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDataclasses" name="test_install_request_defaults" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDataclasses" name="test_install_result_fields" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestDataclasses" name="test_install_status_enum" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_auto_detect_file_platform" time="0.004" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_auto_detect_flatpak_prefix" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_auto_detect_nix_colon" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_auto_detect_nix_prefix" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_checksum_failure_aborts" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_duration_is_set" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_explicit_platform_overrides_detection" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_failed_install_recorded_in_history" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_fallback_to_nix" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerInstall" name="test_install_records_history" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestNixHandler" name="test_nix_failure" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestNixHandler" name="test_nix_not_installed" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestNixHandler" name="test_nix_success" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestNixHandler" name="test_nix_timeout" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestFlatpakHandler" name="test_flatpak_not_installed" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestFlatpakHandler" name="test_flatpak_success" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestAppImageHandler" name="test_appimage_install_success" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestAppImageHandler" name="test_appimage_missing_file" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestWindowsHandler" name="test_windows_exe_via_wine" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestWindowsHandler" name="test_windows_missing_file" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestWindowsHandler" name="test_windows_msi_via_wine" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestWindowsHandler" name="test_windows_no_wine" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAndroidHandler" name="test_android_fallback_copy" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAndroidHandler" name="test_android_missing_file" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAndroidHandler" name="test_android_no_binder" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestMacOSHandler" name="test_macos_no_darling" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestMacOSHandler" name="test_macos_with_darling_not_automated" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestExtensionHandler" name="test_extension_registry_unavailable" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestExtensionHandler" name="test_extension_success" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_appimage" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_appimage_not_found" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_default_platform_uses_nix" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_flatpak" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_nix" time="0.003" /><testcase classname="tests.unit.test_app_installer.TestAppInstallerUninstall" name="test_uninstall_unsupported_platform" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestListInstalled" name="test_list_appimages" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestListInstalled" name="test_list_graceful_when_no_tools" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestListInstalled" name="test_list_nix_packages" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestListInstalled" name="test_list_wine_apps" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestSearch" name="test_search_nix" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestSearch" name="test_search_no_tools" time="0.002" /><testcase classname="tests.unit.test_app_installer.TestSearch" name="test_search_with_platform_filter" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestInstallRoute" name="test_install_failure_returns_400" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestInstallRoute" name="test_install_nix_package" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestInstallRoute" name="test_missing_source" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestUninstallRoute" name="test_missing_app_id" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestUninstallRoute" name="test_uninstall_success" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestInstalledRoute" name="test_list_installed" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestSearchRoute" name="test_missing_query" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestSearchRoute" name="test_search_success" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestSearchRoute" name="test_search_with_platform_filter" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestDetectRoute" name="test_detect_exe_file" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestDetectRoute" name="test_missing_path" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestDetectRoute" name="test_nonexistent_file" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestHistoryRoute" name="test_history" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestPlatformsRoute" name="test_appimage_always_available" time="0.007" /><testcase classname="tests.unit.test_app_installer.TestPlatformsRoute" name="test_extension_always_available" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestPlatformsRoute" name="test_platforms_list" time="0.008" /><testcase classname="tests.unit.test_app_installer.TestAppStoreRoutes" name="test_install_route_missing_fields" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestAppStoreRoutes" name="test_search_route_empty_query" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestAppStoreRoutes" name="test_search_route_with_query" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestAppStoreRoutes" name="test_uninstall_route_missing_fields" time="0.006" /><testcase classname="tests.unit.test_app_installer.TestAppPermissions" name="test_manifest_has_permissions_field" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAppPermissions" name="test_manifest_with_permissions" time="0.001" /><testcase classname="tests.unit.test_app_installer.TestAppPermissions" name="test_permissions_default_empty" time="0.001" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_writes_valid_json" time="0.003" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_creates_parent_directories" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_overwrites_existing_file" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_handles_non_serializable_with_default_str" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_no_temp_files_left_on_success" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_existing_file_preserved_on_error" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestAtomicJsonWrite" name="test_concurrent_writes_produce_valid_json" time="0.018" /><testcase classname="tests.unit.test_atomic_json.TestCachedJsonSaveAtomic" name="test_cached_save_creates_valid_json" time="0.002" /><testcase classname="tests.unit.test_atomic_json.TestCachedJsonSaveAtomic" name="test_cached_save_updates_cache" time="0.001" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_same_origin_origin_header_accepted" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_loopback_origin_127_0_0_1_accepted" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_loopback_ipv6_origin_accepted" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_cross_origin_origin_header_rejected" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_cross_origin_referer_only_rejected" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_null_origin_rejected" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_no_origin_no_referer_accepted" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_bearer_token_bypasses_csrf_check" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_wrong_bearer_token_falls_through_to_csrf" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_trusted_origins_env_extends_allow_list" time="0.004" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_trusted_origins_empty_env_does_not_open_holes" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_original_decorator_accepts_no_csrf_check" time="0.003" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_origin_host_parser" time="0.001" /><testcase classname="tests.unit.test_auth_local_csrf" name="test_module_imports_cleanly" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_build_beacon_starts_with_magic" time="0.075" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_build_beacon_valid_json" time="0.053" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_valid" time="0.002" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_wrong_magic" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_own_node_ignored" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_stale_rejected" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_wrong_type_rejected" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_invalid_json" time="0.001" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryBeacon" name="test_parse_beacon_guardrail_mismatch_rejected" time="0.002" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_discovered_node_fed_to_gossip" time="0.002" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_duplicate_node_tracked" time="0.002" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_stop_sets_running_false" time="0.003" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_disabled_via_env" time="0.003" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_port_configurable" time="0.003" /><testcase classname="tests.unit.test_auto_discovery.TestAutoDiscoveryIntegration" name="test_interval_configurable" time="0.003" /><testcase classname="tests.unit.test_auto_evolve.TestEvolveSession" name="test_default_state" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestEvolveSession" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestSingleton" name="test_get_auto_evolve_orchestrator" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestSingleton" name="test_get_status_idle" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_get_paused_experiments" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_pause_and_resume_by_owner" time="0.003" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_pause_nonexistent_experiment" time="0.002" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_pause_not_owner" time="0.003" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_resume_not_paused" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestOwnerPauseResume" name="test_resume_wrong_user" time="0.002" /><testcase classname="tests.unit.test_auto_evolve.TestIterateHypothesisPauseCheck" name="test_iterate_proceeds_when_not_paused" time="0.006" /><testcase classname="tests.unit.test_auto_evolve.TestIterateHypothesisPauseCheck" name="test_iterate_returns_pause_signal" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestToolRegistration" name="test_all_tools_have_tags" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestToolRegistration" name="test_auto_evolve_tool_names" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestToolRegistration" name="test_auto_evolve_tools_count" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestConstitutionalFilter" name="test_filter_blocks_rejected" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestConstitutionalFilter" name="test_filter_passes_clean_experiments" time="0.001" /><testcase classname="tests.unit.test_auto_evolve.TestVoteRanking" name="test_ranking_by_score" time="0.003" /><testcase classname="tests.unit.test_auto_evolve.TestAutoEvolveToolFunctions" name="test_get_auto_evolve_status_returns_json" time="0.002" /><testcase classname="tests.unit.test_auto_evolve.TestAutoEvolveToolFunctions" name="test_start_auto_evolve_returns_json" time="0.002" /><testcase classname="tests.unit.test_auto_evolve_dispatch_wiring.TestSuperMajorityGate" name="test_accepts_supermajority" time="0.003" /><testcase classname="tests.unit.test_auto_evolve_dispatch_wiring.TestSuperMajorityGate" name="test_all_abstain_is_rejected" time="0.003" /><testcase classname="tests.unit.test_auto_evolve_dispatch_wiring.TestSuperMajorityGate" name="test_rejects_simple_majority" time="0.003" /><testcase classname="tests.unit.test_auto_evolve_dispatch_wiring.TestParallelDispatch" name="test_one_failure_does_not_block_others" time="0.003" /><testcase classname="tests.unit.test_auto_evolve_dispatch_wiring.TestParallelDispatch" name="test_uses_threadpool" time="0.003" /><testcase classname="tests.unit.test_autoevolve_loop.TestAutoresearchClosedLoop" name="test_3_iters_mixed_improve_regress" time="0.016" /><testcase classname="tests.unit.test_autoevolve_loop.TestAutoresearchClosedLoop" name="test_all_reverts" time="0.006" /><testcase classname="tests.unit.test_autoevolve_loop.TestAutoresearchClosedLoop" name="test_stops_on_budget" time="0.007" /><testcase classname="tests.unit.test_autoevolve_loop.TestAutoresearchClosedLoop" name="test_stops_on_max_iterations" time="0.006" /><testcase classname="tests.unit.test_autoevolve_loop.TestGenericIterationClosedLoop" name="test_history_accumulates" time="0.006" /><testcase classname="tests.unit.test_autoevolve_loop.TestGenericIterationClosedLoop" name="test_improving_gives_continue" time="0.005" /><testcase classname="tests.unit.test_autoevolve_loop.TestGenericIterationClosedLoop" name="test_paused_experiment_blocks_iteration" time="0.002" /><testcase classname="tests.unit.test_autoevolve_loop.TestGenericIterationClosedLoop" name="test_plateau_triggers_converge" time="0.006" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_missing_ui_label_raises_type_error" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:47: in test_missing_ui_label_raises_type_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_empty_or_non_string_ui_label_raises_value_error[]" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:56: in test_empty_or_non_string_ui_label_raises_value_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_empty_or_non_string_ui_label_raises_value_error[   ]" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:56: in test_empty_or_non_string_ui_label_raises_value_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_empty_or_non_string_ui_label_raises_value_error[\t]" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:56: in test_empty_or_non_string_ui_label_raises_value_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_empty_or_non_string_ui_label_raises_value_error[123]" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:56: in test_empty_or_non_string_ui_label_raises_value_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_empty_or_non_string_ui_label_raises_value_error[None]" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:56: in test_empty_or_non_string_ui_label_raises_value_error
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_factory_registers_label_into_tool_labels" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:71: in test_factory_registers_label_into_tool_labels
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_wrapped_function_emits_tool_call_when_user_context_set" time="0.004"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:105: in test_wrapped_function_emits_tool_call_when_user_context_set
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_wrapped_function_skips_emit_when_no_user_context" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:144: in test_wrapped_function_skips_emit_when_no_user_context
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_tool_exception_is_logged_and_returns_json_envelope" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:190: in test_tool_exception_is_logged_and_returns_json_envelope
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_emit_failure_does_not_block_tool_and_is_logged" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:227: in test_emit_failure_does_not_block_tool_and_is_logged
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_async_tool_wrapper_is_coroutine_function" time="0.005"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:273: in test_async_tool_wrapper_is_coroutine_function
    from core.labeled_autogen_function import register_labeled_function
core/labeled_autogen_function.py:40: in &lt;module&gt;
    from autogen import register_function as _autogen_register_function
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_uses_labeled_factory[integrations/agent_engine/journey_engine.py]" time="0.007" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_uses_labeled_factory[integrations/agent_engine/outreach_crm_tools.py]" time="0.006" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_uses_labeled_factory[integrations/service_tools/system_introspect_tool.py]" time="0.005" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_no_raw_register_function_call[integrations/agent_engine/journey_engine.py]" time="0.016" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_no_raw_register_function_call[integrations/agent_engine/outreach_crm_tools.py]" time="0.014" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_call_site_no_raw_register_function_call[integrations/service_tools/system_introspect_tool.py]" time="0.010" /><testcase classname="tests.unit.test_autogen_tool_emits" name="test_log_tool_execution_canonical_home" time="0.038"><failure message="ModuleNotFoundError: No module named 'autogen'">tests/unit/test_autogen_tool_emits.py:378: in test_log_tool_execution_canonical_home
    from create_recipe import log_tool_execution as via_create
create_recipe.py:7: in &lt;module&gt;
    import autogen
E   ModuleNotFoundError: No module named 'autogen'</failure></testcase><testcase classname="tests.unit.test_autogen_tool_emits" name="test_reuse_recipe_inner_tools_have_log_tool_execution" time="0.074" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_budget_exact_boundary" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_budget_exhausted_when_consumed" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_budget_not_exhausted_initially" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_delta_none_when_no_values" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_delta_property" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_is_improved_higher_is_better" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_is_improved_lower_is_better" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_is_improved_no_baseline" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoResearchSession" name="test_to_progress_dict" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_colon_format" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_custom_pattern" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_equals_format" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_no_match" time="0.002" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_pytest_passed" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestMetricExtraction" name="test_extract_score_keyword" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestHistorySummary" name="test_empty_history" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestHistorySummary" name="test_history_truncated_to_10" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestHistorySummary" name="test_history_with_results" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestReportSaving" name="test_save_report_creates_file" time="0.063" /><testcase classname="tests.unit.test_autoresearch.TestGoalTypeRegistration" name="test_autoresearch_has_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGoalTypeRegistration" name="test_autoresearch_prompt_content" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGoalTypeRegistration" name="test_autoresearch_registered" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGoalTypeRegistration" name="test_autoresearch_tool_tags" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSeedGoal" name="test_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSeedGoal" name="test_seed_goal_type" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestThoughtExperimentToolWiring" name="test_autoresearch_tool_tags" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestThoughtExperimentToolWiring" name="test_launch_missing_repo" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestThoughtExperimentToolWiring" name="test_tool_count" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestThoughtExperimentToolWiring" name="test_tool_list_includes_autoresearch" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_backward_compat_alias" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_decide_no_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_edit_no_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_finalize_no_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_get_status_all_sessions" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_get_status_no_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_run_no_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_setup_missing_file" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_setup_missing_repo" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_start_autoresearch_backward_compat" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestAutoEvolveToolFunctions" name="test_tool_registration_count" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSingleton" name="test_get_active_sessions_empty" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSingleton" name="test_get_autoresearch_engine_singleton" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSessionManagement" name="test_get_nonexistent_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSessionManagement" name="test_register_and_get_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestSessionManagement" name="test_unregister_session" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestRateLimiting" name="test_autoresearch_rate_limit_entry" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestEventBusEmission" name="test_emit_progress_calls_emit_event" time="0.002" /><testcase classname="tests.unit.test_autoresearch.TestEventBusEmission" name="test_emit_progress_no_crash_on_failure" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGitRevert" name="test_revert_calls_git_checkout" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_get_iteration_history_empty" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_iterate_hypothesis_returns_context" time="0.002" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_iteration_tool_tags" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_iteration_tools_registered" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_score_clamps_values" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestGenericIterationTools" name="test_score_hypothesis_creates_history" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestTypeAwareIterationRecipe" name="test_physical_ai_recipe" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestTypeAwareIterationRecipe" name="test_software_recipe" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestTypeAwareIterationRecipe" name="test_traditional_recipe" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestTypeAwareIterationRecipe" name="test_unknown_type_falls_back_to_traditional" time="0.001" /><testcase classname="tests.unit.test_autoresearch.TestBenchmarkIntegration" name="test_record_benchmark_called" time="0.002" /><testcase classname="tests.unit.test_autoresearch.TestBenchmarkIntegration" name="test_record_benchmark_no_crash_on_failure" time="0.002" /><testcase classname="tests.unit.test_autoresearch_loud_fallbacks.TestBaselineEnforcementFlag" name="test_baseline_service_missing_sets_flag_and_warns" time="0.011" /><testcase classname="tests.unit.test_autoresearch_loud_fallbacks.TestBaselineEnforcementFlag" name="test_benchmark_tracker_missing_sets_flag_and_warns" time="0.002" /><testcase classname="tests.unit.test_autoresearch_loud_fallbacks.TestBaselineEnforcementFlag" name="test_federation_export_missing_sets_flag_and_warns" time="0.002" /><testcase classname="tests.unit.test_autoresearch_loud_fallbacks.TestBaselineEnforcementFlag" name="test_flags_default_true" time="0.001" /><testcase classname="tests.unit.test_autoresearch_loud_fallbacks.TestBaselineEnforcementFlag" name="test_progress_dict_includes_flags" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_backend_repair_tools_list_shape" time="0.002" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_repair_backend_venv_callable_signature" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_repair_backend_venv_unknown_backend_returns_error_json" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_repair_backend_venv_engine_registry_unavailable" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_repair_backend_venv_known_backend_routed_to_install" time="0.005" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_repair_backend_venv_source_mode_returns_graceful_message" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_self_heal_prompt_tts_probe_with_backend_mentions_repair_tool" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_self_heal_prompt_subprocess_tool_load_routes_to_repair" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_self_heal_prompt_unknown_category_uses_generic_path" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_self_heal_prompt_tts_probe_no_backend_uses_generic_path" time="0.001" /><testcase classname="tests.unit.test_backend_repair_tools" name="test_mcp_bridge_registers_backend_repair_tool" time="0.003" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_identify_by_face_returns_none_without_hevolveai" time="0.006" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_identify_by_voice_returns_none_without_hevolveai" time="0.003" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_enroll_face_graceful_without_hevolveai" time="0.002" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_enroll_voice_graceful_without_hevolveai" time="0.003" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_no_ml_imports_in_identifier" time="0.004" /><testcase classname="tests.unit.test_biometric_signatures.TestBiometricProxy" name="test_no_biometric_signatures_module" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestDevModeEnforcement" name="test_dev_mode_forced_off_on_central" time="0.002" /><testcase classname="tests.unit.test_boot_hardening.TestDevModeEnforcement" name="test_dev_mode_untouched_on_flat" time="0.002" /><testcase classname="tests.unit.test_boot_hardening.TestDevModeEnforcement" name="test_validate_startup_blocks_dev_on_central" time="0.002" /><testcase classname="tests.unit.test_boot_hardening.TestTierAuthorization" name="test_central_without_key_blocks_boot" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestTierAuthorization" name="test_flat_tier_always_authorized" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestTierAuthorization" name="test_regional_tier_not_blocked" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestTierAuthorization" name="test_central_with_valid_key_passes" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_missing_openai_key_warns_on_central" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_valid_openai_key_passes" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_missing_key_no_warn_on_flat" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_tls_check_detects_missing_cert" time="0.002" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_sqlite_detected_on_central" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestCentralHardening" name="test_postgres_passes_db_check" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestChatRateLimitStructure" name="test_chat_rate_limit_structure" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestChatRateLimitStructure" name="test_different_users_have_separate_limits" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestComputeEscrowModel" name="test_compute_escrow_model_fields" time="0.001" /><testcase classname="tests.unit.test_boot_hardening.TestComputeEscrowModel" name="test_compute_escrow_status_default" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_get_trait_by_name_empty" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_get_trait_by_name_none_safe" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_get_traits_by_origin_empty" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_get_traits_for_role_empty" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_get_traits_for_role_zero_count" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestCulturalWisdomEdges" name="test_cultural_prompt_is_non_empty" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestThreadLocalEdges" name="test_100_threads_isolated" time="0.017" /><testcase classname="tests.unit.test_boundary_edge_cases.TestThreadLocalEdges" name="test_set_get_round_trip_all_fields" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_empty_cache_len_zero" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_none_key_handled" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_empty_string_key" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_unicode_key" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_overwrite_updates_value" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_max_size_1" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestTTLCacheBoundaries" name="test_get_returns_none_for_expired" time="0.051" /><testcase classname="tests.unit.test_boundary_edge_cases.TestRetrieveJsonEdges" name="test_empty_string" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestRetrieveJsonEdges" name="test_none_input" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestRetrieveJsonEdges" name="test_only_whitespace" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestRetrieveJsonEdges" name="test_nested_json" time="0.001" /><testcase classname="tests.unit.test_boundary_edge_cases.TestRetrieveJsonEdges" name="test_json_with_unicode" time="0.001" /><testcase classname="tests.unit.test_budget_cache" name="test_first_call_hits_db_subsequent_calls_use_cache" time="0.006" /><testcase classname="tests.unit.test_budget_cache" name="test_no_goal_id_short_circuits_without_cache_or_db" time="0.002" /><testcase classname="tests.unit.test_budget_cache" name="test_denied_result_stays_denied_for_ttl_window" time="0.005" /><testcase classname="tests.unit.test_budget_cache" name="test_higher_cost_invalidates_cached_allowed" time="0.006" /><testcase classname="tests.unit.test_budget_cache" name="test_ttl_expiry_forces_fresh_db_call" time="0.006" /><testcase classname="tests.unit.test_budget_cache" name="test_invalidate_clears_specific_goal_only" time="0.006" /><testcase classname="tests.unit.test_budget_cache" name="test_invalidate_all_clears_everything" time="0.006" /><testcase classname="tests.unit.test_budget_cache" name="test_db_unavailable_path_does_not_crash_or_cache" time="0.001" /><testcase classname="tests.unit.test_budget_cache" name="test_ttl_constant_within_safe_bounds" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestEstimateLLMCostSpark" name="test_estimate_returns_positive_int" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestEstimateLLMCostSpark" name="test_longer_prompt_costs_more" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestEstimateLLMCostSpark" name="test_gpt4_costs_more_than_mini" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestEstimateLLMCostSpark" name="test_empty_prompt_returns_min_1" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestEstimateLLMCostSpark" name="test_unknown_model_uses_default_cost" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestCheckGoalBudget" name="test_no_goal_id_always_allowed" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestCheckGoalBudget" name="test_empty_goal_id_always_allowed" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestCheckGoalBudget" name="test_insufficient_budget_blocked" time="0.009" /><testcase classname="tests.unit.test_budget_gate.TestCheckGoalBudget" name="test_sufficient_budget_reserved" time="0.006" /><testcase classname="tests.unit.test_budget_gate.TestCheckGoalBudget" name="test_import_error_does_not_block" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestPlatformAffordability" name="test_platform_affordability_positive" time="0.003" /><testcase classname="tests.unit.test_budget_gate.TestPlatformAffordability" name="test_platform_affordability_negative" time="0.004" /><testcase classname="tests.unit.test_budget_gate.TestPreDispatchBudgetGate" name="test_combined_gate_allows_when_both_pass" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestPreDispatchBudgetGate" name="test_combined_gate_blocks_on_budget" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestPreDispatchBudgetGate" name="test_combined_gate_blocks_on_platform" time="0.002" /><testcase classname="tests.unit.test_budget_gate.TestPreDispatchBudgetGate" name="test_no_goal_passes_budget_check" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_split_constants_sum_to_one" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_user_split_is_90_percent" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_infra_split_is_9_percent" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_central_split_is_1_percent" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_ad_service_imports_central_constant" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_hosting_service_imports_central_constant" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_unwitnessed_share_below_user_share" time="0.001" /><testcase classname="tests.unit.test_budget_gate.TestRevenueSplitConstants" name="test_query_revenue_streams_returns_three_shares" time="0.003" /><testcase classname="tests.unit.test_build_verification.TestCoreModulesImportable" name="test_all_core_modules_import" time="0.003" /><testcase classname="tests.unit.test_build_verification.TestIntegrationModulesImportable" name="test_all_integration_modules_import" time="0.002" /><testcase classname="tests.unit.test_build_verification.TestFlaskAppImportable" name="test_flask_app_has_routes" time="0.003" /><testcase classname="tests.unit.test_build_verification.TestFlaskAppImportable" name="test_hart_intelligence_entry_imports" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestSchemaCreation" name="test_base_metadata_has_tables" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestSchemaCreation" name="test_create_all_in_memory" time="0.089" /><testcase classname="tests.unit.test_build_verification.TestSchemaCreation" name="test_required_tables_exist" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestNoCircularImports" name="test_budget_gate_independent" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestNoCircularImports" name="test_compute_config_independent" time="0.002" /><testcase classname="tests.unit.test_build_verification.TestNoCircularImports" name="test_model_registry_independent" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestEntryPoints" name="test_pyproject_toml_exists" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestEntryPoints" name="test_requirements_txt_exists" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestEntryPoints" name="test_setup_py_exists" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestSingletonsInitialize" name="test_compute_policy_defaults" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestSingletonsInitialize" name="test_model_registry_singleton" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestSingletonsInitialize" name="test_revenue_aggregator_singleton" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestDependencyVersions" name="test_flask_importable" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestDependencyVersions" name="test_langchain_importable" time="0.001" /><testcase classname="tests.unit.test_build_verification.TestDependencyVersions" name="test_sqlalchemy_importable" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestCommandRegistration" name="test_register_all_commands" time="0.004" /><testcase classname="tests.unit.test_builtin_commands.TestCommandRegistration" name="test_register_user_commands" time="0.004" /><testcase classname="tests.unit.test_builtin_commands.TestCommandRegistration" name="test_register_group_commands" time="0.004" /><testcase classname="tests.unit.test_builtin_commands.TestCommandRegistration" name="test_register_admin_commands" time="0.004" /><testcase classname="tests.unit.test_builtin_commands.TestCommandRegistration" name="test_command_aliases" time="0.004" /><testcase classname="tests.unit.test_builtin_commands.TestHelpCommand" name="test_help_list_all" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestHelpCommand" name="test_help_specific_command" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestHelpCommand" name="test_help_unknown_command" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStartStopCommands" name="test_start_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStartStopCommands" name="test_stop_command" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStartStopCommands" name="test_start_after_stop" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStatusCommand" name="test_status_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStatusCommand" name="test_status_shows_channel" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPairingCommands" name="test_pair_success" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPairingCommands" name="test_pair_no_code" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPairingCommands" name="test_pair_invalid_code" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPairingCommands" name="test_unpair_success" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPairingCommands" name="test_unpair_not_paired" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestHistoryCommands" name="test_clear_history" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestHistoryCommands" name="test_history_default" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestHistoryCommands" name="test_history_with_count" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_model_show" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_model_set" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_language_show" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_language_set" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_timezone_show" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestPreferenceCommands" name="test_timezone_set" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestFeedbackCommand" name="test_feedback_success" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestFeedbackCommand" name="test_feedback_no_text" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestFeedbackCommand" name="test_feedback_handler_called" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestMentionCommand" name="test_mention_on" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestMentionCommand" name="test_mention_off" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestMentionCommand" name="test_mention_reply" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestMentionCommand" name="test_mention_not_in_group" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestQuietResumeCommands" name="test_quiet_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestQuietResumeCommands" name="test_resume_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestQuietResumeCommands" name="test_quiet_not_in_group" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestQuietResumeCommands" name="test_resume_not_in_group" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestAdminAccessControl" name="test_admin_command_blocked_for_user" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestAdminAccessControl" name="test_admin_command_allowed_for_admin" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBroadcastCommand" name="test_broadcast_success" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBroadcastCommand" name="test_broadcast_no_message" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestStatsCommand" name="test_stats_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestUsersCommand" name="test_users_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBanUnbanCommands" name="test_ban_user" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBanUnbanCommands" name="test_unban_user" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBanUnbanCommands" name="test_ban_no_user" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestBanUnbanCommands" name="test_banned_user_blocked" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestConfigCommand" name="test_config_get" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestConfigCommand" name="test_config_set" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestConfigCommand" name="test_config_get_missing" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestReloadCommand" name="test_reload_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestDebugCommand" name="test_debug_on" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestDebugCommand" name="test_debug_off" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestCommandResult" name="test_ok_result" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestCommandResult" name="test_fail_result" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestCommandResult" name="test_silent_ok" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestGlobalFunctions" name="test_get_builtin_commands" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestGlobalFunctions" name="test_reset_builtin_commands" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestGlobalFunctions" name="test_register_builtin_commands" time="0.001" /><testcase classname="tests.unit.test_builtin_commands.TestEdgeCases" name="test_unknown_command" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestEdgeCases" name="test_disabled_command" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestEdgeCases" name="test_stopped_user_silent" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestEdgeCases" name="test_pairing_not_configured" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestIntegration" name="test_full_user_flow" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_builtin_commands.TestIntegration" name="test_admin_management_flow" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loader_called_on_miss" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loader_not_called_on_hit" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loader_called_on_expired" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loader_returns_none_raises_keyerror" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loader_exception_raises_keyerror" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_get_uses_loader" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_get_default_when_loader_returns_none" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_contains_uses_loader" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_contains_false_when_loader_returns_none" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_setdefault_uses_loader" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_setdefault_uses_default_when_loader_returns_none" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_loaded_value_is_cached" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestTTLCacheLoader" name="test_no_loader_behaves_like_regular_dict" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestLoadAgentData" name="test_load_existing_agent_data" time="0.003" /><testcase classname="tests.unit.test_cache_restoration.TestLoadAgentData" name="test_load_nonexistent_returns_none" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestLoadAgentData" name="test_load_old_format" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestLoadRecipe" name="test_load_existing_recipe" time="0.002" /><testcase classname="tests.unit.test_cache_restoration.TestLoadRecipe" name="test_load_nonexistent_recipe_returns_none" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestLoadRecipe" name="test_load_recipe_invalid_key_format" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestLoadUserLedger" name="test_load_existing_ledger" time="0.003" /><testcase classname="tests.unit.test_cache_restoration.TestLoadUserLedger" name="test_load_empty_ledger_returns_none" time="0.002" /><testcase classname="tests.unit.test_cache_restoration.TestLoadUserLedger" name="test_load_ledger_invalid_key" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestRestoreActionStates" name="test_restore_from_ledger" time="0.002" /><testcase classname="tests.unit.test_cache_restoration.TestRestoreActionStates" name="test_restore_skips_non_action_tasks" time="0.001" /><testcase classname="tests.unit.test_cache_restoration.TestRestoreActionStates" name="test_restore_empty_ledger" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_delete_existing_key" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_delete_missing_key" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_get_missing_returns_default" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_has_key_exists" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_has_key_missing" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_overwrite_existing_key" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_set_and_get" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheBasicOperations" name="test_set_none_value" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheTTL" name="test_custom_ttl" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheTTL" name="test_expired_key_returns_default" time="0.051" /><testcase classname="tests.unit.test_cache_service.TestCacheTTL" name="test_has_expired_key" time="0.052" /><testcase classname="tests.unit.test_cache_service.TestCacheTTL" name="test_zero_ttl_never_expires" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheLRU" name="test_eviction_when_over_max_size" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheLRU" name="test_lru_order_updated_on_get" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheLRU" name="test_lru_overwrite_does_not_grow" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheNamespace" name="test_clear_all" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheNamespace" name="test_clear_empty_namespace" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheNamespace" name="test_clear_namespace" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheNamespace" name="test_clear_returns_count" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_hit_count" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_hit_rate" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_hit_rate_no_gets" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_miss_count" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_reset_stats" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheStats" name="test_stats_dict" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheLifecycle" name="test_health_started" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheLifecycle" name="test_health_stopped" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheLifecycle" name="test_start_stop_idempotent" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheLifecycle" name="test_stop_clears_data" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_disk_unavailable" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_disk_write_error_silent" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_get_persistent_disk_fallback" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_get_persistent_disk_miss" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_get_persistent_memory_hit_skips_disk" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_set_persistent_writes_to_disk" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_set_persistent_zero_ttl" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDisk" name="test_stop_closes_disk" time="0.002" /><testcase classname="tests.unit.test_cache_service.TestCacheDefaults" name="test_default_max_size" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheDefaults" name="test_default_ttl" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestCacheDefaults" name="test_missing_sentinel_is_unique" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestGetCacheHelper" name="test_get_cache_returns_none_when_not_bootstrapped" time="0.001" /><testcase classname="tests.unit.test_cache_service.TestGetCacheHelper" name="test_get_cache_returns_service_when_registered" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_empty_input" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:83: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_pure_english" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:89: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_music_tag" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:96: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_sing_tag" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:107: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_lyrics_tag" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:115: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_multiple_tags_interleaved" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:122: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_no_tags_returns_speech" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:128: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_music_default_duration" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:134: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestLanguageSegmenter" name="test_nested_quotes_in_attrs" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:139: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestAudioGenPopulation" name="test_populates_two_entries" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestAudioGenPopulation" name="test_acestep_capabilities" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestAudioGenPopulation" name="test_diffrhythm_capabilities" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestAudioGenPopulation" name="test_idempotent" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestAudioGenPopulation" name="test_stale_entry_cleanup" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_can_do_with_loaded_model" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_can_do_returns_false_for_unknown_type" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_can_do_checks_compute_fit" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_can_do_cpu_capable_fits" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_available_capabilities_structure" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_capability_prompt_empty_when_nothing" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_capability_prompt_excludes_llm" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_capability_prompt_includes_tts" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestOrchestratorCapabilities" name="test_dynamic_service_creates_new_category" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_can_do_delegates_to_orchestrator" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_can_do_with_capability" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_generate_media_video_unavailable" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_generate_media_audio_music_unavailable" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_generate_media_audio_speech_unavailable" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMediaAgentGates" name="test_generate_media_invalid_modality" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMultilingualSynthDegradation" name="test_returns_unavailable_when_no_tts" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:358: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestMultilingualSynthDegradation" name="test_degrades_music_segments_when_offline" time="0.000"><skipped type="pytest.skip" message="tts package not installed (Nunba-only)">/home/runner/work/HARTOS/HARTOS/tests/unit/test_capability_system.py:365: tts package not installed (Nunba-only)</skipped></testcase><testcase classname="tests.unit.test_capability_system.TestMultiDeviceOffloading" name="test_video_suggests_delegation" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMultiDeviceOffloading" name="test_music_suggests_delegation" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMultiDeviceOffloading" name="test_can_do_false_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestMediaToolRegistration" name="test_registers_three_tools" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestDistributedCapabilityMatching" name="test_host_registry_auto_discovers_model_caps" time="0.003" /><testcase classname="tests.unit.test_capability_system.TestDistributedCapabilityMatching" name="test_host_registry_graceful_when_orchestrator_unavailable" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestDistributedCapabilityMatching" name="test_discover_model_capabilities_returns_flat_strings" time="0.002" /><testcase classname="tests.unit.test_capability_system.TestDistributedCapabilityMatching" name="test_get_hosts_with_model_capability" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestHiveComputeContribution" name="test_federated_aggregator_has_privacy_scope" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestHiveComputeContribution" name="test_idle_detection_opt_in_exists" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestHiveComputeContribution" name="test_capability_prompt_does_not_leak_private_data" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestCatalogListTypes" name="test_empty_catalog" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestCatalogListTypes" name="test_returns_distinct_types" time="0.001" /><testcase classname="tests.unit.test_capability_system.TestCatalogListTypes" name="test_excludes_disabled" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_correct_number_of_entries" time="0.003"><failure message="assert 13 == 12&#10; +  where 12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b19027d0&gt;.EXPECTED_COUNT">tests/unit/test_catalog_populators.py:92: in test_correct_number_of_entries
    assert added == self.EXPECTED_COUNT
E   assert 13 == 12
E    +  where 12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b19027d0&gt;.EXPECTED_COUNT</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_all_expected_ids_registered" time="0.003" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_ids_use_hyphens_not_underscores" time="0.003" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_known_hyphen_ids_exist" time="0.003" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_gpu_ids_match_catalog_to_vram_key" time="0.003" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_idempotent_second_call_adds_zero" time="0.003"><failure message="assert 13 == 12&#10; +  where 12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b19015d0&gt;.EXPECTED_COUNT">tests/unit/test_catalog_populators.py:133: in test_idempotent_second_call_adds_zero
    assert first == self.EXPECTED_COUNT
E   assert 13 == 12
E    +  where 12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b19015d0&gt;.EXPECTED_COUNT</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_idempotent_total_count_unchanged" time="0.003" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_all_entries_have_tts_type" time="0.003"><failure message="AssertionError: assert 13 == 12&#10; +  where 13 = len([ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-cosyvoice3', name='CosyVoice 3 (GPU, multilingual, voice-clone)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=4.0, ram_gb=4.0, disk_gb=3.5, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.cosyvoice_tool', 'tool_function': 'cosyvoice_synthesize', 'vram_key': 'tts_cosyvoice3', 'streaming': True, 'paralinguistic': ['emotion_happy', 'emotion_sad', 'whispering'], 'emotion_tags': True}, quality_score=0.92, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'en'], language_priority={'en': 70, 'hi': 40, 'zh': 20, 'ja': 20, 'ko': 20, 'de': 20, 'es': 30, 'fr': 30, 'it': 20, 'ru': 20, 'zh-cn': 20}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-f5-tts', name='f5-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.f5_tts_tool', 'tool_function': 'f5_synthesize', 'vram_key': 'tts_f5', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'zh'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-chatterbox-ml', name='chatterbox-ml', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_ml_synthesize', 'vram_key': 'tts_chatterbox_ml', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.94, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['en', 'zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'pt', 'ar', 'nl', 'pl', 'sv', 'tr', 'hi', 'ta', 'te', 'bn', 'id', 'th', 'vi', 'cs'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-pocket-tts', name='pocket-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 200, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.85, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-neutts-air', name='neutts-air', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.neutts_tool', 'tool_function': 'neutts_synthesize', 'vram_key': 'tts_neutts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-kokoro', name='Kokoro 82M (CPU/GPU, English, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 120, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.kokoro_tool', 'tool_function': 'kokoro_synthesize', 'vram_key': 'tts_kokoro', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.88, speed_score=0.978, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={'en': 50}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-omnivoice', name='omnivoice', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=3.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 250, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.omnivoice_tool', 'tool_function': 'omnivoice_synthesize', 'vram_key': 'tts_omnivoice', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.93, speed_score=0.952, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 10, 'hi': 0, 'ta': 0, 'te': 0, 'bn': 0, 'gu': 0, 'kn': 0, 'ml': 0, 'mr': 0, 'or': 0, 'pa': 0, 'ur': 0, 'as': 0, 'ne': 0, 'sa': 0, 'si': 0, 'sd': 0, 'zh': 0, 'ja': 0, 'ko': 0, 'de': 0, 'es': 0, 'fr': 0, 'it': 0, 'ru': 0, 'pt': 0, 'ar': 0, 'nl': 0, 'pl': 0, 'sv': 0, 'tr': 0, 'id': 0, 'th': 0, 'vi': 0, 'cs': 0, 'hu': 0, 'el': 0, 'fi': 0, 'ro': 0, 'bg': 0, 'uk': 0, 'cy': 0, 'is': 0, 'ms': 0, 'fa': 0, 'he': 0, 'sw': 0, 'km': 0, 'lo': 0, 'my': 0, 'brx': 0, 'doi': 0, 'kok': 0, 'mai': 0, 'mni': 0, 'sat': 0, 'ks': 0, 'lv': 0, 'sr': 0, 'zh-cn': 0}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-espeak', name='eSpeak-NG (CPU, 100+ languages, instant fallback)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.1, disk_gb=0.05, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 10, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.4, speed_score=1.0, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 100, 'hi': 60, 'ta': 40, 'te': 40, 'bn': 40, 'gu': 40, 'kn': 40, 'ml': 40, 'mr': 40, 'or': 40, 'pa': 40, 'ur': 40, 'as': 40, 'ne': 40, 'sa': 40, 'si': 30, 'sd': 40, 'zh': 70, 'ja': 60, 'ko': 60, 'de': 50, 'es': 60, 'fr': 60, 'it': 50, 'ru': 50, 'pt': 40, 'ar': 40, 'nl': 40, 'pl': 40, 'sv': 30, 'tr': 40, 'id': 30, 'th': 30, 'vi': 30, 'cs': 40, 'hu': 40, 'el': 30, 'fi': 20, 'ro': 20, 'bg': 20, 'uk': 20, 'cy': 20, 'is': 20, 'ms': 20, 'fa': 20, 'he': 20, 'sw': 20, 'km': 20, 'lo': 20, 'my': 20, 'brx': 30, 'doi': 30, 'kok': 30, 'mai': 30, 'mni': 30, 'sat': 30, 'ks': 20, 'lv': 20, 'sr': 30, 'zh-cn': 70}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-melotts', name='MeloTTS (CPU/GPU, 6 langs, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=1.5, ram_gb=2.0, disk_gb=1.5, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 180, 'latency_cpu_ms': 600, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.melotts_tool', 'tool_function': 'melotts_synthesize', 'vram_key': 'tts_melotts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.86, speed_score=0.966, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'zh', 'ja', 'ko'], language_priority={'en': 30, 'zh': 10, 'ja': 10, 'ko': 10, 'es': 10, 'fr': 10, 'zh-cn': 10}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-xtts-v2', name='xtts-v2', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 350, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.xtts_tool', 'tool_function': 'xtts_synthesize', 'vram_key': 'tts_xtts_v2', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.92, speed_score=0.932, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'ar', 'zh', 'hu', 'ko', 'ja', 'hi'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-mms-tts', name='mms-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 500, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.mms_tts_tool', 'tool_function': 'mms_tts_synthesize', 'vram_key': 'tts_mms_tts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.78, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'hu', 'sv', 'fi', 'el', 'ro', 'bg', 'uk', 'cy', 'is', 'zh', 'ja', 'ko', 'vi', 'th', 'id', 'ms', 'km', 'lo', 'my', 'hi', 'bn', 'ta', 'te', 'mr', 'gu', 'kn', 'ml', 'pa', 'or', 'ne', 'as', 'sd', 'sa', 'ur', 'si', 'ar', 'fa', 'he', 'sw'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[])])&#10; +  and   12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b1912a10&gt;.EXPECTED_COUNT">tests/unit/test_catalog_populators.py:150: in test_all_entries_have_tts_type
    assert len(tts_entries) == self.EXPECTED_COUNT
E   AssertionError: assert 13 == 12
E    +  where 13 = len([ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-cosyvoice3', name='CosyVoice 3 (GPU, multilingual, voice-clone)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=4.0, ram_gb=4.0, disk_gb=3.5, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.cosyvoice_tool', 'tool_function': 'cosyvoice_synthesize', 'vram_key': 'tts_cosyvoice3', 'streaming': True, 'paralinguistic': ['emotion_happy', 'emotion_sad', 'whispering'], 'emotion_tags': True}, quality_score=0.92, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'en'], language_priority={'en': 70, 'hi': 40, 'zh': 20, 'ja': 20, 'ko': 20, 'de': 20, 'es': 30, 'fr': 30, 'it': 20, 'ru': 20, 'zh-cn': 20}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-f5-tts', name='f5-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.f5_tts_tool', 'tool_function': 'f5_synthesize', 'vram_key': 'tts_f5', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'zh'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-chatterbox-ml', name='chatterbox-ml', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_ml_synthesize', 'vram_key': 'tts_chatterbox_ml', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.94, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['en', 'zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'pt', 'ar', 'nl', 'pl', 'sv', 'tr', 'hi', 'ta', 'te', 'bn', 'id', 'th', 'vi', 'cs'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-pocket-tts', name='pocket-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 200, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.85, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-neutts-air', name='neutts-air', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.neutts_tool', 'tool_function': 'neutts_synthesize', 'vram_key': 'tts_neutts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-kokoro', name='Kokoro 82M (CPU/GPU, English, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 120, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.kokoro_tool', 'tool_function': 'kokoro_synthesize', 'vram_key': 'tts_kokoro', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.88, speed_score=0.978, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={'en': 50}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-omnivoice', name='omnivoice', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=3.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 250, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.omnivoice_tool', 'tool_function': 'omnivoice_synthesize', 'vram_key': 'tts_omnivoice', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.93, speed_score=0.952, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 10, 'hi': 0, 'ta': 0, 'te': 0, 'bn': 0, 'gu': 0, 'kn': 0, 'ml': 0, 'mr': 0, 'or': 0, 'pa': 0, 'ur': 0, 'as': 0, 'ne': 0, 'sa': 0, 'si': 0, 'sd': 0, 'zh': 0, 'ja': 0, 'ko': 0, 'de': 0, 'es': 0, 'fr': 0, 'it': 0, 'ru': 0, 'pt': 0, 'ar': 0, 'nl': 0, 'pl': 0, 'sv': 0, 'tr': 0, 'id': 0, 'th': 0, 'vi': 0, 'cs': 0, 'hu': 0, 'el': 0, 'fi': 0, 'ro': 0, 'bg': 0, 'uk': 0, 'cy': 0, 'is': 0, 'ms': 0, 'fa': 0, 'he': 0, 'sw': 0, 'km': 0, 'lo': 0, 'my': 0, 'brx': 0, 'doi': 0, 'kok': 0, 'mai': 0, 'mni': 0, 'sat': 0, 'ks': 0, 'lv': 0, 'sr': 0, 'zh-cn': 0}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-espeak', name='eSpeak-NG (CPU, 100+ languages, instant fallback)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.1, disk_gb=0.05, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 10, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.4, speed_score=1.0, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 100, 'hi': 60, 'ta': 40, 'te': 40, 'bn': 40, 'gu': 40, 'kn': 40, 'ml': 40, 'mr': 40, 'or': 40, 'pa': 40, 'ur': 40, 'as': 40, 'ne': 40, 'sa': 40, 'si': 30, 'sd': 40, 'zh': 70, 'ja': 60, 'ko': 60, 'de': 50, 'es': 60, 'fr': 60, 'it': 50, 'ru': 50, 'pt': 40, 'ar': 40, 'nl': 40, 'pl': 40, 'sv': 30, 'tr': 40, 'id': 30, 'th': 30, 'vi': 30, 'cs': 40, 'hu': 40, 'el': 30, 'fi': 20, 'ro': 20, 'bg': 20, 'uk': 20, 'cy': 20, 'is': 20, 'ms': 20, 'fa': 20, 'he': 20, 'sw': 20, 'km': 20, 'lo': 20, 'my': 20, 'brx': 30, 'doi': 30, 'kok': 30, 'mai': 30, 'mni': 30, 'sat': 30, 'ks': 20, 'lv': 20, 'sr': 30, 'zh-cn': 70}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-melotts', name='MeloTTS (CPU/GPU, 6 langs, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=1.5, ram_gb=2.0, disk_gb=1.5, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 180, 'latency_cpu_ms': 600, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.melotts_tool', 'tool_function': 'melotts_synthesize', 'vram_key': 'tts_melotts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.86, speed_score=0.966, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'zh', 'ja', 'ko'], language_priority={'en': 30, 'zh': 10, 'ja': 10, 'ko': 10, 'es': 10, 'fr': 10, 'zh-cn': 10}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-xtts-v2', name='xtts-v2', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 350, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.xtts_tool', 'tool_function': 'xtts_synthesize', 'vram_key': 'tts_xtts_v2', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.92, speed_score=0.932, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'ar', 'zh', 'hu', 'ko', 'ja', 'hi'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-mms-tts', name='mms-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 500, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.mms_tts_tool', 'tool_function': 'mms_tts_synthesize', 'vram_key': 'tts_mms_tts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.78, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'hu', 'sv', 'fi', 'el', 'ro', 'bg', 'uk', 'cy', 'is', 'zh', 'ja', 'ko', 'vi', 'th', 'id', 'ms', 'km', 'lo', 'my', 'hi', 'bn', 'ta', 'te', 'mr', 'gu', 'kn', 'ml', 'pa', 'or', 'ne', 'as', 'sd', 'sa', 'ur', 'si', 'ar', 'fa', 'he', 'sw'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[])])
E    +  and   12 = &lt;tests.unit.test_catalog_populators.TestPopulateTtsCatalog object at 0x7f63b1912a10&gt;.EXPECTED_COUNT</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_english_preference_in_language_priority" time="0.003"><failure message="AssertionError: tts-chatterbox-turbo should have 'en' in language_priority&#10;assert 'en' in {}&#10; +  where {} = ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority">tests/unit/test_catalog_populators.py:164: in test_english_preference_in_language_priority
    assert 'en' in entry.language_priority, (
E   AssertionError: tts-chatterbox-turbo should have 'en' in language_priority
E   assert 'en' in {}
E    +  where {} = ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_hindi_preference_in_language_priority" time="0.003"><failure message="AssertionError: tts-indic-parler should have 'hi' in language_priority&#10;assert 'hi' in {}&#10; +  where {} = ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority">tests/unit/test_catalog_populators.py:174: in test_hindi_preference_in_language_priority
    assert 'hi' in entry.language_priority, (
E   AssertionError: tts-indic-parler should have 'hi' in language_priority
E   assert 'hi' in {}
E    +  where {} = ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateTtsCatalog" name="test_chatterbox_turbo_en_is_top_priority" time="0.003"><failure message="AssertionError: assert None == 0&#10; +  where None = &lt;built-in method get of dict object at 0x7f6361a0c0c0&gt;('en')&#10; +    where &lt;built-in method get of dict object at 0x7f6361a0c0c0&gt; = {}.get&#10; +      where {} = ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority">tests/unit/test_catalog_populators.py:183: in test_chatterbox_turbo_en_is_top_priority
    assert entry.language_priority.get('en') == 0
E   AssertionError: assert None == 0
E    +  where None = &lt;built-in method get of dict object at 0x7f6361a0c0c0&gt;('en')
E    +    where &lt;built-in method get of dict object at 0x7f6361a0c0c0&gt; = {}.get
E    +      where {} = ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]).language_priority</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_correct_number_of_entries" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_all_expected_ids_registered" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_faster_whisper_base_exists" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_sherpa_moonshine_tiny_exists" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_sherpa_whisper_medium_exists" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_idempotent_second_call_adds_zero" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_idempotent_total_count_unchanged" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_all_entries_have_stt_type" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_sherpa_entries_have_zero_vram" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_faster_whisper_large_has_highest_vram" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateSttCatalog" name="test_faster_whisper_tiny_has_low_vram" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_correct_number_of_entries" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_all_expected_ids_registered" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_all_entries_have_vlm_type" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_minicpm_has_nonzero_vram" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_mobilevlm_has_zero_vram" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_clip_has_zero_vram" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_qwen3vl_has_nonzero_vram" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_minicpm_is_gpu_only" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_mobilevlm_is_cpu_only" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_clip_is_cpu_only" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_idempotent_second_call_adds_zero" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVlmCatalog" name="test_idempotent_total_count_unchanged" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_correct_number_of_entries" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_all_expected_ids_registered" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_all_entries_have_video_gen_type" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_wan2gp_requires_more_vram_than_ltx2" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_wan2gp_vram_is_8gb" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_ltx2_vram_is_4gb" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_wan2gp_does_not_support_cpu" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_ltx2_supports_cpu_offload" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_idempotent_second_call_adds_zero" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateVideoGenCatalog" name="test_idempotent_total_count_unchanged" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_tts_entries_present" time="0.018"><failure message="AssertionError: Expected 12 TTS entries, got 13&#10;assert 13 == 12&#10; +  where 13 = len([ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-cosyvoice3', name='CosyVoice 3 (GPU, multilingual, voice-clone)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=4.0, ram_gb=4.0, disk_gb=3.5, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.cosyvoice_tool', 'tool_function': 'cosyvoice_synthesize', 'vram_key': 'tts_cosyvoice3', 'streaming': True, 'paralinguistic': ['emotion_happy', 'emotion_sad', 'whispering'], 'emotion_tags': True}, quality_score=0.92, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'en'], language_priority={'en': 70, 'hi': 40, 'zh': 20, 'ja': 20, 'ko': 20, 'de': 20, 'es': 30, 'fr': 30, 'it': 20, 'ru': 20, 'zh-cn': 20}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-f5-tts', name='f5-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.f5_tts_tool', 'tool_function': 'f5_synthesize', 'vram_key': 'tts_f5', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'zh'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-chatterbox-ml', name='chatterbox-ml', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_ml_synthesize', 'vram_key': 'tts_chatterbox_ml', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.94, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['en', 'zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'pt', 'ar', 'nl', 'pl', 'sv', 'tr', 'hi', 'ta', 'te', 'bn', 'id', 'th', 'vi', 'cs'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-pocket-tts', name='pocket-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 200, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.85, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-neutts-air', name='neutts-air', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.neutts_tool', 'tool_function': 'neutts_synthesize', 'vram_key': 'tts_neutts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-kokoro', name='Kokoro 82M (CPU/GPU, English, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 120, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.kokoro_tool', 'tool_function': 'kokoro_synthesize', 'vram_key': 'tts_kokoro', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.88, speed_score=0.978, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={'en': 50}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-omnivoice', name='omnivoice', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=3.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 250, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.omnivoice_tool', 'tool_function': 'omnivoice_synthesize', 'vram_key': 'tts_omnivoice', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.93, speed_score=0.952, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 10, 'hi': 0, 'ta': 0, 'te': 0, 'bn': 0, 'gu': 0, 'kn': 0, 'ml': 0, 'mr': 0, 'or': 0, 'pa': 0, 'ur': 0, 'as': 0, 'ne': 0, 'sa': 0, 'si': 0, 'sd': 0, 'zh': 0, 'ja': 0, 'ko': 0, 'de': 0, 'es': 0, 'fr': 0, 'it': 0, 'ru': 0, 'pt': 0, 'ar': 0, 'nl': 0, 'pl': 0, 'sv': 0, 'tr': 0, 'id': 0, 'th': 0, 'vi': 0, 'cs': 0, 'hu': 0, 'el': 0, 'fi': 0, 'ro': 0, 'bg': 0, 'uk': 0, 'cy': 0, 'is': 0, 'ms': 0, 'fa': 0, 'he': 0, 'sw': 0, 'km': 0, 'lo': 0, 'my': 0, 'brx': 0, 'doi': 0, 'kok': 0, 'mai': 0, 'mni': 0, 'sat': 0, 'ks': 0, 'lv': 0, 'sr': 0, 'zh-cn': 0}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-espeak', name='eSpeak-NG (CPU, 100+ languages, instant fallback)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.1, disk_gb=0.05, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 10, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.4, speed_score=1.0, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 100, 'hi': 60, 'ta': 40, 'te': 40, 'bn': 40, 'gu': 40, 'kn': 40, 'ml': 40, 'mr': 40, 'or': 40, 'pa': 40, 'ur': 40, 'as': 40, 'ne': 40, 'sa': 40, 'si': 30, 'sd': 40, 'zh': 70, 'ja': 60, 'ko': 60, 'de': 50, 'es': 60, 'fr': 60, 'it': 50, 'ru': 50, 'pt': 40, 'ar': 40, 'nl': 40, 'pl': 40, 'sv': 30, 'tr': 40, 'id': 30, 'th': 30, 'vi': 30, 'cs': 40, 'hu': 40, 'el': 30, 'fi': 20, 'ro': 20, 'bg': 20, 'uk': 20, 'cy': 20, 'is': 20, 'ms': 20, 'fa': 20, 'he': 20, 'sw': 20, 'km': 20, 'lo': 20, 'my': 20, 'brx': 30, 'doi': 30, 'kok': 30, 'mai': 30, 'mni': 30, 'sat': 30, 'ks': 20, 'lv': 20, 'sr': 30, 'zh-cn': 70}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-melotts', name='MeloTTS (CPU/GPU, 6 langs, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=1.5, ram_gb=2.0, disk_gb=1.5, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 180, 'latency_cpu_ms': 600, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.melotts_tool', 'tool_function': 'melotts_synthesize', 'vram_key': 'tts_melotts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.86, speed_score=0.966, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'zh', 'ja', 'ko'], language_priority={'en': 30, 'zh': 10, 'ja': 10, 'ko': 10, 'es': 10, 'fr': 10, 'zh-cn': 10}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-xtts-v2', name='xtts-v2', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 350, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.xtts_tool', 'tool_function': 'xtts_synthesize', 'vram_key': 'tts_xtts_v2', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.92, speed_score=0.932, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'ar', 'zh', 'hu', 'ko', 'ja', 'hi'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-mms-tts', name='mms-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 500, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.mms_tts_tool', 'tool_function': 'mms_tts_synthesize', 'vram_key': 'tts_mms_tts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.78, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'hu', 'sv', 'fi', 'el', 'ro', 'bg', 'uk', 'cy', 'is', 'zh', 'ja', 'ko', 'vi', 'th', 'id', 'ms', 'km', 'lo', 'my', 'hi', 'bn', 'ta', 'te', 'mr', 'gu', 'kn', 'ml', 'pa', 'or', 'ne', 'as', 'sd', 'sa', 'ur', 'si', 'ar', 'fa', 'he', 'sw'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[])])&#10; +  and   12 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952550&gt;.EXPECTED_TTS_COUNT">tests/unit/test_catalog_populators.py:551: in test_tts_entries_present
    assert len(tts) == self.EXPECTED_TTS_COUNT, (
E   AssertionError: Expected 12 TTS entries, got 13
E   assert 13 == 12
E    +  where 13 = len([ModelEntry(id='tts-chatterbox-turbo', name='chatterbox-turbo', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_synthesize', 'vram_key': 'tts_chatterbox_turbo', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.95, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-cosyvoice3', name='CosyVoice 3 (GPU, multilingual, voice-clone)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=4.0, ram_gb=4.0, disk_gb=3.5, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.cosyvoice_tool', 'tool_function': 'cosyvoice_synthesize', 'vram_key': 'tts_cosyvoice3', 'streaming': True, 'paralinguistic': ['emotion_happy', 'emotion_sad', 'whispering'], 'emotion_tags': True}, quality_score=0.92, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'en'], language_priority={'en': 70, 'hi': 40, 'zh': 20, 'ja': 20, 'ko': 20, 'de': 20, 'es': 30, 'fr': 30, 'it': 20, 'ru': 20, 'zh-cn': 20}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-f5-tts', name='f5-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.f5_tts_tool', 'tool_function': 'f5_synthesize', 'vram_key': 'tts_f5', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'zh'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-indic-parler', name='indic-parler', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.indic_parler_tool', 'tool_function': 'indic_parler_synthesize', 'vram_key': 'tts_indic_parler', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.9, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['hi', 'ta', 'te', 'bn', 'gu', 'kn', 'ml', 'mr', 'or', 'pa', 'ur', 'as', 'bho', 'doi', 'kok', 'mai', 'mni', 'ne', 'sa', 'sat', 'sd', 'en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-chatterbox-ml', name='chatterbox-ml', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 300, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.chatterbox_tool', 'tool_function': 'chatterbox_ml_synthesize', 'vram_key': 'tts_chatterbox_ml', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.94, speed_score=0.942, cost_per_1k=0.0, priority=50, languages=['en', 'zh', 'ja', 'ko', 'de', 'es', 'fr', 'it', 'ru', 'pt', 'ar', 'nl', 'pl', 'sv', 'tr', 'hi', 'ta', 'te', 'bn', 'id', 'th', 'vi', 'cs'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-pocket-tts', name='pocket-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 200, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.85, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-neutts-air', name='neutts-air', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 150, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.neutts_tool', 'tool_function': 'neutts_synthesize', 'vram_key': 'tts_neutts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.91, speed_score=0.972, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-kokoro', name='Kokoro 82M (CPU/GPU, English, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 120, 'latency_cpu_ms': 400, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.kokoro_tool', 'tool_function': 'kokoro_synthesize', 'vram_key': 'tts_kokoro', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.88, speed_score=0.978, cost_per_1k=0.0, priority=50, languages=['en'], language_priority={'en': 50}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-omnivoice', name='omnivoice', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=3.5, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 250, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.omnivoice_tool', 'tool_function': 'omnivoice_synthesize', 'vram_key': 'tts_omnivoice', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.93, speed_score=0.952, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 10, 'hi': 0, 'ta': 0, 'te': 0, 'bn': 0, 'gu': 0, 'kn': 0, 'ml': 0, 'mr': 0, 'or': 0, 'pa': 0, 'ur': 0, 'as': 0, 'ne': 0, 'sa': 0, 'si': 0, 'sd': 0, 'zh': 0, 'ja': 0, 'ko': 0, 'de': 0, 'es': 0, 'fr': 0, 'it': 0, 'ru': 0, 'pt': 0, 'ar': 0, 'nl': 0, 'pl': 0, 'sv': 0, 'tr': 0, 'id': 0, 'th': 0, 'vi': 0, 'cs': 0, 'hu': 0, 'el': 0, 'fi': 0, 'ro': 0, 'bg': 0, 'uk': 0, 'cy': 0, 'is': 0, 'ms': 0, 'fa': 0, 'he': 0, 'sw': 0, 'km': 0, 'lo': 0, 'my': 0, 'brx': 0, 'doi': 0, 'kok': 0, 'mai': 0, 'mni': 0, 'sat': 0, 'ks': 0, 'lv': 0, 'sr': 0, 'zh-cn': 0}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-espeak', name='eSpeak-NG (CPU, 100+ languages, instant fallback)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.1, disk_gb=0.05, min_capability_tier='lite', backend='in_process', supports_gpu=False, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 0, 'latency_cpu_ms': 10, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.pocket_tts_tool', 'tool_function': 'pocket_tts_synthesize', 'vram_key': '', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.4, speed_score=1.0, cost_per_1k=0.0, priority=50, languages=['*'], language_priority={'en': 100, 'hi': 60, 'ta': 40, 'te': 40, 'bn': 40, 'gu': 40, 'kn': 40, 'ml': 40, 'mr': 40, 'or': 40, 'pa': 40, 'ur': 40, 'as': 40, 'ne': 40, 'sa': 40, 'si': 30, 'sd': 40, 'zh': 70, 'ja': 60, 'ko': 60, 'de': 50, 'es': 60, 'fr': 60, 'it': 50, 'ru': 50, 'pt': 40, 'ar': 40, 'nl': 40, 'pl': 40, 'sv': 30, 'tr': 40, 'id': 30, 'th': 30, 'vi': 30, 'cs': 40, 'hu': 40, 'el': 30, 'fi': 20, 'ro': 20, 'bg': 20, 'uk': 20, 'cy': 20, 'is': 20, 'ms': 20, 'fa': 20, 'he': 20, 'sw': 20, 'km': 20, 'lo': 20, 'my': 20, 'brx': 30, 'doi': 30, 'kok': 30, 'mai': 30, 'mni': 30, 'sat': 30, 'ks': 20, 'lv': 20, 'sr': 30, 'zh-cn': 70}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-melotts', name='MeloTTS (CPU/GPU, 6 langs, neural)', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=1.5, ram_gb=2.0, disk_gb=1.5, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 180, 'latency_cpu_ms': 600, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.melotts_tool', 'tool_function': 'melotts_synthesize', 'vram_key': 'tts_melotts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.86, speed_score=0.966, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'zh', 'ja', 'ko'], language_priority={'en': 30, 'zh': 10, 'ja': 10, 'ko': 10, 'es': 10, 'fr': 10, 'zh-cn': 10}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-xtts-v2', name='xtts-v2', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='standard', backend='torch', supports_gpu=True, supports_cpu=False, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': True, 'sample_rate': 24000, 'latency_gpu_ms': 350, 'latency_cpu_ms': 0, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.xtts_tool', 'tool_function': 'xtts_synthesize', 'vram_key': 'tts_xtts_v2', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.92, speed_score=0.932, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'ar', 'zh', 'hu', 'ko', 'ja', 'hi'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[]), ModelEntry(id='tts-mms-tts', name='mms-tts', model_type=&lt;ModelType.TTS: 'tts'&gt;, version='1.0', source='local', repo_id='', files={}, download_url='', vram_gb=0.0, ram_gb=0.5, disk_gb=0.0, min_capability_tier='lite', backend='torch', supports_gpu=True, supports_cpu=True, supports_cpu_offload=False, cpu_offload_method='none', idle_timeout_s=300.0, min_build=None, capabilities={'voice_clone': False, 'sample_rate': 24000, 'latency_gpu_ms': 200, 'latency_cpu_ms': 500, 'latency_cloud_ms': 0, 'tool_module': 'integrations.service_tools.mms_tts_tool', 'tool_function': 'mms_tts_synthesize', 'vram_key': 'tts_mms_tts', 'streaming': False, 'paralinguistic': [], 'emotion_tags': False}, quality_score=0.78, speed_score=0.962, cost_per_1k=0.0, priority=50, languages=['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'hu', 'sv', 'fi', 'el', 'ro', 'bg', 'uk', 'cy', 'is', 'zh', 'ja', 'ko', 'vi', 'th', 'id', 'ms', 'km', 'lo', 'my', 'hi', 'bn', 'ta', 'te', 'mr', 'gu', 'kn', 'ml', 'pa', 'or', 'ne', 'as', 'sd', 'sa', 'ur', 'si', 'ar', 'fa', 'he', 'sw'], language_priority={}, downloaded=False, loaded=False, device='unloaded', active_since=None, error=None, tags=['tts', 'local'], enabled=True, auto_load=False, pinned=False, purposes=[])])
E    +  and   12 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952550&gt;.EXPECTED_TTS_COUNT</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_stt_entries_present" time="0.016" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_vlm_entries_present" time="0.017" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_videogen_entries_present" time="0.016" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_audiogen_entries_present" time="0.017" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_total_entry_count" time="0.017"><failure message="AssertionError: Expected 32 total entries after populate_from_subsystems, got 33&#10;assert 33 == 32&#10; +  where 32 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952ed0&gt;.EXPECTED_TOTAL">tests/unit/test_catalog_populators.py:581: in test_total_entry_count
    assert total == self.EXPECTED_TOTAL, (
E   AssertionError: Expected 32 total entries after populate_from_subsystems, got 33
E   assert 33 == 32
E    +  where 32 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952ed0&gt;.EXPECTED_TOTAL</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_populate_from_subsystems_idempotent" time="0.023"><failure message="assert 33 == 32&#10; +  where 32 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952e10&gt;.EXPECTED_TOTAL">tests/unit/test_catalog_populators.py:590: in test_populate_from_subsystems_idempotent
    assert first == self.EXPECTED_TOTAL
E   assert 33 == 32
E    +  where 32 = &lt;tests.unit.test_catalog_populators.TestPopulateFromSubsystems object at 0x7f63b1952e10&gt;.EXPECTED_TOTAL</failure></testcase><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_no_duplicate_ids" time="0.016" /><testcase classname="tests.unit.test_catalog_populators.TestPopulateFromSubsystems" name="test_all_entries_have_valid_model_type" time="0.017" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_updates_fields" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_missing_model_returns_false" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_unknown_field_raises" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_sets_dirty_flag" time="0.001" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_persist_false_by_default" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_persist_true_writes_file" time="0.002" /><testcase classname="tests.unit.test_catalog_populators.TestModelCatalogOverride" name="test_override_is_concurrent_safe" time="0.007" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_is_configured_false_when_env_unset" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_is_configured_true_when_env_set" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_start_noop_when_unconfigured" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_start_noop_when_tier_is_central" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_url_builder_joins_base_and_path" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_url_builder_uses_default_path_when_env_absent" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_heartbeat_payload_shape" time="0.001" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_post_heartbeat_success_sets_timestamp" time="0.053" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_post_heartbeat_failure_records_error" time="0.054" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_halt_without_signature_is_ignored" time="0.003" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_halt_with_signature_calls_circuit_breaker" time="0.002" /><testcase classname="tests.unit.test_central_orchestrator_client" name="test_get_status_returns_snapshot" time="0.001" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[slack]" time="0.008" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[whatsapp]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[matrix]" time="0.014" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[teams]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[line]" time="0.017" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[twitch]" time="0.012" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[zalo]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[nostr]" time="0.015" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[bluebubbles]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[voice]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[rocketchat]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[wechat]" time="0.014" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[viber]" time="0.012" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[messenger]" time="0.012" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[instagram]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[twitter]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[email]" time="0.018" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[tlon]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[openprose]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[telegram_user]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[discord_user]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterImportable" name="test_importable[zalo_user]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[slack]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[bluebubbles]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[rocketchat]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[messenger]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[instagram]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterIsChannelAdapter" name="test_is_channel_adapter[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[line]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[bluebubbles]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[rocketchat]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[messenger]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[instagram]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_required_methods[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[zalo]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[bluebubbles]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[rocketchat]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[messenger]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[instagram]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterHasInterface" name="test_has_name_property[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[bluebubbles]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[rocketchat]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[messenger]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[instagram]" time="0.008" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterConstructor" name="test_constructor_doesnt_crash[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[bluebubbles]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[rocketchat]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[viber]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[messenger]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[instagram]" time="0.008" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterInitialStatus" name="test_initial_status_disconnected[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[matrix]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[bluebubbles]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[voice]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[rocketchat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[wechat]" time="0.433" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[messenger]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[instagram]" time="0.008" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterName" name="test_name_is_nonempty_string[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[slack]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[whatsapp]" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[matrix]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[teams]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[line]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[twitch]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[zalo]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[nostr]" time="0.010" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[bluebubbles]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[voice]" time="0.007" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[rocketchat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[wechat]" time="0.009" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[viber]" time="0.006" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[messenger]" time="0.011" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[instagram]" time="0.008" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[twitter]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[email]" time="0.013" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[tlon]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[openprose]" time="0.005" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[telegram_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[discord_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestAdapterOnMessage" name="test_on_message_registers_handler[zalo_user]" time="0.004" /><testcase classname="tests.unit.test_channel_adapters.TestSlackAdapterSpecific" name="test_slack_requires_sdk" time="0.002" /><testcase classname="tests.unit.test_channel_adapters.TestSlackAdapterSpecific" name="test_slack_name" time="0.003" /><testcase classname="tests.unit.test_channel_adapters.TestWhatsAppAdapterSpecific" name="test_whatsapp_name" time="0.002" /><testcase classname="tests.unit.test_channel_adapters.TestWhatsAppAdapterSpecific" name="test_whatsapp_stores_phone_number" time="0.002" /><testcase classname="tests.unit.test_channel_adapters.TestWhatsAppAdapterSpecific" name="test_whatsapp_default_base_url" time="0.002" /><testcase classname="tests.unit.test_channel_adapters.TestRegistryIntegration" name="test_registry_accepts_mock_adapter" time="0.002" /><testcase classname="tests.unit.test_channel_adapters.TestRegistryIntegration" name="test_registry_handles_multiple_adapters" time="0.016" /><testcase classname="tests.unit.test_channel_adapters.TestBaseChannelAdapterContract" name="test_is_abstract" time="0.001" /><testcase classname="tests.unit.test_channel_adapters.TestBaseChannelAdapterContract" name="test_abstract_methods" time="0.001" /><testcase classname="tests.unit.test_channel_adapters.TestBaseChannelAdapterContract" name="test_concrete_methods" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessageType" name="test_has_text" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessageType" name="test_has_image" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessageType" name="test_has_all_common_types" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelStatus" name="test_has_connected_and_disconnected" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelStatus" name="test_has_error_state" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelStatus" name="test_has_rate_limited" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_has_media_false_when_empty" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_has_media_true_with_attachment" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_content_returns_text" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_content_returns_caption_when_no_text" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_content_empty_when_no_text_no_caption" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_defaults" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMessage" name="test_timestamp_auto_set" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMediaAttachment" name="test_minimal_creation" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestMediaAttachment" name="test_full_creation" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelConfig" name="test_creation_with_token" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelConfig" name="test_enabled_default_true" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelConfig" name="test_dm_policy_default" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelAdapterContract" name="test_cannot_instantiate_directly" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelAdapterContract" name="test_has_required_abstract_methods" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelErrors" name="test_channel_error_is_exception" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelErrors" name="test_connection_error_is_channel_error" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelErrors" name="test_send_error_is_channel_error" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelErrors" name="test_send_result_success" time="0.001" /><testcase classname="tests.unit.test_channel_base.TestChannelErrors" name="test_send_result_failure" time="0.001" /><testcase classname="tests.unit.test_channel_encryption.TestX25519Keypair" name="test_keypair_generation" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestX25519Keypair" name="test_keypair_persisted" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestX25519Keypair" name="test_keypair_reload" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestX25519Keypair" name="test_public_hex_format" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestX25519Keypair" name="test_reset_keypair_cache" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEncryptDecrypt" name="test_roundtrip_bytes" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEncryptDecrypt" name="test_roundtrip_json" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEncryptDecrypt" name="test_roundtrip_empty_bytes" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEncryptDecrypt" name="test_roundtrip_unicode" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEncryptDecrypt" name="test_large_payload" time="0.009" /><testcase classname="tests.unit.test_channel_encryption.TestSecurityProperties" name="test_forward_secrecy" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestSecurityProperties" name="test_wrong_key_fails" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestSecurityProperties" name="test_tampered_ciphertext_fails" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestSecurityProperties" name="test_tampered_nonce_fails" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestSecurityProperties" name="test_tampered_ephemeral_key_fails" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_envelope_has_required_keys" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_protocol_version" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_is_encrypted_envelope_positive" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_is_encrypted_envelope_negative" time="0.001" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_envelope_hex_encoding" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_nonce_is_12_bytes" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_ephemeral_key_is_32_bytes" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestEnvelopeFormat" name="test_envelope_json_serializable" time="0.002" /><testcase classname="tests.unit.test_channel_encryption.TestCrossPeer" name="test_two_node_communication" time="0.002" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_catalog_has_31_channels" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_all_channels_have_required_fields" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_all_channels_have_capabilities" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_get_channel_metadata_known" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_get_channel_metadata_unknown" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_list_all_returns_dict" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_categories_cover_all" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_auth_methods_valid" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_get_channels_by_category" time="0.001" /><testcase classname="tests.unit.test_channel_metadata.TestChannelMetadata" name="test_get_channels_by_auth_method" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestRegistryConfig" name="test_default_callback_url_has_chat" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestRegistryConfig" name="test_default_user_id" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestRegistryConfig" name="test_custom_callback_url" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestRegisterUnregister" name="test_register_stores_adapter" time="0.002" /><testcase classname="tests.unit.test_channel_registry.TestRegisterUnregister" name="test_register_sets_up_message_routing" time="0.002" /><testcase classname="tests.unit.test_channel_registry.TestRegisterUnregister" name="test_register_duplicate_replaces" time="0.003" /><testcase classname="tests.unit.test_channel_registry.TestRegisterUnregister" name="test_unregister_removes" time="0.002" /><testcase classname="tests.unit.test_channel_registry.TestRegisterUnregister" name="test_unregister_nonexistent_no_crash" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestGetList" name="test_get_returns_none_for_missing" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestGetList" name="test_list_channels_empty" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestGetList" name="test_list_channels_returns_names" time="0.003" /><testcase classname="tests.unit.test_channel_registry.TestGetList" name="test_get_status_all" time="0.003" /><testcase classname="tests.unit.test_channel_registry.TestAgentHandler" name="test_set_agent_handler" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestAgentHandler" name="test_is_running_default_false" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestMessageRouting" name="test_route_ignores_without_handler" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_channel_registry.TestMessageRouting" name="test_route_ignores_unknown_channel" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_channel_registry.TestSendToChannel" name="test_send_returns_error_for_unknown_channel" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_channel_registry.TestSendToChannel" name="test_send_to_channel_requires_registered_adapter" time="0.001" /><testcase classname="tests.unit.test_channel_registry.TestMultiChannel" name="test_register_three_channels" time="0.004" /><testcase classname="tests.unit.test_channel_registry.TestMultiChannel" name="test_unregister_one_keeps_others" time="0.005" /><testcase classname="tests.unit.test_channel_registry.TestMultiChannel" name="test_status_reflects_all_channels" time="0.003" /><testcase classname="tests.unit.test_channel_response_router.TestChannelResponseRouter" name="test_log_conversation" time="0.003" /><testcase classname="tests.unit.test_channel_response_router.TestChannelResponseRouter" name="test_upsert_binding_creates_new" time="0.005" /><testcase classname="tests.unit.test_channel_response_router.TestChannelResponseRouter" name="test_upsert_binding_updates_existing" time="0.005" /><testcase classname="tests.unit.test_channel_response_router.TestChannelResponseRouter" name="test_route_response_calls_all" time="0.003" /><testcase classname="tests.unit.test_channel_response_router.TestChannelResponseRouter" name="test_route_response_no_fanout" time="0.003" /><testcase classname="tests.unit.test_channel_security.TestPairingCode" name="test_code_creation" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairingCode" name="test_code_expiration" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairingCode" name="test_code_valid" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairingCode" name="test_code_serialization" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairedSession" name="test_session_creation" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairedSession" name="test_session_serialization" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_generate_pairing_code" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_generate_unique_codes" time="0.019" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_verify_valid_code" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_verify_invalid_code" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_verify_expired_code" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_code_single_use" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_is_paired" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_get_user_mapping" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_unpair" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_unpair_user_all_sessions" time="0.003" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_list_user_pairings" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingManager" name="test_persistence" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingMiddleware" name="test_check_unpaired_user" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingMiddleware" name="test_check_paired_user" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingMiddleware" name="test_pairing_via_message" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingMiddleware" name="test_invalid_pairing_code_in_message" time="0.002" /><testcase classname="tests.unit.test_channel_security.TestPairingMiddleware" name="test_no_pairing_required" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestCodeFormatDetection" name="test_detects_valid_code_format" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestCodeFormatDetection" name="test_ignores_normal_messages" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestGlobalPairingManager" name="test_get_pairing_manager_singleton" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestRegressionChannels" name="test_channel_imports_still_work" time="0.001" /><testcase classname="tests.unit.test_channel_security.TestRegressionChannels" name="test_flask_integration_still_works" time="0.006" /><testcase classname="tests.unit.test_channel_security.TestRegressionChannels" name="test_security_can_be_imported_independently" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_canonical_shape_for_text_message" time="0.004" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_chronological_recall_orderable" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_extra_does_not_overwrite_canonical_fields" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_missing_required_fields_no_op" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_role_assistant_when_sender_is_agent" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_role_explicit_overrides_heuristic" time="0.001" /><testcase classname="tests.unit.test_chat_messages_external.PersistExternalRoomEventTest" name="test_transcript_segment_kind_carries_extra" time="0.001" /><testcase classname="tests.unit.test_chat_stage_events" name="test_every_stage_has_text" time="0.001" /><testcase classname="tests.unit.test_chat_stage_events" name="test_no_orphan_emit_sites" time="0.182" /><testcase classname="tests.unit.test_chat_stage_events" name="test_all_expected_stages_emitted" time="0.173" /><testcase classname="tests.unit.test_chat_stage_events" name="test_publish_chat_stage_reuses_canonical_publish_thinking_trace" time="0.002" /><testcase classname="tests.unit.test_chat_stage_events" name="test_publish_chat_stage_unknown_stage_returns_false" time="0.001" /><testcase classname="tests.unit.test_chat_stage_events" name="test_publish_chat_stage_empty_user_id_skips" time="0.001" /><testcase classname="tests.unit.test_chat_stage_events" name="test_stage_texts_are_reasonable_length" time="0.001" /><testcase classname="tests.unit.test_chat_topic_for" name="test_chat_topic_for_matches_inline_fstring" time="0.001" /><testcase classname="tests.unit.test_chat_topic_for" name="test_chat_topic_for_round_trips_through_resolve_legacy_topic" time="0.001" /><testcase classname="tests.unit.test_chat_topic_for" name="test_chat_topic_for_known_user_id_shape" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_starts_closed" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_stays_closed_below_threshold" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_opens_at_threshold" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_half_open_after_cooldown" time="0.151" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_half_open_allows_one_probe" time="0.151" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_success_after_half_open_closes" time="0.151" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_failure_after_half_open_reopens" time="0.151" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_success_resets_failure_count" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStates" name="test_reset_manual" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStats" name="test_stats_closed" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerStats" name="test_stats_open" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_passes_on_closed" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_records_success" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_records_failure" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_raises_when_open" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_uses_fallback_when_open" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestWithCircuitBreakerDecorator" name="test_decorator_preserves_function_name" time="0.001" /><testcase classname="tests.unit.test_circuit_breaker.TestCircuitBreakerThreadSafety" name="test_concurrent_failures_reach_threshold" time="0.003" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRegistration" name="test_civic_sentinel_registered" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRegistration" name="test_prompt_builder_exists" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRegistration" name="test_tool_tags" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRegistration" name="test_tool_tags_no_coding" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_anti_bias_immunity" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_autonomy_principles" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_censorship_phase" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_common_sense" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_confidence_scores" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_confidence_threshold" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_developing_nations_awareness" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_evidence_quality_standards" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_flag_analysis" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_ground_reality_test" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_hypocrisy_phase" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_legal_citations" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_mission" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_contains_rules" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_detects_coordinated_campaigns" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_includes_channels" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_includes_parties" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_includes_topics" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_no_parties_graceful" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_prioritizes_common_man" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_requires_correction_on_inaccuracy" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_uses_config_json_key" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelPrompt" name="test_prompt_warns_false_positives" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_autonomous" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_community_governed" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_description_mentions_community_voting" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_description_mentions_evidence" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_has_spark_budget" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_not_tied_to_product" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_posts_publicly" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelSeed" name="test_seed_goal_type" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRateLimit" name="test_rate_limit_entry_exists" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelRateLimit" name="test_rate_limit_values" time="0.001" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelNoNewModules" name="test_no_civic_sentinel_module" time="0.016" /><testcase classname="tests.unit.test_civic_sentinel.TestCivicSentinelNoNewModules" name="test_prompt_builder_is_function_not_class" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_accepts_custom_capabilities" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_records_connected_since" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_rejects_if_already_connected" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_rejects_invalid_task_scope" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_sets_status_idle_and_returns_session_id" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_sets_task_scope" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionConnect" name="test_connect_uses_default_capabilities" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionDisconnect" name="test_disconnect_clears_session_id" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionDisconnect" name="test_disconnect_includes_flushed_tasks_count" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionDisconnect" name="test_disconnect_on_already_disconnected" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionDisconnect" name="test_disconnect_returns_stats_and_success" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_accepts_valid_task" time="0.011" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_rejects_no_signature_and_not_same_user" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_rejects_when_disconnected" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_rejects_when_paused" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_rejects_when_queue_full" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReceiveTask" name="test_receive_task_scope_mismatch_rejected" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_completed_updates_stats" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_emits_event" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_failed_increments_tasks_failed" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_no_spark_for_error" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_quality_score_averages" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_returns_false_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionReportResult" name="test_report_result_spark_for_completed_task" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_get_status_returns_correct_fields" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_get_tasks_empty" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_pause_from_idle" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_pause_when_already_paused" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_pause_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_resume_from_paused" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_resume_when_not_paused" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_set_task_scope_invalid" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestClaudeHiveSessionStatus" name="test_set_task_scope_valid" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_get_available_sessions_returns_idle_only" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_get_session_returns_correct_session" time="0.002" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_get_session_returns_none_for_unknown" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_register_adds_session" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_register_dict" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_register_ignores_empty_session_id" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_thread_safety_concurrent_register_unregister" time="0.004" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_unregister_nonexistent_is_noop" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSessionRegistry" name="test_unregister_removes" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSingletons" name="test_get_hive_session_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestSingletons" name="test_get_session_registry_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_connect_endpoint_missing_user_id_returns_400" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_connect_endpoint_returns_200" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_disconnect_endpoint_returns_200" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_pause_resume_endpoints" time="0.009" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_scope_endpoint" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_status_endpoint_returns_session_info" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestFlaskBlueprint" name="test_tasks_endpoint" time="0.008" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_event_constants" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_max_pending_tasks_positive" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_peer_type" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_spark_constants" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_status_constants" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestConstants" name="test_task_scopes_set" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_complexity_score_range" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_quality_score_base_for_completed_no_changes" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_quality_score_capped_at_1" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_quality_score_with_changes_and_passing_tests" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_quality_score_zero_for_error" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_spark_reward_base_plus_complexity" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_spark_reward_quality_bonus" time="0.001" /><testcase classname="tests.unit.test_claude_hive_session.TestInternalScoring" name="test_spark_reward_zero_for_error" time="0.001" /><testcase classname="tests.unit.test_claw_compat.TestRustCompilation" name="test_hart_bridge_compiles" time="45.817" /><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_all_functions_exist" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:81: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_execute_bash_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:87: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_read_file_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:94: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_write_file_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:100: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_edit_file_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:113: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_glob_search_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:126: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestPythonFFI" name="test_grep_search_signature" time="0.004"><skipped type="pytest.skip" message="claw_bridge.pyd not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:133: claw_bridge.pyd not compiled</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestLicenseAndPin" name="test_license_still_mit" time="0.001" /><testcase classname="tests.unit.test_claw_compat.TestLicenseAndPin" name="test_bridge_crate_declared_in_pin" time="0.001" /><testcase classname="tests.unit.test_claw_compat.TestLicenseAndPin" name="test_pinned_commit_field_present" time="0.001" /><testcase classname="tests.unit.test_claw_compat.TestVersionPin" name="test_pinned_commit_matches" time="0.000"><skipped type="pytest.skip" message="claw_native vendored without .git — git checks skipped">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:215: claw_native vendored without .git — git checks skipped</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestVersionPin" name="test_remote_is_canonical" time="0.001"><skipped type="pytest.skip" message="claw_native vendored without .git — git checks skipped">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:232: claw_native vendored without .git — git checks skipped</skipped></testcase><testcase classname="tests.unit.test_claw_compat.TestVersionPin" name="test_no_unsigned_commits_since_pin" time="0.000"><skipped type="pytest.skip" message="claw_native vendored without .git — git checks skipped">/home/runner/work/HARTOS/HARTOS/tests/unit/test_claw_compat.py:249: claw_native vendored without .git — git checks skipped</skipped></testcase><testcase classname="tests.unit.test_coding_agent.TestCodingModels" name="test_goal_create" time="0.092" /><testcase classname="tests.unit.test_coding_agent.TestCodingModels" name="test_goal_to_dict" time="0.005" /><testcase classname="tests.unit.test_coding_agent.TestCodingModels" name="test_user_idle_compute_column" time="0.008" /><testcase classname="tests.unit.test_coding_agent.TestCodingModels" name="test_user_to_dict_includes_idle_opt_in" time="0.005" /><testcase classname="tests.unit.test_coding_agent.TestMigrationV14" name="test_schema_version" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestMigrationV14" name="test_coding_goals_table_exists" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestMigrationV14" name="test_coding_tasks_table_exists" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestMigrationV14" name="test_coding_submissions_table_exists" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_opt_in" time="0.008" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_opt_out" time="0.005" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_opt_in_not_found" time="0.002" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_opt_out_not_found" time="0.002" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_get_idle_opted_in" time="0.006" /><testcase classname="tests.unit.test_coding_agent.TestIdleDetection" name="test_get_idle_stats" time="0.011" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_create_goal" time="0.005" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_create_goal_invalid_repo" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_create_goal_invalid_branch" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_get_goal" time="0.004" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_get_goal_not_found" time="0.002" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_update_status" time="0.004" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_update_status_not_found" time="0.002" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_list_goals" time="0.004" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_list_goals_filtered" time="0.004" /><testcase classname="tests.unit.test_coding_agent.TestGoalManager" name="test_build_prompt" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestDispatch" name="test_dispatch_success" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestDispatch" name="test_dispatch_failure" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestDispatch" name="test_dispatch_non_200" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemon" name="test_start_stop" time="10.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemon" name="test_double_start" time="10.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemon" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestSyncEngineOperations" name="test_receive_coding_task_assign" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestSyncEngineOperations" name="test_receive_coding_submission" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_unauth_rejected" time="0.007" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_unauth_post_rejected" time="0.006" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_non_central_rejected" time="0.015" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_non_admin_rejected" time="0.011" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_allowlist_blocks" time="0.010" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_allowlist_allows" time="0.012" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_invalid_repo_rejected" time="0.010" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_opt_in_self" time="0.013" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_opt_in_other_rejected" time="0.011" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_opt_out_other_rejected" time="0.011" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_admin_opt_in_other" time="0.016" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_list_goals" time="0.012" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_idle_stats" time="0.013" /><testcase classname="tests.unit.test_coding_agent.TestCodingEndpoints" name="test_admin_create_goal" time="0.012" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_valid" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_empty" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_no_slash" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_too_many_slashes" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_shell_injection" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_path_traversal" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_special_chars" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestRepoValidation" name="test_allowlist" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestPackageInit" name="test_explicit_false_disables" time="0.004" /><testcase classname="tests.unit.test_coding_agent.TestPackageInit" name="test_enabled_by_default_when_env_unset" time="0.006" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemonIdleGate" name="test_coding_daemon_uses_local_agent_gate" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemonIdleGate" name="test_coding_daemon_does_not_use_human_consent_gate" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemonIdleGate" name="test_idle_detection_service_exposes_both_gates" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemonIdleGate" name="test_agent_daemon_pattern_unchanged" time="0.001" /><testcase classname="tests.unit.test_coding_agent.TestCodingDaemonIdleGate" name="test_coding_daemon_orders_goals_by_last_dispatched_nulls_first" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestOrchestratorInit" name="test_singleton" time="0.005" /><testcase classname="tests.unit.test_coding_orchestrator.TestOrchestratorInit" name="test_list_tools" time="0.002" /><testcase classname="tests.unit.test_coding_orchestrator.TestComputeAwareRouting" name="test_can_run_locally_when_feature_not_in_map" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestComputeAwareRouting" name="test_can_run_locally_standard_tier" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestExecuteLocal" name="test_execute_no_tools" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestExecuteLocal" name="test_execute_with_backend" time="0.003" /><testcase classname="tests.unit.test_coding_orchestrator.TestAntipatterns" name="test_execute_does_not_import_chat" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestAntipatterns" name="test_tool_backends_no_chat_dispatch" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestAntipatterns" name="test_tool_router_no_chat_dispatch" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestVLMAdapterFix" name="test_vlm_adapter_no_bundled_gate" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestVLMAdapterFix" name="test_vlm_check_available_no_bundled_gate" time="0.001" /><testcase classname="tests.unit.test_coding_orchestrator.TestOmniParserFallback" name="test_http_parse_fallback" time="0.004" /><testcase classname="tests.unit.test_coding_tool_backends.TestInstaller" name="test_detect_installed_returns_dict" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestInstaller" name="test_get_tool_info_structure" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestInstaller" name="test_tool_registry_licenses" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestInstaller" name="test_install_unknown_tool" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestInstaller" name="test_install_without_npm" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_backend_registry" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_backend_capabilities" time="0.005" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_kilocode_command_build" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_claude_code_command_build" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_opencode_command_build" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_execute_not_installed" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_parse_output_valid_json" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_parse_output_invalid_json" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolBackends" name="test_env_passthrough" time="0.003" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_record_and_get_summary" time="0.008" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_get_best_tool_insufficient_data" time="0.006" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_get_best_tool_sufficient_data" time="0.016" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_export_learning_delta" time="0.011" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_export_empty" time="0.007" /><testcase classname="tests.unit.test_coding_tool_backends.TestBenchmarkTracker" name="test_import_hive_delta" time="0.006" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolRouter" name="test_user_override" time="0.002" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolRouter" name="test_no_tools_installed" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestToolRouter" name="test_heuristic_fallback" time="0.002" /><testcase classname="tests.unit.test_coding_tool_backends.TestFeatureTierMap" name="test_new_feature_entries_exist" time="0.001" /><testcase classname="tests.unit.test_coding_tool_backends.TestFeatureTierMap" name="test_tier_assignments" time="0.001" /><testcase classname="tests.unit.test_collusion_impression.TestFraudWeights" name="test_witness_ring_weight" time="0.001" /><testcase classname="tests.unit.test_collusion_impression.TestFraudWeights" name="test_temporal_clustering_weight" time="0.001" /><testcase classname="tests.unit.test_collusion_impression.TestFraudWeights" name="test_seal_tamper_weight" time="0.001" /><testcase classname="tests.unit.test_collusion_impression.TestDetectWitnessRing" name="test_no_impressions_returns_none" time="0.097" /><testcase classname="tests.unit.test_collusion_impression.TestDetectWitnessRing" name="test_below_min_impressions_returns_none" time="0.009" /><testcase classname="tests.unit.test_collusion_impression.TestDetectWitnessRing" name="test_diverse_witnesses_returns_none" time="0.021" /><testcase classname="tests.unit.test_collusion_impression.TestDetectWitnessRing" name="test_ring_detected_bidirectional" time="0.025" /><testcase classname="tests.unit.test_collusion_impression.TestDetectWitnessRing" name="test_one_way_only_no_ring" time="0.012" /><testcase classname="tests.unit.test_collusion_impression.TestDetectTemporalClustering" name="test_no_impressions_returns_none" time="0.004" /><testcase classname="tests.unit.test_collusion_impression.TestDetectTemporalClustering" name="test_below_min_impressions_returns_none" time="0.006" /><testcase classname="tests.unit.test_collusion_impression.TestDetectTemporalClustering" name="test_organic_traffic_no_alert" time="0.016" /><testcase classname="tests.unit.test_collusion_impression.TestDetectTemporalClustering" name="test_burst_detected" time="0.017" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyImpressionSeal" name="test_impression_not_found" time="0.003" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyImpressionSeal" name="test_unsealed_impression_valid" time="0.004" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyImpressionSeal" name="test_intact_seal_valid" time="0.006" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyImpressionSeal" name="test_tampered_seal_detected" time="0.007" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyImpressionSeal" name="test_tampered_seal_creates_fraud_alert" time="0.010" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyAllSealedImpressions" name="test_empty_returns_zero" time="0.004" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyAllSealedImpressions" name="test_all_intact" time="0.010" /><testcase classname="tests.unit.test_collusion_impression.TestVerifyAllSealedImpressions" name="test_some_tampered" time="0.013" /><testcase classname="tests.unit.test_collusion_impression.TestComputeSealHash" name="test_deterministic" time="0.004" /><testcase classname="tests.unit.test_collusion_impression.TestComputeSealHash" name="test_changes_with_data" time="0.004" /><testcase classname="tests.unit.test_collusion_impression.TestImpressionToDict" name="test_to_dict_has_seal_fields" time="0.003" /><testcase classname="tests.unit.test_collusion_impression.TestRunFullAuditIntegration" name="test_full_audit_includes_witness_ring" time="0.025" /><testcase classname="tests.unit.test_collusion_impression.TestRunFullAuditIntegration" name="test_seal_integrity_in_audit_result" time="0.012" /><testcase classname="tests.unit.test_collusion_impression.TestMigrationV28" name="test_schema_version_28" time="0.001" /><testcase classname="tests.unit.test_commercial_ip_builds.TestDefensivePublication" name="test_create_defensive_publication" time="0.187" /><testcase classname="tests.unit.test_commercial_ip_builds.TestDefensivePublication" name="test_list_defensive_publications" time="0.237" /><testcase classname="tests.unit.test_commercial_ip_builds.TestDefensivePublication" name="test_get_provenance_record" time="0.160" /><testcase classname="tests.unit.test_commercial_ip_builds.TestIntelligenceMilestone" name="test_milestone_not_triggered_no_publications" time="0.004" /><testcase classname="tests.unit.test_commercial_ip_builds.TestIntelligenceMilestone" name="test_milestone_triggered" time="0.006" /><testcase classname="tests.unit.test_commercial_ip_builds.TestIntelligenceMilestone" name="test_milestone_not_triggered_low_moat" time="0.005" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_create_api_key" time="0.011" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_validate_api_key_valid" time="0.006" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_validate_api_key_invalid" time="0.002" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_log_usage" time="0.011" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_log_usage_does_not_double_increment" time="0.008" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_check_rate_limit_under" time="0.009" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_check_rate_limit_exceeded" time="0.010" /><testcase classname="tests.unit.test_commercial_ip_builds.TestCommercialAPIService" name="test_revoke_api_key" time="0.006" /><testcase classname="tests.unit.test_commercial_ip_builds.TestAPIKeyTiers" name="test_free_tier_limits" time="0.004" /><testcase classname="tests.unit.test_commercial_ip_builds.TestAPIKeyTiers" name="test_starter_tier_limits" time="0.004" /><testcase classname="tests.unit.test_commercial_ip_builds.TestAPIKeyTiers" name="test_pro_tier_limits" time="0.004" /><testcase classname="tests.unit.test_commercial_ip_builds.TestAPIKeyTiers" name="test_invalid_tier" time="0.003" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_create_build_license" time="0.009" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_verify_valid_license" time="0.006" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_verify_expired_license" time="0.005" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_download_increments_count" time="0.007" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_download_exceeds_max" time="0.005" /><testcase classname="tests.unit.test_commercial_ip_builds.TestBuildDistribution" name="test_invalid_build_type" time="0.003" /><testcase classname="tests.unit.test_commercial_ip_builds.TestRevenueGoalType" name="test_revenue_type_registered" time="0.001" /><testcase classname="tests.unit.test_commercial_ip_builds.TestRevenueGoalType" name="test_revenue_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_commercial_ip_builds.TestRevenueGoalType" name="test_bootstrap_goals_include_revenue" time="0.001" /><testcase classname="tests.unit.test_commercial_ip_builds.TestRevenueGoalType" name="test_schema_version" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_all_default_keys_present" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_allow_metered_default_false" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_accept_frontier_training_false" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_accept_thought_experiments" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_auto_settle_true" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_hive_policy_is_local_preferred" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_max_hive_gpu_pct" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_metered_daily_limit" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigDefaults" name="test_default_policy_is_local_preferred" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigEnvOverride" name="test_env_allow_metered_override" time="0.003" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigEnvOverride" name="test_env_compute_policy_override" time="0.002" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigEnvOverride" name="test_env_daily_limit_override" time="0.003" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigEnvOverride" name="test_env_hive_policy_override" time="0.002" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigEnvOverride" name="test_env_max_gpu_pct_override" time="0.003" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigCache" name="test_different_nodes_cached_separately" time="0.005" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigCache" name="test_invalidate_cache_forces_refresh" time="0.002" /><testcase classname="tests.unit.test_compute_config.TestComputeConfigCache" name="test_policy_cache_returns_same_object" time="0.002" /><testcase classname="tests.unit.test_compute_config.TestParseBool" name="test_false_values" time="0.001" /><testcase classname="tests.unit.test_compute_config.TestParseBool" name="test_true_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSystemSnapshot" name="test_creation_with_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSystemSnapshot" name="test_default_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSystemSnapshot" name="test_to_dict_all_keys" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSystemSnapshot" name="test_to_dict_rounds_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSystemSnapshot" name="test_to_dict_truncates_top_processes" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestOptimizationAction" name="test_action_type_count" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestOptimizationAction" name="test_action_type_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestOptimizationAction" name="test_creation_defaults" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestOptimizationAction" name="test_to_dict_serialization" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_cpu_weight_30_percent" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_disk_weight_20_percent" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_half_utilization" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_no_snapshot_returns_1" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_perfect_health_all_zeros" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_ram_weight_30_percent" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_return_type_is_float" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_score_clamped_between_0_and_1" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_swap_weight_20_percent" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHealthScore" name="test_worst_health_all_100" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_all_breaches" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_cpu_breach" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_disk_breach" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_exactly_at_threshold_no_breach" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_no_breach_when_all_low" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_ram_breach" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCheckThresholds" name="test_swap_breach" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_cooldown_prevents_repeat_suggestions" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_cpu_high_suggests_process_suggest" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_disk_high_suggests_cache_clean" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_no_suggestions_when_healthy" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_ram_high_suggests_cache_clean" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_suggestions_increment_counter" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSuggestOptimizations" name="test_swap_high_suggests_swap_manage" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSnapshot" name="test_snapshot_no_gpu" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestSnapshot" name="test_snapshot_stored_in_history" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSnapshot" name="test_snapshot_with_gpu" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestSnapshot" name="test_snapshot_with_psutil" time="0.005" /><testcase classname="tests.unit.test_compute_optimizer.TestSnapshot" name="test_snapshot_without_psutil" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_cache_clean_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_network_tune_advisory" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_optimization_added_to_history" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_optimization_emits_event" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_optimization_increments_counter" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_priority_adjust_no_pid" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_priority_adjust_no_psutil" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestApplyOptimization" name="test_swap_manage_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestLifecycle" name="test_double_start_is_idempotent" time="0.003" /><testcase classname="tests.unit.test_compute_optimizer.TestLifecycle" name="test_start_sets_running" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestLifecycle" name="test_stop_clears_running" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestLifecycle" name="test_stop_without_start_is_safe" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestLifecycle" name="test_threads_are_daemon" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestTriggerOptimization" name="test_maintenance_clean_when_no_breaches" time="0.008" /><testcase classname="tests.unit.test_compute_optimizer.TestTriggerOptimization" name="test_returns_dict_with_required_keys" time="0.004" /><testcase classname="tests.unit.test_compute_optimizer.TestHiveExploration" name="test_contribute_to_hive_no_crash" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHiveExploration" name="test_emit_stats_calls_eventbus" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHiveExploration" name="test_emit_stats_includes_health_score" time="0.002" /><testcase classname="tests.unit.test_compute_optimizer.TestHiveExploration" name="test_explore_hive_no_crash_when_unavailable" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestGetStats" name="test_stats_initial_values" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestGetStats" name="test_stats_keys" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSingleton" name="test_returns_compute_optimizer" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestSingleton" name="test_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestFlaskBlueprint" name="test_blueprint_created" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestFlaskBlueprint" name="test_blueprint_has_three_routes" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestFlaskBlueprint" name="test_blueprint_none_without_flask" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestFlaskBlueprint" name="test_blueprint_url_prefix" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCooldown" name="test_cooldown_allows_after_interval" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCooldown" name="test_cooldown_blocks_within_interval" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestCooldown" name="test_cooldown_ok_when_never_run" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestPriorityAdjustProtection" name="test_access_denied_handled" time="0.003" /><testcase classname="tests.unit.test_compute_optimizer.TestPriorityAdjustProtection" name="test_protected_process_skipped" time="0.003" /><testcase classname="tests.unit.test_compute_optimizer.TestHistoryBounded" name="test_history_deque_maxlen" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestHistoryBounded" name="test_snapshot_deque_maxlen" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestGetLatestSnapshot" name="test_include_per_process_runs_walk_when_breached" time="0.006" /><testcase classname="tests.unit.test_compute_optimizer.TestGetLatestSnapshot" name="test_refreshes_when_max_age_zero" time="0.016" /><testcase classname="tests.unit.test_compute_optimizer.TestGetLatestSnapshot" name="test_returns_cached_within_ttl" time="0.007" /><testcase classname="tests.unit.test_compute_optimizer.TestGetLatestSnapshot" name="test_skip_per_process_default_under_breach" time="0.005" /><testcase classname="tests.unit.test_compute_optimizer.TestGetLatestSnapshot" name="test_snapshot_public_api_unchanged" time="0.006" /><testcase classname="tests.unit.test_compute_optimizer.TestResourceGovernorReadsOptimizer" name="test_governor_falls_back_when_optimizer_import_fails" time="0.001" /><testcase classname="tests.unit.test_compute_optimizer.TestResourceGovernorReadsOptimizer" name="test_governor_uses_optimizer_when_available" time="0.004" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyLimits" name="test_default_limits" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyLimits" name="test_custom_limits" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_acquire_sync" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_release_by_slot_id" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_release_by_attributes" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_per_user_limit" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_per_chat_limit" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_per_channel_limit" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_global_limit" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_is_available" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_release_all_for_user" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_release_all_for_channel" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_get_usage" time="0.001" /><testcase classname="tests.unit.test_concurrency.TestConcurrencyController" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_consent_api" name="test_all_routes_require_auth" time="0.095" /><testcase classname="tests.unit.test_consent_api" name="test_grant_creates_row_and_returns_id" time="0.099" /><testcase classname="tests.unit.test_consent_api" name="test_grant_requires_consent_type" time="0.094" /><testcase classname="tests.unit.test_consent_api" name="test_grant_defaults_scope_to_star" time="0.097" /><testcase classname="tests.unit.test_consent_api" name="test_revoke_sets_revoked_at_on_active_row" time="0.101" /><testcase classname="tests.unit.test_consent_api" name="test_regrant_after_revoke_appends_new_row" time="0.103" /><testcase classname="tests.unit.test_consent_api" name="test_list_returns_newest_first" time="0.126" /><testcase classname="tests.unit.test_consent_api" name="test_list_active_only_filters_revoked" time="0.109" /><testcase classname="tests.unit.test_consent_api" name="test_list_filter_by_consent_type" time="0.101" /><testcase classname="tests.unit.test_consent_api" name="test_revoke_no_active_row_returns_404" time="0.096" /><testcase classname="tests.unit.test_consent_api" name="test_revoke_after_already_revoked_returns_404" time="0.105" /><testcase classname="tests.unit.test_consent_api" name="test_user_a_cannot_see_user_b_consents" time="0.103" /><testcase classname="tests.unit.test_consent_api" name="test_user_a_cannot_revoke_user_b_consent" time="0.101" /><testcase classname="tests.unit.test_consent_api" name="test_grant_rejects_oversize_consent_type" time="0.095" /><testcase classname="tests.unit.test_consent_api" name="test_grant_rejects_oversize_scope" time="0.094" /><testcase classname="tests.unit.test_consent_service" name="test_request_consent_creates_record" time="0.043" /><testcase classname="tests.unit.test_consent_service" name="test_request_consent_returns_existing" time="0.119" /><testcase classname="tests.unit.test_consent_service" name="test_request_consent_invalid_type" time="0.116" /><testcase classname="tests.unit.test_consent_service" name="test_grant_consent_new" time="0.125" /><testcase classname="tests.unit.test_consent_service" name="test_grant_after_pending_request_appends_row" time="0.126" /><testcase classname="tests.unit.test_consent_service" name="test_grant_consent_emits_event" time="0.119" /><testcase classname="tests.unit.test_consent_service" name="test_grant_consent_audits" time="0.127" /><testcase classname="tests.unit.test_consent_service" name="test_grant_consent_invalid_type" time="0.119" /><testcase classname="tests.unit.test_consent_service" name="test_revoke_consent_sets_revoked_at" time="0.135" /><testcase classname="tests.unit.test_consent_service" name="test_revoke_consent_nonexistent_returns_none" time="0.119" /><testcase classname="tests.unit.test_consent_service" name="test_revoke_consent_emits_event" time="0.121" /><testcase classname="tests.unit.test_consent_service" name="test_check_consent_granted" time="0.126" /><testcase classname="tests.unit.test_consent_service" name="test_check_consent_revoked" time="0.140" /><testcase classname="tests.unit.test_consent_service" name="test_check_consent_not_found" time="0.117" /><testcase classname="tests.unit.test_consent_service" name="test_check_consent_wildcard_scope" time="0.129" /><testcase classname="tests.unit.test_consent_service" name="test_check_consent_blanket_agent" time="0.128" /><testcase classname="tests.unit.test_consent_service" name="test_has_consent_alias" time="0.118" /><testcase classname="tests.unit.test_consent_service" name="test_list_consents_all" time="0.139" /><testcase classname="tests.unit.test_consent_service" name="test_list_consents_filtered_by_type" time="0.137" /><testcase classname="tests.unit.test_consent_service" name="test_list_consents_filtered_by_agent" time="0.137" /><testcase classname="tests.unit.test_consent_service" name="test_to_dict" time="0.124" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_register_consent_routes_symbol_removed" time="0.001" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_register_consent_routes_not_importable" time="0.001" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_legacy_consent_routes_not_registered" time="0.006" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_grant_consent_is_append_only" time="0.137" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_grant_consent_returns_new_row_each_time" time="0.141" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_check_consent_true_after_regrant" time="0.132" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_check_consent_false_after_revoke_of_only_active_row" time="0.132" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_revenue_tracker_imports_check_consent" time="0.005" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_ai_governance_imports_check_consent" time="0.001" /><testcase classname="tests.unit.test_consent_surface_consolidation" name="test_consent_service_static_methods_still_exposed" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_media_requirements" time="0.004" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_media_requirements_empty" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_media_requirements_nested_options" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_or_create_game_goal_returns_existing" time="0.103" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_or_create_game_goal_creates_new" time="0.007" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_game_progress" time="0.003" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_game_progress_not_found" time="0.002" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_delta_no_snapshots" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_delta_with_snapshots" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_compute_delta_single_snapshot" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_record_progress_snapshot" time="0.005" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_update_task_job" time="0.003" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_stuck_games" time="0.004" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_get_all_game_tasks" time="0.004" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_attempt_unblock" time="0.004" /><testcase classname="tests.unit.test_content_gen.TestContentGenTracker" name="test_attempt_unblock_no_stuck_tasks" time="0.002" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_complete" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_paused" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_stuck" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_slow" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_pending" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestStatusClassification" name="test_generating" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestGoalTypeRegistration" name="test_content_gen_type_registered" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestGoalTypeRegistration" name="test_content_gen_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestGoalTypeRegistration" name="test_content_gen_prompt_builder_no_config" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_tools_list_has_4_tools" time="0.002" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_all_tools_have_content_gen_tag" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_all_tools_are_callable" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_get_content_gen_status_returns_json" time="0.002" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_get_content_gen_status_not_found" time="0.002" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_check_media_services_returns_json" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestContentGenTools" name="test_force_regenerate_returns_job_id" time="0.003" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_list_games" time="0.009" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_get_game" time="0.007" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_get_game_not_found" time="0.007" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_get_stuck" time="0.007" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_retry_task" time="0.008" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_retry_task_no_game_id" time="0.006" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_services_health" time="0.006" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_register_game" time="0.008" /><testcase classname="tests.unit.test_content_gen.TestContentGenAPI" name="test_register_game_no_id" time="0.006" /><testcase classname="tests.unit.test_content_gen.TestDaemonMonitorIntegration" name="test_daemon_has_content_gen_monitor_code" time="0.019" /><testcase classname="tests.unit.test_content_gen.TestDaemonMonitorIntegration" name="test_daemon_tick_count_modulo" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestDaemonMonitorIntegration" name="test_content_gen_monitor_import" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_check_media_service_returns_bool" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_check_media_service_graceful_failure" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_restart_media_service_graceful_failure" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_check_via_mock" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_get_services_health" time="0.001" /><testcase classname="tests.unit.test_content_gen.TestServicesHealth" name="test_get_services_health_mixed" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_node_not_found" time="0.096" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_unverified_node_gets_none" time="0.004" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_banned_node_gets_none" time="0.003" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_basic_tier" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_full_tier" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_host_tier" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_high_score_low_capability_limits_tier" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierComputation" name="test_below_threshold_gets_none" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTCreation" name="test_issue_valid_cct" time="0.006" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTCreation" name="test_issue_denied_for_ineligible" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTCreation" name="test_issue_creates_attestation" time="0.006" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTCreation" name="test_issue_correct_tier_host" time="0.005" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_malformed_token" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_decode_error" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_valid_cct" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_expired_cct" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_node_mismatch" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_invalid_signature" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_untrusted_issuer" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTValidation" name="test_clock_skew_tolerance" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestAccessMatrix" name="test_basic_has_temporal_coherence" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestAccessMatrix" name="test_basic_lacks_hivemind" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestAccessMatrix" name="test_host_has_all_capabilities" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestAccessMatrix" name="test_invalid_cct_denies_all" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTRenewal" name="test_renew_eligible" time="0.005" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTRenewal" name="test_renew_ineligible" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTRenewal" name="test_renew_with_expired_old_cct" time="0.005" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTRevocation" name="test_revoke_invalidates_attestations" time="0.008" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierStats" name="test_stats_empty" time="0.004" /><testcase classname="tests.unit.test_continual_learner_gate.TestTierStats" name="test_stats_counts_tiers" time="0.005" /><testcase classname="tests.unit.test_continual_learner_gate.TestComputeContribution" name="test_verify_valid_benchmark" time="0.004" /><testcase classname="tests.unit.test_continual_learner_gate.TestComputeContribution" name="test_verify_invalid_score" time="0.003" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningTools" name="test_check_learning_health_returns_json" time="0.005" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningTools" name="test_get_learning_tier_stats_returns_json" time="0.004" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningTools" name="test_get_node_learning_status_returns_json" time="0.006" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningTools" name="test_tools_list_has_six_entries" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_cct_request_missing_node_id" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_cct_request_invalid_signature" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_cct_verify_endpoint" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_cct_verify_missing_cct" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_cct_status_missing_node_id" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_tier_stats_endpoint" time="0.008" /><testcase classname="tests.unit.test_continual_learner_gate.TestLearningAPI" name="test_benchmark_missing_node_id" time="0.007" /><testcase classname="tests.unit.test_continual_learner_gate.TestWorldModelBridgeGating" name="test_distribute_blocked_without_cct" time="0.009" /><testcase classname="tests.unit.test_continual_learner_gate.TestWorldModelBridgeGating" name="test_hivemind_degrades_without_cct" time="0.009" /><testcase classname="tests.unit.test_continual_learner_gate.TestWorldModelBridgeGating" name="test_hivemind_returns_cached_without_cct" time="0.009" /><testcase classname="tests.unit.test_continual_learner_gate.TestWorldModelBridgeGating" name="test_check_cct_access_returns_false_no_file" time="0.008" /><testcase classname="tests.unit.test_continual_learner_gate.TestRewardIntegration" name="test_learning_contribution_in_award_table" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestRewardIntegration" name="test_learning_skill_shared_in_award_table" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestRewardIntegration" name="test_learning_credit_assigned_in_award_table" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestGoalRegistration" name="test_learning_type_registered" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestGoalRegistration" name="test_prompt_builder_returns_valid_prompt" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestTrustedIssuers" name="test_register_and_get" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTFileManagement" name="test_save_and_load" time="0.002" /><testcase classname="tests.unit.test_continual_learner_gate.TestCCTFileManagement" name="test_load_nonexistent" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestBootstrapGoal" name="test_learning_coordinator_in_seed_goals" time="0.001" /><testcase classname="tests.unit.test_continual_learner_gate.TestBootstrapGoal" name="test_learning_coordinator_goal_config" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_hart_intelligence_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_helper_action_class_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_helper_retrieve_json_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_helper_prompts_dir_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_cultural_wisdom_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_threadlocal_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestImportPaths" name="test_lifecycle_hooks_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestGoalManagerContract" name="test_build_prompt_is_callable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestGoalManagerContract" name="test_register_goal_type_is_callable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestGoalManagerContract" name="test_create_goal_is_callable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestDispatchContract" name="test_dispatch_goal_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestDispatchContract" name="test_mark_user_chat_activity_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestDispatchContract" name="test_is_user_recently_active_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestAgentDaemonContract" name="test_agent_daemon_singleton" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestAgentDaemonContract" name="test_has_start_method" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestAgentDaemonContract" name="test_has_stop_method" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestModelCatalogHARTOSContract" name="test_model_catalog_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestModelCatalogHARTOSContract" name="test_model_entry_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestModelCatalogHARTOSContract" name="test_model_type_enum_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestModelCatalogHARTOSContract" name="test_model_orchestrator_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestModelCatalogHARTOSContract" name="test_vram_manager_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestSmartLedgerContract" name="test_smart_ledger_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestSmartLedgerContract" name="test_task_status_enum" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestSmartLedgerContract" name="test_create_ledger_from_actions_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestSessionCacheContract" name="test_ttl_cache_importable" time="0.001" /><testcase classname="tests.unit.test_contract_interfaces.TestSessionCacheContract" name="test_ttl_cache_has_dict_interface" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_claim_unclaimed_task" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_cannot_double_claim" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_release_then_reclaim" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_cannot_release_other_agents_lock" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_get_task_owner" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_is_task_locked" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_expired_lock_allows_reclaim" time="0.051" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_reclaim_stale_tasks" time="0.051" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryTaskLock" name="test_thread_safety_concurrent_claims" time="0.002" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryHostRegistry" name="test_register_and_list" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryHostRegistry" name="test_deregister" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryHostRegistry" name="test_get_hosts_with_capability" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestInMemoryHostRegistry" name="test_update_compute_usage" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestGossipTaskBridge" name="test_announce_goal_to_peers" time="0.004" /><testcase classname="tests.unit.test_coordinator_backends.TestGossipTaskBridge" name="test_announce_handles_unreachable_peers" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestGossipTaskBridge" name="test_pull_tasks_from_peers" time="0.002" /><testcase classname="tests.unit.test_coordinator_backends.TestCreateCoordinator" name="test_fallback_to_inmemory_when_no_redis" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestCreateCoordinator" name="test_prefers_redis_when_available" time="0.001" /><testcase classname="tests.unit.test_coordinator_backends.TestCreateCoordinator" name="test_inmemory_coordinator_can_submit_and_claim" time="0.020" /><testcase classname="tests.unit.test_coordinator_backends.TestCreateCoordinator" name="test_inmemory_lock_prevents_double_claim" time="0.011" /><testcase classname="tests.unit.test_coordinator_backends.TestApiCoordinatorSingleton" name="test_get_coordinator_returns_inmemory_without_redis" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_set_and_get" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_get_missing_raises_keyerror" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_delete" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_overwrite" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_get_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_get_existing" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_contains_true" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_contains_false" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_len_empty" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_len_after_inserts" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_keys_values_items" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_pop_existing" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_pop_missing_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_pop_missing_raises" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_setdefault_missing" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheBasic" name="test_setdefault_existing" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheExpiration" name="test_entry_expires_after_ttl" time="0.051" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheExpiration" name="test_contains_false_after_expiry" time="0.051" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheExpiration" name="test_len_excludes_expired" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheExpiration" name="test_get_returns_default_after_expiry" time="0.051" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheExpiration" name="test_stats_shows_expired" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheTouchOnRead" name="test_getitem_extends_ttl_on_active_access" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheTouchOnRead" name="test_get_extends_ttl" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheTouchOnRead" name="test_setdefault_extends_ttl_on_hit" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheTouchOnRead" name="test_unaccessed_keys_still_expire" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheTouchOnRead" name="test_contains_does_not_touch" time="0.051" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheMaxSize" name="test_evicts_oldest_when_full" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheMaxSize" name="test_evicts_multiple_to_stay_at_max" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheMaxSize" name="test_overwrite_does_not_increase_size" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_called_on_miss" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_caches_result" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_returns_none_raises_keyerror" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_exception_raises_keyerror" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_used_in_contains" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_not_called_when_cached" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheLoader" name="test_loader_used_after_expiry" time="0.011" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheThreadSafety" name="test_concurrent_writes" time="0.011" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheThreadSafety" name="test_concurrent_read_write" time="0.004" /><testcase classname="tests.unit.test_core_modules.TestTTLCacheCleanup" name="test_cleanup_triggers_after_100_writes" time="0.011" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheIsBundled" name="test_not_bundled_by_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheIsBundled" name="test_bundled_via_env" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheIsBundled" name="test_bundled_via_frozen" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheGetSecret" name="test_env_takes_precedence" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheGetSecret" name="test_falls_back_to_config" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheGetSecret" name="test_returns_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_get_db_url_bundled" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_get_db_url_bundled_custom_port" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_get_action_api_bundled" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_get_action_api_standalone_env" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_get_db_url_standalone_env" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestConfigCacheURLs" name="test_reload_config_resets" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_session_singleton" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_session_has_retry_adapter" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_session_default_content_type" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_get_calls_session" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_post_calls_session" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_patch_calls_session" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_put_calls_session" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_delete_calls_session" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_custom_timeout" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_pooled_post_llm_logging_no_crash" time="0.002" /><testcase classname="tests.unit.test_core_modules.TestHttpPool" name="test_retry_status_forcelist" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_starts_closed" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_stays_closed_below_threshold" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_opens_at_threshold" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_is_open_blocks_requests" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_half_open_after_cooldown" time="0.021" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_half_open_allows_one_probe" time="0.021" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_success_resets_to_closed" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_manual_reset" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreaker" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreakerDecorator" name="test_decorator_passes_through_on_closed" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreakerDecorator" name="test_decorator_records_failure" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreakerDecorator" name="test_decorator_raises_open_error" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestCircuitBreakerDecorator" name="test_decorator_uses_fallback" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_app_mode_by_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_os_mode_via_env" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_app_mode" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_os_mode" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_explicit_override" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_env_override" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_env_override_beats_os_mode" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_port_unknown_service" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_all_ports_returns_dict" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_get_mode_label" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPortRegistry" name="test_invalid_env_port_falls_back" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_default_uses_port_registry" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_canonical_env_var" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_custom_base_url" time="0.005" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_deprecated_port_var" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_is_local_llm_true" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_is_local_llm_via_model_env" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_invalidate_clears_cache" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_set_local_llm_url" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_validate_rejects_bad_url" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestLLMURLResolution" name="test_validate_accepts_good_url" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_data_dir_returns_string" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_override_via_nunba_data_dir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_override_via_hartos_data_dir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_nunba_override_takes_precedence" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_db_dir_is_subdir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_db_path_default" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_db_path_custom" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_agent_data_dir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_prompts_dir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_log_dir" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_memory_graph_dir_no_session" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_get_memory_graph_dir_with_session" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_reset_cache_allows_new_resolution" time="0.001" /><testcase classname="tests.unit.test_core_modules.TestPlatformPaths" name="test_windows_default_path" time="0.000"><skipped type="pytest.skip" message="Windows-only">/home/runner/work/HARTOS/HARTOS/tests/unit/test_core_modules.py:993: Windows-only</skipped></testcase><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_get_config_returns_dict" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_get_config_cached_singleton" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_get_secret_from_env" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_get_secret_from_config" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_get_secret_default" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestConfigCache" name="test_reload_config" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestHTTPPool" name="test_session_singleton" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestHTTPPool" name="test_session_has_adapters" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestHTTPPool" name="test_pooled_get_function_exists" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestHTTPPool" name="test_pooled_post_function_exists" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestHTTPPool" name="test_pooled_request_function_exists" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestEventLoop" name="test_get_or_create_returns_loop" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestEventLoop" name="test_loop_reused" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestEventLoop" name="test_run_async" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestEventLoop" name="test_thread_isolation" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_basic_set_get" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_contains" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_delete" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_get_default" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_pop" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_ttl_expiration" time="0.201" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_max_size_eviction" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_len" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_keys_values_items" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_stats" time="0.001" /><testcase classname="tests.unit.test_core_performance.TestTTLCache" name="test_thread_safety" time="0.005" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cached_json_load" time="0.002" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cache_hit" time="0.002" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cache_returns_copy" time="0.002" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cache_invalidation" time="0.002" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cached_json_save" time="0.014" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_file_not_found" time="0.002" /><testcase classname="tests.unit.test_core_performance.TestFileCache" name="test_cache_stats" time="0.001" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_call_service_create_returns_uuid_call_id" time="0.003" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_agent_voice_bridge_keys_on_call_id_not_separate_session_id" time="0.001" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_whisper_stream_bridge_uses_call_id_query_param" time="0.001" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_livekit_transcript_subscriber_receives_call_id" time="0.005" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_no_parallel_session_id_in_any_call_consumer" time="0.001" /><testcase classname="tests.unit.test_cross_modality_call_id" name="test_call_id_continuity_lifecycle" time="0.001" /><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_caller_1_publish_agent_thought_byte_equal" time="0.004"><failure message="AssertionError: Caller 1 envelope diverged.&#10;    inline:  {&quot;text&quot;: [&quot;Last assistant message about the user's task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;    helper:  {&quot;text&quot;: [&quot;Last assistant message about the user's task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;msg_id&quot;: &quot;80f557da77e641df9da01b49afe66166&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;  Migration commit for create_recipe.py:102 would change wire bytes — would break any downstream consumer that signature-compares the payload.&#10;assert '{&quot;text&quot;: [&quot;Last assistant message about the user\'s task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;msg_id&quot;: &quot;80f557da77e641df9da01b49afe66166&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}' == '{&quot;text&quot;: [&quot;Last assistant message about the user\'s task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}'&#10;  &#10;  - {&quot;text&quot;: [&quot;Last assistant message about the user's task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;  + {&quot;text&quot;: [&quot;Last assistant message about the user's task&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;msg_id&quot;: &quot;80f557da77e641df9da01b49afe66166&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;  ?                                                                                                                                                                                                                                                                                           ++++++++++++++++++++++++++++++++++++++++++++++">tests/unit/test_crossbar_publish_thinking.py:133: in test_caller_1_publish_agent_thought_byte_equal
    assert helper_payload == inline, (
E   AssertionError: Caller 1 envelope diverged.
E       inline:  {"text": ["Last assistant message about the user's task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E       helper:  {"text": ["Last assistant message about the user's task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "msg_id": "80f557da77e641df9da01b49afe66166", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E     Migration commit for create_recipe.py:102 would change wire bytes — would break any downstream consumer that signature-compares the payload.
E   assert '{"text": ["Last assistant message about the user\'s task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "msg_id": "80f557da77e641df9da01b49afe66166", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}' == '{"text": ["Last assistant message about the user\'s task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}'
E     
E     - {"text": ["Last assistant message about the user's task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E     + {"text": ["Last assistant message about the user's task"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "msg_id": "80f557da77e641df9da01b49afe66166", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E     ?                                                                                                                                                                                                                                                                                           ++++++++++++++++++++++++++++++++++++++++++++++</failure></testcase><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_caller_2_publish_to_crossbar_new_action_start_byte_equal" time="0.004"><failure message="assert '{&quot;text&quot;: [&quot;Working on fetch user profile.\\n please evaluate the response i am giving to check if it meets the current action&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;msg_id&quot;: &quot;a36fdbded9ae4f9e8aa8a2e4c81a1afd&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}' == '{&quot;text&quot;: [&quot;Working on fetch user profile.\\n please evaluate the response i am giving to check if it meets the current action&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}'&#10;  &#10;  - {&quot;text&quot;: [&quot;Working on fetch user profile.\n please evaluate the response i am giving to check if it meets the current action&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;  + {&quot;text&quot;: [&quot;Working on fetch user profile.\n please evaluate the response i am giving to check if it meets the current action&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;historical_request_id&quot;: [], &quot;preffered_language&quot;: &quot;en-US&quot;, &quot;options&quot;: [], &quot;newoptions&quot;: [], &quot;bot_type&quot;: &quot;Agent&quot;, &quot;page_image_url&quot;: &quot;&quot;, &quot;analogy_image_url&quot;: &quot;&quot;, &quot;request_id&quot;: &quot;123456&quot;, &quot;msg_id&quot;: &quot;a36fdbded9ae4f9e8aa8a2e4c81a1afd&quot;, &quot;zoom_bounding_box&quot;: {&quot;top_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;top_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_right&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}, &quot;bottom_left&quot;: {&quot;x&quot;: 0, &quot;y&quot;: 0}}}&#10;  ?                                                                                                                                                                                                                                                                                                                                                                ++++++++++++++++++++++++++++++++++++++++++++++">tests/unit/test_crossbar_publish_thinking.py:157: in test_caller_2_publish_to_crossbar_new_action_start_byte_equal
    assert helper_payload == inline
E   assert '{"text": ["Working on fetch user profile.\\n please evaluate the response i am giving to check if it meets the current action"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "msg_id": "a36fdbded9ae4f9e8aa8a2e4c81a1afd", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}' == '{"text": ["Working on fetch user profile.\\n please evaluate the response i am giving to check if it meets the current action"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}'
E     
E     - {"text": ["Working on fetch user profile.\n please evaluate the response i am giving to check if it meets the current action"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E     + {"text": ["Working on fetch user profile.\n please evaluate the response i am giving to check if it meets the current action"], "priority": 49, "action": "Thinking", "historical_request_id": [], "preffered_language": "en-US", "options": [], "newoptions": [], "bot_type": "Agent", "page_image_url": "", "analogy_image_url": "", "request_id": "123456", "msg_id": "a36fdbded9ae4f9e8aa8a2e4c81a1afd", "zoom_bounding_box": {"top_left": {"x": 0, "y": 0}, "top_right": {"x": 0, "y": 0}, "bottom_right": {"x": 0, "y": 0}, "bottom_left": {"x": 0, "y": 0}}}
E     ?                                                                                                                                                                                                                                                                                                                                                                ++++++++++++++++++++++++++++++++++++++++++++++</failure></testcase><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_caller_3_publish_thinking_dict_equal" time="0.002"><failure message="AssertionError: Caller 3 envelope semantics diverged.  Field order may differ from the inline literal (helper uses caller-4 canonical order); VALUES must match exactly.&#10;assert {'text': ['Crawling https://example.com...'], 'priority': 49, 'action': 'Thinking', 'bot_type': 'Agent', 'request_id': 'req-12345', 'msg_id': '7368e7e79e5c469682c1182464922cc0', 'historical_request_id': [], 'options': [], 'newoptions': []} == {'text': ['Crawling https://example.com...'], 'priority': 49, 'action': 'Thinking', 'bot_type': 'Agent', 'historical_request_id': [], 'options': [], 'newoptions': [], 'request_id': 'req-12345'}&#10;  &#10;  Common items:&#10;  {'action': 'Thinking',&#10;   'bot_type': 'Agent',&#10;   'historical_request_id': [],&#10;   'newoptions': [],&#10;   'options': [],&#10;   'priority': 49,&#10;   'request_id': 'req-12345',&#10;   'text': ['Crawling https://example.com...']}&#10;  Left contains 1 more item:&#10;  {'msg_id': '7368e7e79e5c469682c1182464922cc0'}&#10;  &#10;  Full diff:&#10;    {&#10;        'action': 'Thinking',&#10;        'bot_type': 'Agent',&#10;        'historical_request_id': [],&#10;  +     'msg_id': '7368e7e79e5c469682c1182464922cc0',&#10;        'newoptions': [],&#10;        'options': [],&#10;        'priority': 49,&#10;        'request_id': 'req-12345',&#10;        'text': [&#10;            'Crawling https://example.com...',&#10;        ],&#10;    }">tests/unit/test_crossbar_publish_thinking.py:172: in test_caller_3_publish_thinking_dict_equal
    assert helper_dict == inline, (
E   AssertionError: Caller 3 envelope semantics diverged.  Field order may differ from the inline literal (helper uses caller-4 canonical order); VALUES must match exactly.
E   assert {'text': ['Crawling https://example.com...'], 'priority': 49, 'action': 'Thinking', 'bot_type': 'Agent', 'request_id': 'req-12345', 'msg_id': '7368e7e79e5c469682c1182464922cc0', 'historical_request_id': [], 'options': [], 'newoptions': []} == {'text': ['Crawling https://example.com...'], 'priority': 49, 'action': 'Thinking', 'bot_type': 'Agent', 'historical_request_id': [], 'options': [], 'newoptions': [], 'request_id': 'req-12345'}
E     
E     Common items:
E     {'action': 'Thinking',
E      'bot_type': 'Agent',
E      'historical_request_id': [],
E      'newoptions': [],
E      'options': [],
E      'priority': 49,
E      'request_id': 'req-12345',
E      'text': ['Crawling https://example.com...']}
E     Left contains 1 more item:
E     {'msg_id': '7368e7e79e5c469682c1182464922cc0'}
E     
E     Full diff:
E       {
E           'action': 'Thinking',
E           'bot_type': 'Agent',
E           'historical_request_id': [],
E     +     'msg_id': '7368e7e79e5c469682c1182464922cc0',
E           'newoptions': [],
E           'options': [],
E           'priority': 49,
E           'request_id': 'req-12345',
E           'text': [
E               'Crawling https://example.com...',
E           ],
E       }</failure></testcase><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_caller_4_compute_router_byte_equal" time="0.002"><failure message="AssertionError: Caller 4 envelope diverged.&#10;    inline:  {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;    helper:  {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;msg_id&quot;: &quot;9fe0b000911346be80fcc054da33b9ad&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;assert '{&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;msg_id&quot;: &quot;9fe0b000911346be80fcc054da33b9ad&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}' == '{&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}'&#10;  &#10;  - {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;  + {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;req-67890&quot;, &quot;msg_id&quot;: &quot;9fe0b000911346be80fcc054da33b9ad&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;  ?                                                                                                                                ++++++++++++++++++++++++++++++++++++++++++++++">tests/unit/test_crossbar_publish_thinking.py:193: in test_caller_4_compute_router_byte_equal
    assert helper_payload == inline, (
E   AssertionError: Caller 4 envelope diverged.
E       inline:  {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "historical_request_id": [], "options": [], "newoptions": []}
E       helper:  {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "msg_id": "9fe0b000911346be80fcc054da33b9ad", "historical_request_id": [], "options": [], "newoptions": []}
E   assert '{"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "msg_id": "9fe0b000911346be80fcc054da33b9ad", "historical_request_id": [], "options": [], "newoptions": []}' == '{"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "historical_request_id": [], "options": [], "newoptions": []}'
E     
E     - {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "historical_request_id": [], "options": [], "newoptions": []}
E     + {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "req-67890", "msg_id": "9fe0b000911346be80fcc054da33b9ad", "historical_request_id": [], "options": [], "newoptions": []}
E     ?                                                                                                                                ++++++++++++++++++++++++++++++++++++++++++++++</failure></testcase><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_caller_4_empty_request_id_coerces_to_empty_string" time="0.002"><failure message="assert '{&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;&quot;, &quot;msg_id&quot;: &quot;7de30188aca74a1989abb396e33329e2&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}' == '{&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}'&#10;  &#10;  - {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;  + {&quot;text&quot;: [&quot;Routing locally...&quot;], &quot;priority&quot;: 49, &quot;action&quot;: &quot;Thinking&quot;, &quot;bot_type&quot;: &quot;ComputeRouter&quot;, &quot;request_id&quot;: &quot;&quot;, &quot;msg_id&quot;: &quot;7de30188aca74a1989abb396e33329e2&quot;, &quot;historical_request_id&quot;: [], &quot;options&quot;: [], &quot;newoptions&quot;: []}&#10;  ?                                                                                                                      ++++++++++++++++++++++++++++++++++++++++++++++">tests/unit/test_crossbar_publish_thinking.py:211: in test_caller_4_empty_request_id_coerces_to_empty_string
    assert helper_payload == inline
E   assert '{"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "", "msg_id": "7de30188aca74a1989abb396e33329e2", "historical_request_id": [], "options": [], "newoptions": []}' == '{"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "", "historical_request_id": [], "options": [], "newoptions": []}'
E     
E     - {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "", "historical_request_id": [], "options": [], "newoptions": []}
E     + {"text": ["Routing locally..."], "priority": 49, "action": "Thinking", "bot_type": "ComputeRouter", "request_id": "", "msg_id": "7de30188aca74a1989abb396e33329e2", "historical_request_id": [], "options": [], "newoptions": []}
E     ?                                                                                                                      ++++++++++++++++++++++++++++++++++++++++++++++</failure></testcase><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_envelope_passes_capture_thinking_filter" time="0.001" /><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_non_string_text_is_str_coerced" time="0.001" /><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_empty_user_id_returns_false_no_publish" time="0.001" /><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_unresolvable_publish_async_returns_false" time="0.001" /><testcase classname="tests.unit.test_crossbar_publish_thinking" name="test_zoom_stub_keys_match_inline_shape" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitDataIntegrity" name="test_minimum_trait_count" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitDataIntegrity" name="test_all_traits_have_required_keys" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitDataIntegrity" name="test_no_empty_names" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitDataIntegrity" name="test_no_duplicate_names" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitDataIntegrity" name="test_cultural_diversity" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestPromptGeneration" name="test_full_prompt_is_non_empty" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestPromptGeneration" name="test_full_prompt_mentions_trait_names" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestPromptGeneration" name="test_compact_prompt_is_shorter" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestPromptGeneration" name="test_compact_prompt_still_has_values" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestPromptGeneration" name="test_proactive_behavior_prompt_non_empty" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestGuardianValues" name="test_returns_tuple" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestGuardianValues" name="test_non_empty" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestGuardianValues" name="test_each_value_is_string" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_trait_by_name_found" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_trait_by_name_not_found" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_trait_by_name_case_sensitive" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_traits_by_origin_returns_list" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_traits_by_origin_empty_for_unknown" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestTraitLookup" name="test_get_all_trait_names_returns_list" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestRoleTraits" name="test_returns_list" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestRoleTraits" name="test_respects_count_parameter" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestRoleTraits" name="test_different_roles_may_differ" time="0.001" /><testcase classname="tests.unit.test_cultural_wisdom.TestRoleTraits" name="test_unknown_role_still_returns_traits" time="0.001" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestSeedBootstrapReactivatesCompleted" name="test_active_bootstrap_is_left_untouched" time="0.007" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestSeedBootstrapReactivatesCompleted" name="test_completed_bootstrap_is_reactivated_not_duplicated" time="0.006" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestAutoRemediateCooldown" name="test_active_remediation_blocks_regardless_of_age" time="0.002" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestAutoRemediateCooldown" name="test_old_completed_remediation_does_not_block" time="0.002" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestAutoRemediateCooldown" name="test_recent_completed_remediation_blocks_recreation" time="0.002" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestCompletionGateContract" name="test_continuous_goal_never_auto_completes" time="0.001" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestCompletionGateContract" name="test_five_noops_auto_pauses" time="0.001" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestCompletionGateContract" name="test_real_work_completes_goal" time="0.001" /><testcase classname="tests.unit.test_dashboard_flap_fixes.TestCompletionGateContract" name="test_zero_spark_dispatch_does_not_complete" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestSeedGoalsIntegrity" name="test_minimum_count" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestSeedGoalsIntegrity" name="test_all_have_goal_type" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestSeedGoalsIntegrity" name="test_all_have_title_and_description" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestSeedGoalsIntegrity" name="test_budgets_are_positive" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestSeedGoalsIntegrity" name="test_continuous_goals_have_config" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAchievementIntegrity" name="test_all_have_parseable_criteria" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAchievementIntegrity" name="test_no_duplicate_slugs" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAchievementIntegrity" name="test_all_have_rewards" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAdConstantsIntegrity" name="test_revenue_split_sums_to_one" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAdConstantsIntegrity" name="test_cpc_exceeds_cpi" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestAdConstantsIntegrity" name="test_default_placements_no_duplicates" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestCulturalTraitsIntegrity" name="test_at_least_25_traits" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestCulturalTraitsIntegrity" name="test_all_have_required_keys" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestCulturalTraitsIntegrity" name="test_no_duplicate_names" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestCulturalTraitsIntegrity" name="test_multiple_cultural_regions" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestDeviceRoutingIntegrity" name="test_phone_is_first" time="0.002" /><testcase classname="tests.unit.test_data_integrity.TestDeviceRoutingIntegrity" name="test_robot_is_last" time="0.001" /><testcase classname="tests.unit.test_data_integrity.TestDeviceRoutingIntegrity" name="test_desktop_before_tablet" time="0.001" /><testcase classname="tests.unit.test_debounce.TestDebounceConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_debounce.TestDebounceConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_debounce.TestDebounceBuffer" name="test_buffer_creation" time="0.001" /><testcase classname="tests.unit.test_debounce.TestDebounceBuffer" name="test_add_items" time="0.001" /><testcase classname="tests.unit.test_debounce.TestDebounceBuffer" name="test_clear_returns_items" time="0.001" /><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_single_message_no_debounce" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_message_buffered_with_debounce" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_multiple_messages_collected" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_max_messages_triggers_flush" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_window_expiration_flush" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_manual_flush" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_flush_all" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_channel_specific_debounce" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_key_from_function" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_should_debounce_false" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_flush_callback" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_async_flush_callback" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_error_callback" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_stats_tracking" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_clear_buffers" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestInboundDebouncer" name="test_concurrent_keys" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_single_message_no_debounce" time="0.001" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_message_buffered" time="0.001" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_max_messages_flush" time="0.002" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_manual_flush" time="0.002" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_flush_all" time="0.001" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_timer_flush" time="0.101" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_channel_override" time="0.001" /><testcase classname="tests.unit.test_debounce.TestSyncDebouncer" name="test_stats" time="0.002" /><testcase classname="tests.unit.test_debounce.TestDebounceStats" name="test_default_stats" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestDedupeConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestDedupeConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestDedupeStats" name="test_default_stats" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestDedupeStats" name="test_duplicate_rate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByID" name="test_first_message_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByID" name="test_same_id_is_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByID" name="test_different_id_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByID" name="test_check_and_mark" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByContent" name="test_first_message_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByContent" name="test_same_content_is_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByContent" name="test_different_content_not_duplicate" time="0.002" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorByContent" name="test_whitespace_normalization" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorCombined" name="test_same_id_is_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorCombined" name="test_same_content_is_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorCombined" name="test_both_different_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorNone" name="test_no_dedup_allows_all" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorTTL" name="test_expired_entry_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorTTL" name="test_cleanup_expired" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorMaxEntries" name="test_max_entries_eviction" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorStats" name="test_stats_tracking" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorClear" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorDirectValues" name="test_direct_message_id" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestMessageDeduplicatorDirectValues" name="test_direct_content" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_first_key_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_same_key_is_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_different_key_not_duplicate" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_check_and_mark" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_ttl_expiration" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_max_entries" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestSimpleDeduplicator" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_dedupe.TestHighVolume" name="test_high_volume_dedup" time="0.453" /><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_android_jsparser_accepts_all_canonical_schemes" time="0.003"><skipped type="pytest.skip" message="Hevolve_React_Native sibling not on this machine — skipping Android JS parser check">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:210: Hevolve_React_Native sibling not on this machine — skipping Android JS parser check</skipped></testcase><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_android_manifest_accepts_all_canonical_schemes" time="0.001"><skipped type="pytest.skip" message="Hevolve_React_Native sibling not on this machine — skipping Android Manifest check">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:145: Hevolve_React_Native sibling not on this machine — skipping Android Manifest check</skipped></testcase><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_canon_includes_hevolveai_nunba_hevolve" time="0.001" /><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_canon_validator_accepts_every_scheme_invite" time="0.001" /><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_canon_verbs_cover_invite_meet_group" time="0.001" /><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_ios_infoplist_accepts_all_canonical_schemes" time="0.001"><skipped type="pytest.skip" message="Nunba-Companion-iOS sibling not on this machine — skipping iOS Info.plist check">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:178: Nunba-Companion-iOS sibling not on this machine — skipping iOS Info.plist check</skipped></testcase><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_ios_jsparser_in_sync_with_android" time="0.001"><skipped type="pytest.skip" message="mobile siblings not both present">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:240: mobile siblings not both present</skipped></testcase><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_mobile_regex_matches_every_canon_scheme_invite" time="0.001"><skipped type="pytest.skip" message="Hevolve_React_Native sibling not on this machine">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:270: Hevolve_React_Native sibling not on this machine</skipped></testcase><testcase classname="tests.unit.test_deeplink_scheme_parity.DeeplinkParityTest" name="test_nunba_desktop_accepts_all_canonical_schemes" time="0.001"><skipped type="pytest.skip" message="Nunba-HART-Companion sibling not on this machine — skipping desktop surface check">/home/runner/work/HARTOS/HARTOS/tests/unit/test_deeplink_scheme_parity.py:112: Nunba-HART-Companion sibling not on this machine — skipping desktop surface check</skipped></testcase><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_valid_json" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_has_all_five_modes" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_has_all_six_tiers" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_has_all_five_services" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_has_all_three_variants" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_each_mode_has_required_fields" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_tier_ram_requirements_monotonically_increasing" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_tier_feature_sets_are_additive" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_compute_host_requires_gpu" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_backend_service_always_enabled" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestDeploymentManifest" name="test_service_ports_match_known_values" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_module_docstring_mentions_priority" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_module_docstring_mentions_all_five_priority_levels" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_get_config_returns_dict" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_get_secret_checks_env_var_first" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_get_secret_returns_default_when_key_missing" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestConfigLoadingChain" name="test_reload_config_resets_cache" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestTierDetection" name="test_import_works" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestTierDetection" name="test_run_system_check_returns_capabilities_with_features" time="0.016" /><testcase classname="tests.unit.test_deployment_modes.TestTierDetection" name="test_get_tier_name_returns_string" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestVariantConfig" name="test_variant_configs_exist" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestVariantConfig" name="test_first_boot_reads_variant" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestVariantConfig" name="test_first_boot_has_edge_variant_override" time="0.001" /><testcase classname="tests.unit.test_deployment_modes.TestVariantConfig" name="test_build_iso_writes_variant_to_chroot" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestObserverTierMinimum" name="test_observer_tier_features" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestObserverTierMinimum" name="test_observer_tier_classification" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestStandardTierAgents" name="test_standard_tier_features" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestStandardTierAgents" name="test_standard_tier_classification" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestStandardTierAgents" name="test_force_tier_override" time="0.002" /><testcase classname="tests.unit.test_deployment_scenarios.TestFullTierVision" name="test_full_tier_features" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestFullTierVision" name="test_full_tier_classification" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestBundledModePathRedirection" name="test_agent_data_derives_from_db_path" time="0.002" /><testcase classname="tests.unit.test_deployment_scenarios.TestBundledModePathRedirection" name="test_agent_data_default_when_no_db_path" time="0.006" /><testcase classname="tests.unit.test_deployment_scenarios.TestBundledModePathRedirection" name="test_key_dir_derives_from_db_path" time="0.006" /><testcase classname="tests.unit.test_deployment_scenarios.TestBundledModePathRedirection" name="test_secret_key_persists_next_to_db" time="0.003" /><testcase classname="tests.unit.test_deployment_scenarios.TestBundledModePathRedirection" name="test_cache_loaders_agent_data_derives_from_db_path" time="0.002" /><testcase classname="tests.unit.test_deployment_scenarios.TestDockerDistributedDispatch" name="test_auto_distribute_when_coordinator_and_peers" time="0.017" /><testcase classname="tests.unit.test_deployment_scenarios.TestDockerDistributedDispatch" name="test_distributed_dispatch_includes_source_node" time="0.009" /><testcase classname="tests.unit.test_deployment_scenarios.TestDockerDistributedDispatch" name="test_worker_detects_capabilities_from_tier" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestDockerDistributedDispatch" name="test_has_hive_peers_true_with_active_peers" time="0.003" /><testcase classname="tests.unit.test_deployment_scenarios.TestNoCoordinatorLocalFallback" name="test_no_coordinator_dispatches_locally" time="0.007" /><testcase classname="tests.unit.test_deployment_scenarios.TestNoCoordinatorLocalFallback" name="test_coordinator_exists_but_no_peers_dispatches_locally" time="0.009" /><testcase classname="tests.unit.test_deployment_scenarios.TestNoCoordinatorLocalFallback" name="test_distributed_fails_falls_back_to_local" time="0.010" /><testcase classname="tests.unit.test_deployment_scenarios.TestNoCoordinatorLocalFallback" name="test_worker_loop_disabled_without_coordinator" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestStartupValidation" name="test_validate_startup_returns_list" time="0.001" /><testcase classname="tests.unit.test_deployment_scenarios.TestStartupValidation" name="test_validate_startup_warns_on_missing_env" time="0.002" /><testcase classname="tests.unit.test_deployment_scenarios.TestStartupValidation" name="test_validate_startup_warns_on_missing_config" time="0.002" /><testcase classname="tests.unit.test_deployment_scenarios.TestStartupValidation" name="test_validate_startup_no_crash" time="0.001" /><testcase classname="tests.unit.test_detect_goal_tags_action_input" name="test_string_prompt_still_works" time="0.001" /><testcase classname="tests.unit.test_detect_goal_tags_action_input" name="test_action_object_input_no_attribute_error" time="0.001" /><testcase classname="tests.unit.test_detect_goal_tags_action_input" name="test_none_input_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_detect_goal_tags_action_input" name="test_int_input_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_detect_goal_tags_action_input" name="test_dict_input_does_not_crash" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_form_factor_column_exists" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_capabilities_json_column_exists" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_default_form_factor" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_capabilities_property_parses_json" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_capabilities_property_handles_empty" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_capabilities_property_handles_invalid_json" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_capabilities_property_handles_none" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_to_dict_includes_form_factor" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceBindingModel" name="test_to_dict_includes_capabilities" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestSchemaMigrationV27" name="test_schema_version_at_least_27" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_tts_stream_in_valid_types" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_agent_consent_in_valid_types" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_execute_tts_stream" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_execute_tts_stream_empty_text" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_execute_tts_stream_with_relay" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_execute_agent_consent" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestFleetCommandTypes" name="test_execute_agent_consent_empty_action" time="0.001" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_get_user_device_map" time="0.003" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_pick_device_selects_phone_over_desktop" time="0.003" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_pick_device_skips_non_capable" time="0.003" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_pick_device_returns_none_no_devices" time="0.002" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_route_tts_to_phone" time="0.004" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_route_tts_relay_to_watch" time="0.006" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_route_tts_no_devices" time="0.002" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_route_tts_fallback_notification" time="0.004" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_request_consent" time="0.005" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_request_consent_no_devices" time="0.004" /><testcase classname="tests.unit.test_device_routing.TestDeviceRoutingService" name="test_request_consent_prefers_phone" time="0.006" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_phone_preferred_over_desktop" time="0.004" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_desktop_preferred_over_tablet" time="0.003" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_returns_none_when_no_devices" time="0.002" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_returns_none_when_no_capability" time="0.003" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_unknown_form_factor_lowest_priority" time="0.003" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_get_user_device_map_returns_list" time="0.003" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestDeviceRouting" name="test_tts_priority_order" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeLoad" name="test_returns_none_for_missing_file" time="0.002" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeLoad" name="test_loads_valid_recipe" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeLoad" name="test_returns_none_for_corrupt_json" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeSummary" name="test_returns_error_for_missing" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeSummary" name="test_returns_summary_fields" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeFork" name="test_fork_creates_new_file" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeFork" name="test_fork_does_not_overwrite_existing" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeFork" name="test_fork_returns_none_for_missing_source" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRouteTTS" name="test_no_devices_returns_error" time="0.002" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRouteTTS" name="test_routes_to_phone" time="0.005" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRouteTTS" name="test_watch_gets_relay" time="0.005" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRouteTTS" name="test_no_tts_device_falls_back_to_notification" time="0.005" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeSummaryEdgeCases" name="test_summary_with_steps_key" time="0.001" /><testcase classname="tests.unit.test_device_routing_and_recipes.TestRecipeSummaryEdgeCases" name="test_summary_has_fallback_indicator" time="0.001" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordAdapter" name="test_adapter_creation" time="0.005" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordAdapter" name="test_message_handler_registration" time="0.004" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordMessageConversion" name="test_message_structure" time="0.001" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordMessageConversion" name="test_media_attachment" time="0.001" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordFlaskIntegration" name="test_discord_registration" time="0.001" /><testcase classname="tests.unit.test_discord_adapter.TestDiscordFlaskIntegration" name="test_discord_message_routing" time="0.013" /><testcase classname="tests.unit.test_discord_adapter.TestRegressionWithTelegram" name="test_both_adapters_import" time="0.002" /><testcase classname="tests.unit.test_discord_adapter.TestRegressionWithTelegram" name="test_registry_handles_multiple_adapters" time="0.002" /><testcase classname="tests.unit.test_discord_adapter.TestRegressionWithTelegram" name="test_channel_isolation" time="0.002" /><testcase classname="tests.unit.test_discord_adapter.TestRegressionWithTelegram" name="test_base_imports_unchanged" time="0.001" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_adapter_is_room_capable" time="0.001" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_join_dm_raises_unsupported" time="0.002" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_join_text_channel_caches_presence" time="0.002" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_join_unknown_returns_false" time="0.002" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_join_voice_channel_connects" time="0.010" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_join_voice_idempotent" time="0.004" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_leave_text_clears_presence" time="0.002" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_leave_unknown_returns_false" time="0.001" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_leave_voice_disconnects" time="0.005" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_list_members_skips_bot" time="0.002" /><testcase classname="tests.unit.test_discord_room_capable.DiscordRoomCapableTest" name="test_list_members_unknown_returns_empty" time="0.002" /><testcase classname="tests.unit.test_discord_voice_recv_sink.ResampleTest" name="test_empty_input_returns_empty" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.ResampleTest" name="test_garbage_returns_empty" time="0.017" /><testcase classname="tests.unit.test_discord_voice_recv_sink.ResampleTest" name="test_known_silence_shrinks_by_3x" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_cleanup_closes_all_ws" time="0.007" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_first_frame_opens_ws_per_speaker" time="0.003" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_second_frame_same_speaker_reuses_ws" time="0.003" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_send_failure_resets_ws" time="0.005" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_skips_bot_own_audio" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_skips_empty_pcm" time="0.002" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_skips_when_user_or_data_none" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_two_speakers_get_two_wss" time="0.004" /><testcase classname="tests.unit.test_discord_voice_recv_sink.HevolveStreamingSinkTest" name="test_wants_opus_returns_false" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.MaybeAttachRecvSinkTest" name="test_returns_false_when_lib_not_installed" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.MaybeAttachRecvSinkTest" name="test_returns_false_when_voice_client_lacks_listen" time="0.001" /><testcase classname="tests.unit.test_discord_voice_recv_sink.MaybeAttachRecvSinkTest" name="test_returns_false_when_voice_client_none" time="0.001" /><testcase classname="tests.unit.test_discovery.TestRateLimiter" name="test_allows_first_request" time="0.001" /><testcase classname="tests.unit.test_discovery.TestRateLimiter" name="test_allows_within_limit" time="0.001" /><testcase classname="tests.unit.test_discovery.TestRateLimiter" name="test_rejects_over_limit" time="0.001" /><testcase classname="tests.unit.test_discovery.TestRateLimiter" name="test_different_ips_independent" time="0.001" /><testcase classname="tests.unit.test_discovery.TestRateLimiter" name="test_expires_after_window" time="0.001" /><testcase classname="tests.unit.test_discovery.TestWellKnown" name="test_returns_200" time="0.031" /><testcase classname="tests.unit.test_discovery.TestWellKnown" name="test_returns_json" time="0.029" /><testcase classname="tests.unit.test_discovery.TestWellKnown" name="test_has_name" time="0.029" /><testcase classname="tests.unit.test_discovery.TestWellKnown" name="test_has_version" time="0.030" /><testcase classname="tests.unit.test_discovery.TestWellKnown" name="test_has_description" time="0.029" /><testcase classname="tests.unit.test_discovery.TestPeerHealth" name="test_returns_200" time="0.032" /><testcase classname="tests.unit.test_discovery.TestPeerHealth" name="test_returns_json" time="0.033" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_agent_discovery_route_exists" time="0.029" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_community_discovery_route_exists" time="0.028" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_peer_announce_route_exists" time="0.030" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_peer_list_route_exists" time="0.029" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_federation_inbox_exists" time="0.028" /><testcase classname="tests.unit.test_discovery.TestEndpointRegistration" name="test_integrity_code_hash_exists" time="0.030" /><testcase classname="tests.unit.test_dispatch.TestUserActivityTracking" name="test_initially_not_active" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestUserActivityTracking" name="test_mark_activity_makes_active" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestUserActivityTracking" name="test_activity_expires_after_cooldown" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestUserActivityTracking" name="test_activity_within_cooldown" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestUserActivityTracking" name="test_mark_updates_timestamp" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestPromptIdGeneration" name="test_deterministic_same_goal" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestPromptIdGeneration" name="test_different_goals_different_ids" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestPromptIdGeneration" name="test_prompt_id_is_numeric_string" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestPromptIdGeneration" name="test_prompt_id_minimum_is_1" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalBudgetGate" name="test_budget_gate_blocks" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalBudgetGate" name="test_budget_gate_import_error_passes" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalGuardrailGate" name="test_guardrail_import_error_blocks" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalGuardrailGate" name="test_guardrail_blocks_dispatch" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalAuditLog" name="test_audit_log_called" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalBodyConstruction" name="test_tier1_body_has_required_fields" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalUserPriority" name="test_user_active_defers_dispatch" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalSemaphore" name="test_semaphore_timeout_returns_none" time="5.006" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalSemaphore" name="test_semaphore_released_after_success" time="0.007" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalSemaphore" name="test_semaphore_released_after_exception" time="0.007" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalDistributed" name="test_no_coordinator_returns_none" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalDistributed" name="test_coordinator_submit_succeeds" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalDistributed" name="test_coordinator_submit_exception_returns_none" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDecomposeGoal" name="test_fallback_single_task" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDecomposeGoal" name="test_fallback_truncates_description" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDecomposeGoal" name="test_subtask_extraction_success" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestGetDistributedCoordinator" name="test_returns_coordinator_when_available" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestGetDistributedCoordinator" name="test_returns_none_on_exception" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestHasHivePeers" name="test_no_peers_returns_false" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestHasHivePeers" name="test_has_peers_returns_true" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestHasHivePeers" name="test_exception_returns_false" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_start_marks_daemon" time="0.004" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_end_clears_and_heartbeats" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_start_no_watchdog" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_start_import_error" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_end_import_error" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestNotifyWatchdog" name="test_llm_start_agent_daemon_thread" time="0.004" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_empty_queue_returns_none" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_drain_lock_contention" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_single_wave_single_instruction" time="0.004" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_multi_wave_dependency_ordering" time="0.005" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_failed_instruction_recorded" time="0.004" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_all_fail_returns_none" time="0.004" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_drain_lock_always_released" time="0.003" /><testcase classname="tests.unit.test_dispatch.TestDrainInstructionQueue" name="test_module_import_error_returns_none" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestRobotCapabilityMatch" name="test_non_robot_always_passes" time="0.001" /><testcase classname="tests.unit.test_dispatch.TestRobotCapabilityMatch" name="test_robot_exception_returns_true" time="0.002" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalDistributedPath" name="test_distributed_dispatch_when_peers_exist" time="0.007" /><testcase classname="tests.unit.test_dispatch.TestDispatchGoalDistributedPath" name="test_distributed_fallback_to_local" time="0.006" /><testcase classname="tests.unit.test_dispatcher_escalation.TestEscalationReasonEnum" name="test_string_inheritance_for_json_round_trip" time="0.001" /><testcase classname="tests.unit.test_dispatcher_escalation.TestEscalationReasonEnum" name="test_coerce_accepts_string_enum_and_none" time="0.001" /><testcase classname="tests.unit.test_dispatcher_escalation.TestEscalationReasonEnum" name="test_coerce_rejects_unknown_without_raising" time="0.001" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_no_escalation_returns_none_reason" time="0.013" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_classifier_delegate_local" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_classifier_delegate_hive" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_refusal_override" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_low_confidence" time="0.005" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_agent_bound" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_actionable_intent" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestDispatchReturnDict" name="test_parse_failure" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestActiveEntryReason" name="test_reason_in_active_entry_on_classifier_delegate" time="0.004" /><testcase classname="tests.unit.test_dispatcher_escalation.TestActiveEntryReason" name="test_reason_absent_from_active_when_no_escalation" time="0.003" /><testcase classname="tests.unit.test_dispatcher_escalation.TestScheduleExpertBackgroundReasonPlumb" name="test_reason_kwarg_stored_in_active" time="0.002" /><testcase classname="tests.unit.test_dispatcher_escalation.TestScheduleExpertBackgroundReasonPlumb" name="test_reason_kwarg_optional_legacy_signature" time="0.002" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_has_hive_peers_false_when_no_peers" time="0.003" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_has_hive_peers_false_when_only_self" time="0.003" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_has_hive_peers_true_when_multiple_active" time="0.003" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_has_hive_peers_handles_db_error" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_decompose_goal_returns_single_task" time="0.004" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_distributed_success" time="0.007" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_distributed_no_coordinator" time="0.002" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_auto_distributes_with_coordinator_and_peers" time="0.008" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_falls_back_to_local_when_no_coordinator" time="0.007" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_falls_back_to_local_when_no_peers" time="0.009" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_dispatch_goal_falls_back_on_distributed_failure" time="0.009" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedDispatch" name="test_distributed_goal_context_includes_source_node" time="0.007" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_disabled_when_no_coordinator" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_enabled_when_coordinator_reachable" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_disabled_when_coordinator_returns_none" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_detects_capabilities" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_tick_no_coordinator" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_tick_no_tasks" time="0.004" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_tick_claims_and_executes" time="0.007" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_tick_handles_chat_failure" time="0.005" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_guardrail_blocks_task" time="0.004" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedWorkerLoop" name="test_worker_start_stop" time="1.002" /><testcase classname="tests.unit.test_distributed_bridge.TestGossipIdleCompute" name="test_self_info_includes_idle_compute_when_available" time="0.080" /><testcase classname="tests.unit.test_distributed_bridge.TestGossipIdleCompute" name="test_self_info_no_distributed_mode_flag" time="0.080" /><testcase classname="tests.unit.test_distributed_bridge.TestGossipIdleCompute" name="test_self_info_idle_compute_graceful_on_error" time="0.080" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedEndToEnd" name="test_full_distributed_flow" time="0.020" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedEndToEnd" name="test_no_double_claim" time="0.012" /><testcase classname="tests.unit.test_distributed_bridge.TestDistributedEndToEnd" name="test_capability_matching" time="0.010" /><testcase classname="tests.unit.test_distributed_bridge.TestModuleExports" name="test_import_worker_loop" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestModuleExports" name="test_import_coordinator" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestModuleExports" name="test_import_dispatch_functions" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestModuleExports" name="test_init_exports_worker_loop" time="0.001" /><testcase classname="tests.unit.test_distributed_bridge.TestModuleExports" name="test_no_distributed_mode_function" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestDataClassification" name="test_explicit_override" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestDataClassification" name="test_env_file_detected_as_edge_only" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestDataClassification" name="test_pem_file_detected_as_edge_only" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestDataClassification" name="test_clean_code_is_trusted_peer" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestDataClassification" name="test_no_working_dir_defaults_trusted" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestShardScopeMapping" name="test_trusted_peer_gets_interfaces" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestShardScopeMapping" name="test_edge_only_never_reaches_distribute" time="0.002" /><testcase classname="tests.unit.test_distributed_coding.TestExecuteEndpointSecurity" name="test_missing_encrypted_returns_400" time="0.007" /><testcase classname="tests.unit.test_distributed_coding.TestExecuteEndpointSecurity" name="test_bad_encryption_returns_403" time="0.007" /><testcase classname="tests.unit.test_distributed_coding.TestExecuteEndpointSecurity" name="test_path_traversal_blocked" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestClawBridge" name="test_bash" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:118: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawBridge" name="test_grep" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:123: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawBridge" name="test_glob" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:127: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawBridge" name="test_read_file" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:131: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawBridge" name="test_write_and_edit" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:135: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawNativeBackend" name="test_backend_registered" time="0.001" /><testcase classname="tests.unit.test_distributed_coding.TestClawNativeBackend" name="test_backend_capabilities" time="0.004"><skipped type="pytest.skip" message="claw_bridge not compiled">/home/runner/work/HARTOS/HARTOS/tests/unit/test_distributed_coding.py:161: claw_bridge not compiled</skipped></testcase><testcase classname="tests.unit.test_distributed_coding.TestClawNativeBackend" name="test_router_has_claw_defaults" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_file_exists[deploy/linux/systemd/hart.target]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_unit_has_unit_section[deploy/linux/systemd/hart.target]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_exec_start[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_install_section[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_backend_port_is_6777" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_backend_uses_waitress" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_backend_security_hardening" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_discovery_binds_to_backend" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_discovery_has_net_broadcast" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_vision_has_gpu_groups" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_vision_conditional_on_model" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_llm_conditional_on_model" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_dbus_requires_dbus_service" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_target_wants_core_services" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_target_is_multi_user" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_user_is_hart[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_has_env_file[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestSystemdUnits" name="test_service_logs_to_journal[deploy/linux/systemd/hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_exists[deploy/distro/variants/hart-os-server.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_exists[deploy/distro/variants/hart-os-desktop.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_exists[deploy/distro/variants/hart-os-edge.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_sections[deploy/distro/variants/hart-os-server.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_sections[deploy/distro/variants/hart-os-desktop.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_sections[deploy/distro/variants/hart-os-edge.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_name[deploy/distro/variants/hart-os-server.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_name[deploy/distro/variants/hart-os-desktop.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_name[deploy/distro/variants/hart-os-edge.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_server_variant_headless" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_desktop_variant_has_gui" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_edge_variant_minimal" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_server_all_services_enabled" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_edge_disables_heavy_services" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_desktop_enables_dbus" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_min_ram[deploy/distro/variants/hart-os-server.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_min_ram[deploy/distro/variants/hart-os-desktop.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_has_min_ram[deploy/distro/variants/hart-os-edge.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_python310_required[deploy/distro/variants/hart-os-server.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_python310_required[deploy/distro/variants/hart-os-desktop.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantConfigs" name="test_variant_python310_required[deploy/distro/variants/hart-os-edge.conf]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_tcp_optimization" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_kernel_hardening" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_rp_filter" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_redirect_disabled" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_file_descriptors" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_limits_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_limits_nofile" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_limits_nproc" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_limits_memlock" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestKernelTuning" name="test_sysctl_valid_format" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_os_release_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_os_release_fields" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_os_release_id" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_os_release_id_like_ubuntu" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_os_release_codename" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_issue_banner_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_issue_has_ascii_art" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_motd_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_motd_is_shell_script" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_motd_shows_node_id" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_motd_has_xxd_fallback" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_theme_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_theme_name" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_uses_script_module" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_script_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_script_loads_logo" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_plymouth_script_has_refresh" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBranding" name="test_logo_generator_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_is_cloud_config" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_has_autoinstall" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_identity" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_ssh_enabled" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_installs_python310" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_late_commands" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_installs_branding" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_user_data_kernel_tuning" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_meta_data_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestAutoinstall" name="test_vendor_data_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDBusPolicyXML" name="test_dbus_conf_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDBusPolicyXML" name="test_dbus_conf_valid_xml" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDBusPolicyXML" name="test_dbus_allows_hart_user" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDBusPolicyXML" name="test_dbus_allows_default_send" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_valid_xml" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_has_actions" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_approve_action" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_install_remote" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_manage_services" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPolkitPolicy" name="test_polkit_requires_auth" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirewall" name="test_ufw_profile_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirewall" name="test_ufw_includes_backend_port" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirewall" name="test_ufw_includes_discovery_port" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirewall" name="test_ufw_has_title" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_file_exists[deploy/linux/desktop/hart.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_file_exists[deploy/linux/desktop/hart-dashboard.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_entry_header[deploy/linux/desktop/hart.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_entry_header[deploy/linux/desktop/hart-dashboard.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_name[deploy/linux/desktop/hart.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_name[deploy/linux/desktop/hart-dashboard.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_type[deploy/linux/desktop/hart.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_desktop_has_type[deploy/linux/desktop/hart-dashboard.desktop]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_dashboard_opens_browser" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDesktopEntries" name="test_tray_desktop_autostart" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDebianPackaging" name="test_control_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDebianPackaging" name="test_control_package_name" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDebianPackaging" name="test_control_depends_python" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDebianPackaging" name="test_control_architecture" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestDebianPackaging" name="test_control_has_description" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_script_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_requires_root" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_has_confirmation" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_wipes_keys" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_wipes_database" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_re_enables_first_boot" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_service_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_service_requires_kernel_param" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestRecovery" name="test_recovery_service_oneshot" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_strict_mode" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_generates_keypair" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_detects_hardware" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_classifies_tier" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_configures_services" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_initializes_db" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_starts_services" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_sets_marker" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_has_xxd_fallback" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_downloads_model_for_compute" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_service_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestFirstBoot" name="test_first_boot_service_conditional" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_valid_yaml_structure" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_builds_all_variants" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_uses_ubuntu_2204" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_pinned_release_action" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_github_actions_verifies_checksum" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_has_iso_target" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_has_clean_target" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_has_help" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_supports_variants" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_has_qemu_test" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestCICD" name="test_makefile_has_pxe_server_target" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_has_shebang[deploy/distro/recovery/hart-recovery.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_has_shebang[deploy/distro/first-boot/hart-first-boot.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_has_shebang[deploy/distro/branding/hart-motd.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_windows_line_endings[deploy/distro/recovery/hart-recovery.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_windows_line_endings[deploy/distro/first-boot/hart-first-boot.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_windows_line_endings[deploy/distro/branding/hart-motd.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_syntax_errors_basic[deploy/distro/recovery/hart-recovery.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_syntax_errors_basic[deploy/distro/first-boot/hart-first-boot.sh]" time="0.002"><failure message="AssertionError: Unbalanced if/fi in deploy/distro/first-boot/hart-first-boot.sh: 23 if, 22 fi&#10;assert 23 == 22">tests/unit/test_distro_configs.py:874: in test_no_syntax_errors_basic
    assert ifs == fis, f"Unbalanced if/fi in {script}: {ifs} if, {fis} fi"
E   AssertionError: Unbalanced if/fi in deploy/distro/first-boot/hart-first-boot.sh: 23 if, 22 fi
E   assert 23 == 22</failure></testcase><testcase classname="tests.unit.test_distro_configs.TestShellScripts" name="test_no_syntax_errors_basic[deploy/distro/branding/hart-motd.sh]" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_has_shebang" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_supports_variant_arg" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_supports_version_arg" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_uses_live_build" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBuildISO" name="test_build_iso_generates_checksum" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPXEServerFiles" name="test_pxe_server_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPXEServerFiles" name="test_pxe_default_config_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPXEServerFiles" name="test_pxe_default_has_hart_label" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestOEMMode" name="test_oem_script_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestOEMMode" name="test_oem_service_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestUpdateTimer" name="test_update_service_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestUpdateTimer" name="test_update_timer_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestUpdateTimer" name="test_update_service_oneshot" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestUpdateTimer" name="test_update_timer_daily" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBootAudit" name="test_boot_audit_script_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBootAudit" name="test_boot_audit_has_signing_logic" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBootAudit" name="test_first_boot_calls_audit" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBackupConfig" name="test_backup_script_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBackupConfig" name="test_backup_has_retention" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBackupConfig" name="test_backup_timer_exists" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestBackupConfig" name="test_backup_service_is_oneshot" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantFile" name="test_build_iso_writes_variant" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantFile" name="test_first_boot_reads_variant" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestVariantFile" name="test_first_boot_edge_override" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPlymouthProgress" name="test_plymouth_has_progress_callback" time="0.001" /><testcase classname="tests.unit.test_distro_configs.TestPlymouthProgress" name="test_plymouth_has_message_callback" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestHartCLIConstants" name="test_hart_version" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestHartCLIConstants" name="test_service_list" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestHartCLIConstants" name="test_directories" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestGetBackendPort" name="test_default_port" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestGetBackendPort" name="test_reads_from_env_file" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestGetBackendPort" name="test_ignores_empty_port" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestAPIHelpers" name="test_api_get_success" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestAPIHelpers" name="test_api_get_failure" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestAPIHelpers" name="test_api_post_success" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestAPIHelpers" name="test_api_post_failure" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestRunCmd" name="test_run_cmd_success" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestRunCmd" name="test_run_cmd_timeout" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_version" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_node_id_exists" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_node_id_missing" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_start" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_stop" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_restart" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_status_with_backend" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_health_with_dashboard" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_health_no_backend" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_join" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_provision" time="0.002" /><testcase classname="tests.unit.test_distro_tools.TestCLICommands" name="test_cmd_logs" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestCLIMainParser" name="test_argparse_commands" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestDBusService" name="test_api_request_get" time="0.010" /><testcase classname="tests.unit.test_distro_tools.TestDBusService" name="test_api_request_error" time="0.007" /><testcase classname="tests.unit.test_distro_tools.TestDBusService" name="test_constants" time="0.007" /><testcase classname="tests.unit.test_distro_tools.TestDBusService" name="test_backend_port_default" time="0.006" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_tray_constants" time="0.005" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_create_icon_colors" time="0.051" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_api_get_success" time="0.007" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_api_get_failure" time="0.004" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_hart_tray_init" time="0.004" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_get_node_id_from_file" time="0.004" /><testcase classname="tests.unit.test_distro_tools.TestHartTray" name="test_get_node_id_missing" time="0.004" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_pure_python_png_structure" time="0.029" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_png_has_iend_chunk" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_hexagon_points_are_6" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_hexagon_is_regular" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_pillow_generate_logo" time="0.011" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_teal_color_values" time="0.001" /><testcase classname="tests.unit.test_distro_tools.TestPlymouthLogoGenerator" name="test_logo_dimensions" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_detect_credit_card" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_detect_email" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_detect_phone" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_detect_ssn" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_empty_text" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_multiple_pii_types" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_no_false_positive_on_clean_text" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPScan" name="test_safe_ip_not_flagged" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPRedact" name="test_disabled_no_redaction" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPRedact" name="test_redact_email" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPRedact" name="test_redact_preserves_non_pii" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPRedact" name="test_redact_ssn" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPOutboundGate" name="test_clean_text_allowed" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPOutboundGate" name="test_pii_allowed_in_log_only_mode" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPOutboundGate" name="test_pii_blocked_by_default" time="0.001" /><testcase classname="tests.unit.test_dlp_engine.TestDLPSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstToAutogenCreate" name="test_casual_hi_returns_draft_reply_directly" time="0.002" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstToAutogenCreate" name="test_create_agent_intent_falls_through" time="0.001" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstToAutogenCreate" name="test_low_confidence_create_does_not_fall_through" time="0.002" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstToAutogenCreate" name="test_draft_first_defaults_to_true" time="0.002" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstToAutogenCreate" name="test_envelope_fields_complete" time="0.001" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstDelegateRouting" name="test_delegate_local_or_hive_branch_in_source" time="0.003" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstDisabled" name="test_env_var_zero_disables" time="0.002" /><testcase classname="tests.unit.test_draft_first_chat_route.TestDraftFirstDisabled" name="test_env_var_one_enables" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestRegistryTierSelection" name="test_get_draft_model_returns_draft_tier" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestRegistryTierSelection" name="test_get_draft_model_none_when_absent" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestRegistryTierSelection" name="test_get_fast_model_excludes_draft" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestRegistryTierSelection" name="test_get_expert_model_excludes_draft" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestRegistryTierSelection" name="test_draft_has_lower_latency_than_fast" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_clean_json" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_markdown_fenced" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_prose_wrapped_json" time="0.003" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_trailing_comma_tolerated" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_completely_malformed_returns_empty" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDraftEnvelopeParser" name="test_empty_input_returns_empty" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDispatchDraftFirstDelegation" name="test_delegate_none_returns_draft_reply_no_expert" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDispatchDraftFirstDelegation" name="test_delegate_local_fires_background_expert" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDispatchDraftFirstDelegation" name="test_delegate_hive_prefers_expert_tier" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDispatchDraftFirstDelegation" name="test_delegate_hive_falls_back_to_fast_when_no_expert" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestDispatchDraftFirstDelegation" name="test_malformed_json_defaults_to_local_delegate" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestLoopPrevention" name="test_inner_dispatch_forbids_speculative" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestGracefulDegradation" name="test_no_draft_model_returns_error_marker" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestGracefulDegradation" name="test_circuit_breaker_halted_returns_empty" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestGracefulDegradation" name="test_guardrail_blocked_prompt_returns_empty" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestGracefulDegradation" name="test_record_interaction_swallows_exceptions" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestTelemetryHooks" name="test_latency_recorded_on_registry" time="0.005" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_no_persona_uses_default_brand_identity" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_prompt_carries_capability_summary" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_every_static_tool_has_description" time="0.001" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_prompt_has_no_identity_statement" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_persona_is_prepended" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_long_persona_is_capped" time="0.002" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_persona_flows_through_dispatch" time="0.003" /><testcase classname="tests.unit.test_draft_first_dispatch.TestPersonaInjection" name="test_empty_persona_treated_as_absent" time="0.003" /><testcase classname="tests.unit.test_draft_first_dispatch.TestAgentBindingGuard" name="test_agent_bound_escalates_none_to_local" time="0.008" /><testcase classname="tests.unit.test_draft_first_dispatch.TestAgentBindingGuard" name="test_no_agent_binding_keeps_none" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestAgentBindingGuard" name="test_agent_bound_does_not_touch_local_or_hive" time="0.012" /><testcase classname="tests.unit.test_draft_first_dispatch.TestCorrectionIntentClassification" name="test_prompt_requests_is_correction_field" time="0.003" /><testcase classname="tests.unit.test_draft_first_dispatch.TestCorrectionIntentClassification" name="test_dispatch_parses_is_correction_true" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestCorrectionIntentClassification" name="test_dispatch_parses_is_correction_false" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestCorrectionIntentClassification" name="test_dispatch_defaults_to_false_on_missing_field" time="0.005" /><testcase classname="tests.unit.test_draft_first_dispatch.TestCorrectionIntentClassification" name="test_dispatch_defaults_to_false_on_unparseable_envelope" time="0.008" /><testcase classname="tests.unit.test_draft_first_dispatch.TestConfidenceFloor" name="test_high_confidence_none_no_expert" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestConfidenceFloor" name="test_low_confidence_none_escalates_to_local" time="0.005" /><testcase classname="tests.unit.test_draft_first_dispatch.TestConfidenceFloor" name="test_threshold_boundary_just_above" time="0.004" /><testcase classname="tests.unit.test_draft_first_dispatch.TestConfidenceFloor" name="test_threshold_boundary_just_below" time="0.005" /><testcase classname="tests.unit.test_draft_first_dispatch.TestConfidenceFloor" name="test_missing_confidence_defaults_to_zero_escalates" time="0.004" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot access external GitHub URLs to verify the specific PR.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have built-in crawlers or browser integration.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot access external sites.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot fetch the URL you provided.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot reach that endpoint.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot browse the web.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot directly access the internet.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot currently retrieve that file.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot connect to GitHub.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot read the contents of that PDF.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot view the attached image.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot verify that without the live data.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot crawl the page.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot open that URL.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot download the artifact.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I cannot resolve that DNS name.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I am unable to access external resources.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm unable to access the linked repository.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm unable to fetch that file.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I am not able to verify the PR.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm not able to reach that URL.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I do not have access to the filesystem.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have access to the web.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have built-in tools for this.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have the capability to do that.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have internet access.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I don't have web access in this environment.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I lack the ability to browse.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I lack access to GitHub.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I lack the capability to read remote files.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I have no way to verify that.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I have no access to external resources.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I have no tools to retrieve that information.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm just a language model.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm just an LLM.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm just a chatbot.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_matches_real_phrases[I'm only an AI.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I cannot wait to help you with this!]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I cannot stress enough how important this is.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I cannot agree more.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I cannot tell from your description alone \u2014 could you share the file?]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I don't know the exact answer, but here's what I think.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I don't recall the specific date.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I don't think that's correct, actually.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I don't want to assume \u2014 let me ask first.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[I don't usually answer questions like this without context.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Let me check that for you.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Looking that up now\u2026]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[One moment, fetching the details.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Hi! What can I help with?]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Got it \u2014 checking GitHub now.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Here's how to access the API: import requests\u2026]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[You can access the dashboard at /admin.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_does_not_match_legitimate_phrases[Use bus.publish() to access the message bus.]" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_standby_reply_is_non_empty_and_neutral" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_in_dispatch_envelope_is_overridden" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_no_refusal_leaves_envelope_untouched" time="0.001" /><testcase classname="tests.unit.test_draft_refusal_guard" name="test_refusal_pattern_uses_word_boundaries" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_all_expected_fields_present" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_speculation_id_preserved" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_user_id_preserved" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_confidence_numeric" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_delegate_none_when_confident" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_delegate_local_when_escalated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_escalated_false_when_delegate_unchanged" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_is_casual_true_propagated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_is_correction_true_propagated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_is_create_agent_true_propagated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_channel_connect_value_propagated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_language_change_value_propagated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_draft_model_id_extracted" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_draft_model_none_when_no_model" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_latency_ms_numeric" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_reply_len_calculated" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_reply_len_zero_for_none" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_reply_len_zero_for_empty" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_json_serializable" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryFunctional" name="test_log_output_format" time="0.002" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_telemetry_exception_does_not_propagate" time="0.002" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_missing_parsed_keys_default_to_none" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_escalated_default_delegate_fallback" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_telemetry_construction_is_fast" time="0.018" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_large_reply_len_handled" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_hive_delegate_tracked" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_negative_latency_not_rejected" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_zero_confidence_valid" time="0.001" /><testcase classname="tests.unit.test_draft_telemetry.TestDraftTelemetryNonFunctional" name="test_confidence_above_one_not_rejected" time="0.001" /><testcase classname="tests.unit.test_dynamic_agents" name="test_dynamic_discovery" time="0.001" /><testcase classname="tests.unit.test_dynamic_agents" name="test_agent_grouping" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestCreateFlowE2E" name="test_full_3_action_create_flow" time="0.050" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestCreateFlowE2E" name="test_ownership_tracks_correct_user" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestCreateFlowE2E" name="test_sequential_actions_respect_prerequisites" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestReuseFlowE2E" name="test_reuse_heartbeat_per_iteration" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestReuseFlowE2E" name="test_reuse_budget_exhaustion_stops_loop" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestVLMAgentE2E" name="test_vlm_action_gets_integrity_sealed" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestVLMAgentE2E" name="test_vlm_action_lifecycle_through_hooks" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_llm_claims_wrong_action_id" time="0.002" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_llm_claims_completion_on_terminal_task" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_llm_claims_completion_with_corrupted_task" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_llm_claims_nonexistent_action" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_budget_enforcement_blocks_action" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_sla_breach_flagged_not_blocking" time="0.011" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestLLMHallucinationDefenseE2E" name="test_double_ownership_claim_rejected" time="0.002" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_complete_coding_agent_lifecycle" time="0.047" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_coding_agent_with_budget_and_sla" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_vlm_agent_lifecycle" time="0.008" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_multi_flow_agent_with_ledger" time="0.007" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_error_recovery_with_retry" time="0.007" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_locality_sensitivity_defaults" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_local_only_task_cannot_distribute" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestFullPipelineIntegration" name="test_ledger_persists_across_save_load" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_preview_pending_sets_approval_required" time="0.005" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_preview_approved_resumes_from_blocked" time="0.006" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_fallback_requested_sets_input_required" time="0.005" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_pending_state_sets_dependency_reason" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_block_for_user_input_helper" time="0.003" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_resume_from_user_input_helper" time="0.004" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_block_no_op_when_not_in_progress" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_resume_no_op_when_not_blocked" time="0.003" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedStateWiring" name="test_vlm_states_map_to_in_progress" time="0.006" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestSLANotification" name="test_sla_breach_posts_status_message" time="0.005" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestSLANotification" name="test_sla_breach_emits_event" time="0.005" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestSLANotification" name="test_sla_breach_idempotent" time="0.007" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestSLANotification" name="test_no_sla_breach_when_within_target" time="0.005" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedReasonEnums" name="test_all_blocked_reasons_valid" time="0.001" /><testcase classname="tests.unit.test_e2e_ledger_wiring.TestBlockedReasonEnums" name="test_blocked_reason_survives_serialization" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeHierarchy" name="test_edge_only_stays_on_edge" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeHierarchy" name="test_user_devices_up_to_user_devices" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeHierarchy" name="test_federated_flows_down" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeHierarchy" name="test_public_goes_anywhere" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeHierarchy" name="test_scope_is_string_enum" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_edge_data_blocked_from_federation" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_federated_data_allowed_to_federated" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_public_data_goes_anywhere" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_default_scope_is_edge_only" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_string_scope_accepted" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_unknown_scope_string_defaults_to_edge" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_dlp_catches_pii_in_federated" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestScopeGuard" name="test_dlp_not_needed_for_edge" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeRedaction" name="test_redact_removes_edge_fields_for_federation" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeRedaction" name="test_redact_keeps_all_for_edge" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestScopeRedaction" name="test_redact_never_mutates_original" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_no_data_is_neutral" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_valid_scope_scores_high" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_scope_violation_scores_near_zero" time="0.003" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_pii_in_federated_scores_near_zero" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_unknown_scope_is_uncertain" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_pipeline_has_privacy_scorer" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestGovernanceIntegration" name="test_pipeline_blocks_scope_violation" time="0.003" /><testcase classname="tests.unit.test_edge_privacy.TestSingletonAndDRY" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_edge_privacy.TestSingletonAndDRY" name="test_guard_delegates_to_dlp" time="0.002" /><testcase classname="tests.unit.test_edge_privacy.TestSingletonAndDRY" name="test_no_duplicate_pii_patterns" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedTierEnum" name="test_embedded_exists" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedTierEnum" name="test_embedded_is_lowest_rank" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedTierEnum" name="test_tier_order_has_embedded_last" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedTierEnum" name="test_six_tiers_total" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_zero_resources" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_pi_zero_512mb" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_esp32_proxy" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_observer_boundary" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_force_tier_embedded" time="0.003" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedClassification" name="test_force_tier_is_case_insensitive" time="0.002" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_gossip_enabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_sensor_bridge_enabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_protocol_adapter_enabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_flask_disabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_agent_engine_disabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_vision_lightweight_disabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedFeatureGating" name="test_coding_agent_disabled" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestFeatureMapEntries" name="test_gossip_in_map" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestFeatureMapEntries" name="test_sensor_bridge_in_map" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestFeatureMapEntries" name="test_protocol_adapter_in_map" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestFeatureMapEntries" name="test_vision_lightweight_at_lite" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestHardwareProfileEmbeddedFields" name="test_is_read_only_fs" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestHardwareProfileEmbeddedFields" name="test_has_gpio" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestHardwareProfileEmbeddedFields" name="test_has_serial" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestHardwareProfileEmbeddedFields" name="test_has_camera_hw" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestHardwareProfileEmbeddedFields" name="test_to_dict_includes_embedded_fields" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedNoRequirements" name="test_not_in_requirements" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestEmbeddedNoRequirements" name="test_observer_is_lowest_in_requirements" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestTierHelpers" name="test_get_tier_default_embedded" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestTierHelpers" name="test_get_tier_name_default" time="0.001" /><testcase classname="tests.unit.test_embedded_tier.TestApplyFeatureGatesEmbedded" name="test_gossip_enabled_env" time="0.003" /><testcase classname="tests.unit.test_embedded_tier.TestApplyFeatureGatesEmbedded" name="test_flask_disabled_env" time="0.002" /><testcase classname="tests.unit.test_embedded_tier.TestApplyFeatureGatesEmbedded" name="test_user_override_respected" time="0.003" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingResult" name="test_result_creation" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingResult" name="test_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestCacheStats" name="test_stats_creation" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestCacheStats" name="test_hit_rate_zero_lookups" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestCacheStats" name="test_stats_to_dict" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_backend_creation" time="0.006" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_set_and_get" time="0.008" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_get_nonexistent" time="0.006" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_delete" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_exists" time="0.006" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_get_batch" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_cleanup_expired" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestSQLiteBackend" name="test_get_stats" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_cache_creation" time="0.005" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_compute_hash" time="0.001" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_embedding_computes_new" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_embedding_returns_cached" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_embedding_with_model" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_batch" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_batch_partial_cache" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_embedding_sync" time="0.009" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_invalidate_by_hash" time="0.006" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_invalidate_text" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_cleanup" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_get_stats" time="0.008" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_clear" time="0.007" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_context_manager" time="0.006" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_no_embedding_fn_raises" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCache" name="test_async_embedding_fn" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_embeddings.TestEmbeddingCacheWithRedis" name="test_redis_backend_get" time="0.002" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCacheWithRedis" name="test_redis_backend_set" time="0.002" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCacheWithRedis" name="test_redis_backend_delete" time="0.002" /><testcase classname="tests.unit.test_embeddings.TestEmbeddingCacheWithRedis" name="test_redis_not_available_raises" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestRobotAction" name="test_create_motor_action" time="0.002" /><testcase classname="tests.unit.test_embodiment_bridge.TestRobotAction" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestRobotAction" name="test_from_dict" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestRobotAction" name="test_emergency_stop_action" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestSendAction" name="test_send_action_blocked_by_estop" time="0.013" /><testcase classname="tests.unit.test_embodiment_bridge.TestSendAction" name="test_send_action_http_success" time="0.010" /><testcase classname="tests.unit.test_embodiment_bridge.TestSendAction" name="test_send_action_http_failure" time="0.010" /><testcase classname="tests.unit.test_embodiment_bridge.TestSendAction" name="test_send_action_circuit_breaker_open" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestIngestSensorBatch" name="test_empty_batch" time="0.008" /><testcase classname="tests.unit.test_embodiment_bridge.TestIngestSensorBatch" name="test_http_batch_success" time="0.010" /><testcase classname="tests.unit.test_embodiment_bridge.TestIngestSensorBatch" name="test_http_batch_failure" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestIngestSensorBatch" name="test_circuit_breaker_blocks_batch" time="0.008" /><testcase classname="tests.unit.test_embodiment_bridge.TestGetLearningFeedback" name="test_http_feedback_success" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestGetLearningFeedback" name="test_http_feedback_failure" time="0.010" /><testcase classname="tests.unit.test_embodiment_bridge.TestGetLearningFeedback" name="test_circuit_breaker_blocks_feedback" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestRecordEmbodiedInteraction" name="test_records_to_experience_queue" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestEmergencyStop" name="test_http_estop" time="0.009" /><testcase classname="tests.unit.test_embodiment_bridge.TestControlLoopBridge" name="test_register_and_start" time="0.153" /><testcase classname="tests.unit.test_embodiment_bridge.TestControlLoopBridge" name="test_stats_tracking" time="0.101" /><testcase classname="tests.unit.test_embodiment_bridge.TestControlLoopBridge" name="test_unregister_callback" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestControlLoopBridge" name="test_multiple_callbacks" time="0.121" /><testcase classname="tests.unit.test_embodiment_bridge.TestActionSafetyIntegration" name="test_action_model_to_bridge_dict" time="0.001" /><testcase classname="tests.unit.test_embodiment_bridge.TestNoMLTrainingCode" name="test_robotics_package_no_ml" time="0.009" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_both_empty_returns_user_friendly_string" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_both_empty_logs_error" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_draft_set_gpt_empty_does_not_guard" time="0.012" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_gpt_set_draft_empty_does_not_guard" time="0.015" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_both_none_treated_as_falsy" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_guard_returns_string_not_exception" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_guard_message_mentions_language_model" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_guard_with_stop_param" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuard" name="test_guard_with_casual_conv_false" time="0.003" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuardNonFunctional" name="test_guard_does_not_increment_count" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuardNonFunctional" name="test_guard_does_not_update_tokens" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuardNonFunctional" name="test_guard_is_first_check_in_call" time="0.002" /><testcase classname="tests.unit.test_empty_gpt_api_guard.TestEmptyGPTAPIGuardNonFunctional" name="test_repeated_calls_always_return_guard_message" time="0.002" /><testcase classname="tests.unit.test_encounter_api" name="test_encounter_topics_share_prefix" time="0.001" /><testcase classname="tests.unit.test_encounter_api" name="test_sighting_correlation_tunables_sensible" time="0.001" /><testcase classname="tests.unit.test_encounter_api" name="test_encounter_icebreaker_goal_seeded" time="0.001" /><testcase classname="tests.unit.test_encounter_api" name="test_encounter_icebreaker_goal_has_no_autosend_gate" time="0.001" /><testcase classname="tests.unit.test_encounter_api" name="test_social_media_curator_goal_has_no_autosend" time="0.001" /><testcase classname="tests.unit.test_encounter_api" name="test_all_routes_require_auth" time="0.102" /><testcase classname="tests.unit.test_encounter_api" name="test_discoverable_default_off" time="0.102" /><testcase classname="tests.unit.test_encounter_api" name="test_discoverable_requires_age_claim" time="0.104" /><testcase classname="tests.unit.test_encounter_api" name="test_discoverable_enable_with_age_claim" time="0.104" /><testcase classname="tests.unit.test_encounter_api" name="test_discoverable_ttl_clamped" time="0.105" /><testcase classname="tests.unit.test_encounter_api" name="test_discoverable_toggle_limit" time="0.115" /><testcase classname="tests.unit.test_encounter_api" name="test_sighting_of_non_discoverable_peer_404s" time="0.104" /><testcase classname="tests.unit.test_encounter_api" name="test_sighting_rejects_self" time="0.109" /><testcase classname="tests.unit.test_encounter_api" name="test_sighting_returns_swipe_card" time="0.112" /><testcase classname="tests.unit.test_encounter_api" name="test_mutual_like_creates_match" time="0.128" /><testcase classname="tests.unit.test_encounter_api" name="test_one_sided_like_never_leaks_to_other_user" time="0.124" /><testcase classname="tests.unit.test_encounter_api" name="test_swipe_non_owner_404" time="0.118" /><testcase classname="tests.unit.test_encounter_api" name="test_swipe_double_409" time="0.120" /><testcase classname="tests.unit.test_encounter_api" name="test_swipe_idempotent_when_match_already_persisted" time="0.130" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_approve_happy_path" time="0.138" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_length_cap" time="0.132" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_non_participant_404" time="0.135" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_decline_records_reason" time="0.138" /><testcase classname="tests.unit.test_encounter_api" name="test_topics_endpoint_matches_constants" time="0.100" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_draft_returns_payload" time="0.135" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_draft_non_participant_404" time="0.136" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_draft_unknown_match_404" time="0.103" /><testcase classname="tests.unit.test_encounter_api" name="test_icebreaker_draft_missing_match_id_400" time="0.101" /><testcase classname="tests.unit.test_encounter_privacy" name="test_discoverable_auto_off_after_ttl_blocks_sighting" time="0.107" /><testcase classname="tests.unit.test_encounter_privacy" name="test_discoverable_disabled_pref_blocks_sighting" time="0.105" /><testcase classname="tests.unit.test_encounter_privacy" name="test_sightings_outside_match_window_do_not_match" time="0.120" /><testcase classname="tests.unit.test_encounter_privacy" name="test_swipe_on_expired_sighting_410" time="0.112" /><testcase classname="tests.unit.test_encounter_privacy" name="test_old_pubkey_no_longer_resolves_after_rotation" time="0.116" /><testcase classname="tests.unit.test_encounter_privacy" name="test_unrelated_user_matches_endpoint_is_empty" time="0.134" /><testcase classname="tests.unit.test_encounter_privacy" name="test_map_pins_skip_unmatched_pairs" time="0.128" /><testcase classname="tests.unit.test_encounter_privacy" name="test_icebreaker_approve_after_decline_409" time="0.136" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_self_encounter_rejected" time="0.001" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_canonical_ordering" time="0.004" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_first_encounter_bond_zero" time="0.004" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_bond_level_increases_at_2" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_bond_level_increases_at_5" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_bond_level_increases_at_10" time="0.005" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_bond_level_increases_at_20" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_bond_level_capped_at_10" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_encounter_count_increments" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestBondLevelProgression" name="test_latest_at_updated" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestGetEncounters" name="test_returns_list" time="0.004" /><testcase classname="tests.unit.test_encounter_service.TestGetEncounters" name="test_enriches_with_other_user_info" time="0.006" /><testcase classname="tests.unit.test_encounter_service.TestGetEncountersWith" name="test_returns_list" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestGetEncountersWith" name="test_canonical_order_preserved" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestAcknowledgeEncounter" name="test_returns_none_for_missing_encounter" time="0.004" /><testcase classname="tests.unit.test_encounter_service.TestAcknowledgeEncounter" name="test_rejects_non_participant" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestAcknowledgeEncounter" name="test_accepts_participant" time="0.003" /><testcase classname="tests.unit.test_encounter_service.TestGetSuggestions" name="test_returns_list" time="0.005" /><testcase classname="tests.unit.test_encounter_service.TestGetSuggestions" name="test_respects_limit" time="0.005" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_encrypt_decrypt_roundtrip" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_encrypt_string_roundtrip" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_no_key_returns_plaintext" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_auto_detect_plaintext" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_generate_data_key" time="0.001" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_encrypt_json_file_roundtrip" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_decrypt_json_file_reads_plaintext" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_decrypt_json_file_nonexistent" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestCryptoCore" name="test_encrypt_json_file_no_key_writes_plaintext" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestResonanceProfileEncryption" name="test_save_encrypted_load_decrypted" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestResonanceProfileEncryption" name="test_save_plaintext_when_no_key" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestResonanceProfileEncryption" name="test_load_plaintext_with_key_set" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestResonanceProfileEncryption" name="test_biometric_embeddings_encrypted" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestResonanceProfileEncryption" name="test_nonexistent_profile_returns_none" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestInstructionQueueEncryption" name="test_save_encrypted_load_decrypted" time="0.004" /><testcase classname="tests.unit.test_encryption_at_rest.TestInstructionQueueEncryption" name="test_save_plaintext_when_no_key" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestInstructionQueueEncryption" name="test_load_plaintext_with_key_set" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestInstructionQueueEncryption" name="test_instruction_text_not_visible_in_encrypted_file" time="0.003" /><testcase classname="tests.unit.test_encryption_at_rest.TestNodeKeyEncryption" name="test_ed25519_key_encrypted_on_disk" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestNodeKeyEncryption" name="test_ed25519_key_reload_after_encryption" time="0.003" /><testcase classname="tests.unit.test_encryption_at_rest.TestNodeKeyEncryption" name="test_ed25519_key_plaintext_when_no_key" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestNodeKeyEncryption" name="test_ed25519_plaintext_migration" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestX25519KeyEncryption" name="test_x25519_key_encrypted_on_disk" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestX25519KeyEncryption" name="test_x25519_key_reload_after_encryption" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestX25519KeyEncryption" name="test_x25519_plaintext_when_no_key" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestX25519KeyEncryption" name="test_x25519_plaintext_migration" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestX25519KeyEncryption" name="test_encrypted_key_still_works_for_e2e" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestA2ACrypto" name="test_session_roundtrip" time="0.001" /><testcase classname="tests.unit.test_encryption_at_rest.TestA2ACrypto" name="test_session_payload_roundtrip" time="0.001" /><testcase classname="tests.unit.test_encryption_at_rest.TestA2ACrypto" name="test_session_key_sharing" time="0.001" /><testcase classname="tests.unit.test_encryption_at_rest.TestA2ACrypto" name="test_wrong_session_key_fails" time="0.001" /><testcase classname="tests.unit.test_encryption_at_rest.TestEncryptionAtRestIntegration" name="test_encrypted_resonance_not_readable_as_text" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestEncryptionAtRestIntegration" name="test_different_keys_cannot_decrypt" time="0.002" /><testcase classname="tests.unit.test_encryption_at_rest.TestEncryptionAtRestIntegration" name="test_hive_data_unaffected_by_encryption" time="0.002" /><testcase classname="tests.unit.test_error_advice_goal_pickup" name="test_self_heal_goal_type_is_registered" time="0.001" /><testcase classname="tests.unit.test_error_advice_goal_pickup" name="test_self_heal_prompt_reads_config_keys_error_advice_writes" time="0.001" /><testcase classname="tests.unit.test_error_advice_goal_pickup" name="test_error_advice_emits_self_heal_with_correct_keys" time="0.006" /><testcase classname="tests.unit.test_error_advice_goal_pickup" name="test_remediation_failure_logged_at_warning_not_debug" time="0.004" /><testcase classname="tests.unit.test_error_recovery.TestDispatchWithoutRedis" name="test_dispatch_goal_is_callable_without_redis" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestDispatchWithoutRedis" name="test_distributed_coordinator_returns_none" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestDispatchWithoutRedis" name="test_has_hive_peers_returns_false_without_db" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestPromptBuildingResilience" name="test_build_prompt_with_none_product" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestCulturalWisdomResilience" name="test_get_cultural_prompt_never_empty" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestCulturalWisdomResilience" name="test_get_traits_for_role_unknown" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestCulturalWisdomResilience" name="test_guardian_values_never_empty" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestSessionCacheResilience" name="test_get_missing_key_returns_default" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestSessionCacheResilience" name="test_rapid_set_delete_cycle" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestSessionCacheResilience" name="test_setdefault_works" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestThreadlocalResilience" name="test_get_before_set_returns_default" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestThreadlocalResilience" name="test_clear_before_set_no_crash" time="0.001" /><testcase classname="tests.unit.test_error_recovery.TestThreadlocalResilience" name="test_update_token_count_without_set" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_local_to_wamp" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_local_to_wamp_nested" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_roundtrip" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_wamp_to_local" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_wamp_to_local_nested" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestWAMPTopicMapping" name="test_wamp_to_local_wrong_prefix" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_connect_wamp_without_autobahn" time="0.004" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_disconnect_wamp_safe_when_not_connected" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_emit_does_not_publish_to_wamp_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_emit_publishes_to_wamp_when_connected" time="0.002"><failure message="AssertionError: expected call not found.&#10;Expected: _publish_to_wamp('test.event', {'value': 1})&#10;  Actual: _publish_to_wamp('test.event', {'value': 1, 'msg_id': 'cbc211b6f3264213af0308fff7c04477'})">tests/unit/test_eventbus_wamp_tts.py:118: in test_emit_publishes_to_wamp_when_connected
    mock_pub.assert_called_once_with('test.event', {'value': 1})
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/unittest/mock.py:951: in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/unittest/mock.py:939: in assert_called_with
    raise AssertionError(_error_message()) from cause
E   AssertionError: expected call not found.
E   Expected: _publish_to_wamp('test.event', {'value': 1})
E     Actual: _publish_to_wamp('test.event', {'value': 1, 'msg_id': 'cbc211b6f3264213af0308fff7c04477'})</failure></testcase><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_from_wamp_flag_prevents_echo" time="0.002" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_health_includes_wamp_status" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_publish_to_wamp_handles_non_serializable" time="0.002" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_publish_to_wamp_serializes_data" time="0.002" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEventBusWAMPBridge" name="test_wamp_not_connected_by_default" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEmitEventHelper" name="test_emit_event_fires_when_bootstrapped" time="0.001"><failure message="AssertionError: Lists differ: [{'x': 1, 'msg_id': '2f789dd93fae4cdebd107393fb42abe1'}] != [{'x': 1}]&#10;&#10;First differing element 0:&#10;{'x': 1, 'msg_id': '2f789dd93fae4cdebd107393fb42abe1'}&#10;{'x': 1}&#10;&#10;- [{'msg_id': '2f789dd93fae4cdebd107393fb42abe1', 'x': 1}]&#10;+ [{'x': 1}]">tests/unit/test_eventbus_wamp_tts.py:187: in test_emit_event_fires_when_bootstrapped
    self.assertEqual(events, [{'x': 1}])
E   AssertionError: Lists differ: [{'x': 1, 'msg_id': '2f789dd93fae4cdebd107393fb42abe1'}] != [{'x': 1}]
E   
E   First differing element 0:
E   {'x': 1, 'msg_id': '2f789dd93fae4cdebd107393fb42abe1'}
E   {'x': 1}
E   
E   - [{'msg_id': '2f789dd93fae4cdebd107393fb42abe1', 'x': 1}]
E   + [{'x': 1}]</failure></testcase><testcase classname="tests.unit.test_eventbus_wamp_tts.TestEmitEventHelper" name="test_emit_event_noop_when_not_bootstrapped" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_cloud_failure_falls_back_to_pocket_tts" time="0.014" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_makeittalk_http_error_returns_error" time="0.009" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_no_makeittalk_no_env_uses_pocket" time="2.057" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_offline_mode_uses_pocket_tts_directly" time="0.006" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_router_unavailable_falls_back_to_pocket_tts" time="0.002" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestTTSFallbackChain" name="test_router_unavailable_skips_makeittalk" time="0.005" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestMakeItTalkModelRegistry" name="test_makeittalk_not_registered_without_env" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestMakeItTalkModelRegistry" name="test_makeittalk_registered_with_env" time="0.001" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestMakeItTalkModelRegistry" name="test_model_bus_lists_makeittalk_when_configured" time="0.008" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestMakeItTalkModelRegistry" name="test_model_bus_omits_makeittalk_when_not_configured" time="0.008" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestThemeEventEmission" name="test_apply_theme_emits_event" time="0.009" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestThemeEventEmission" name="test_update_custom_emits_event" time="0.005" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestResonanceEventEmission" name="test_analyze_and_tune_emits_event" time="0.004" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestLifecycleEventEmission" name="test_auto_sync_emits_event" time="0.019" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestInferenceEventEmission" name="test_infer_tts_emits_event" time="2.250" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestBootstrapWAMP" name="test_bootstrap_with_cburl_calls_connect_wamp" time="10.132" /><testcase classname="tests.unit.test_eventbus_wamp_tts.TestBootstrapWAMP" name="test_bootstrap_without_cburl_skips_wamp" time="10.085" /><testcase classname="tests.unit.test_evolution_engine.TestDetectAntiPatterns" name="test_bare_except" time="0.003" /><testcase classname="tests.unit.test_evolution_engine.TestDetectAntiPatterns" name="test_eval_usage" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectAntiPatterns" name="test_hardcoded_key" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectAntiPatterns" name="test_hardcoded_port" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectAntiPatterns" name="test_star_import" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectGoodPatterns" name="test_budget_gate_validation" time="0.003" /><testcase classname="tests.unit.test_evolution_engine.TestDetectGoodPatterns" name="test_event_emission" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectGoodPatterns" name="test_manifest_validation" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestDetectGoodPatterns" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestAnalyzeChanges" name="test_core_platform_changes_trigger_self_aware" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestAnalyzeChanges" name="test_empty_changes" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestAnalyzeChanges" name="test_non_core_changes_dont_trigger" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestAnalyzeChanges" name="test_security_change_triggers_self_aware" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestShouldSuggest" name="test_above_threshold_true" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestShouldSuggest" name="test_below_threshold_false" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestShouldSuggest" name="test_empty_list_false" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestSuggestImprovements" name="test_anti_patterns_produce_suggestions" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestSuggestImprovements" name="test_no_issues_produce_empty" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestEmitSuggestions" name="test_events_emitted_with_correct_topics" time="0.002" /><testcase classname="tests.unit.test_evolution_engine.TestEmitSuggestions" name="test_no_crash_without_event_bus" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestMissingTypeHints" name="test_function_with_annotation_clean" time="0.001" /><testcase classname="tests.unit.test_evolution_engine.TestMissingTypeHints" name="test_function_without_return_annotation" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_description_match_scores_higher" time="0.003" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_empty_query_returns_empty" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_mobile_returns_mobile_expert" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_python_returns_python_expert" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_returns_tuples" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_short_words_ignored" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_sorted_descending" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestScoreMatch" name="test_score_match_unrelated_query_low_scores" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_capabilities_is_list" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_handles_exception_gracefully" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_prompt_block_format" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_respects_min_score" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_returns_dict_on_match" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_returns_none_for_empty_input" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestMatchExpertForContext" name="test_match_returns_none_for_unrelated_input" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestCLIImports" name="test_expert_registry_import" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestCLIImports" name="test_get_expert_info_from_init" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestCLIImports" name="test_match_expert_in_all" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestCLIImports" name="test_recommend_experts_from_init" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestConsultExpertTool" name="test_consult_expert_no_match" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestConsultExpertTool" name="test_consult_expert_returns_guidance" time="0.002" /><testcase classname="tests.unit.test_expert_dispatch.TestRegistryStats" name="test_96_agents_loaded" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestRegistryStats" name="test_all_agents_have_capabilities" time="0.001" /><testcase classname="tests.unit.test_expert_dispatch.TestRegistryStats" name="test_score_match_coexists_with_search" time="0.002" /><testcase classname="tests.unit.test_exploration_arm.TestStrategySelection" name="test_flag_off_always_exploit" time="0.003" /><testcase classname="tests.unit.test_exploration_arm.TestStrategySelection" name="test_flag_on_epsilon_half_mix" time="0.007" /><testcase classname="tests.unit.test_exploration_arm.TestStrategySelection" name="test_flag_on_epsilon_one_always_explore" time="0.002" /><testcase classname="tests.unit.test_exploration_arm.TestStrategySelection" name="test_flag_on_epsilon_zero_always_exploit" time="0.002" /><testcase classname="tests.unit.test_exploration_arm.TestStrategySelection" name="test_invalid_epsilon_falls_back_to_default" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestWeightedSample" name="test_empty_returns_none" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestWeightedSample" name="test_heavy_weight_is_preferred" time="0.011" /><testcase classname="tests.unit.test_exploration_arm.TestWeightedSample" name="test_length_mismatch_falls_back_to_uniform" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestWeightedSample" name="test_no_weights_uniform" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestWeightedSample" name="test_zero_weight_falls_back_to_uniform" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestPickExplorationCandidate" name="test_falls_back_to_caller_pool" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestPickExplorationCandidate" name="test_none_when_no_priors_and_no_fallback" time="0.001" /><testcase classname="tests.unit.test_exploration_arm.TestPickExplorationCandidate" name="test_uses_attribution_when_present" time="0.013" /><testcase classname="tests.unit.test_exploration_arm.TestAttributionPriorResilience" name="test_bad_snapshot_shape_returns_empty" time="0.002" /><testcase classname="tests.unit.test_exploration_arm.TestAttributionPriorResilience" name="test_unavailable_returns_empty" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestCleanCode" name="test_empty_source_passes" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestCleanCode" name="test_math_stdlib_passes" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestCleanCode" name="test_simple_extension_passes" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedCalls" name="test_eval_blocked" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedCalls" name="test_exec_blocked" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedCalls" name="test_import_builtin_blocked" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedImports" name="test_from_os_system" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedImports" name="test_from_subprocess" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedImports" name="test_import_ctypes" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedImports" name="test_import_subprocess" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedAttributes" name="test_os_system_call" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedAttributes" name="test_shutil_rmtree" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestBlockedAttributes" name="test_subprocess_run" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestNestedBlocking" name="test_blocked_in_lambda" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestNestedBlocking" name="test_blocked_inside_class" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestNestedBlocking" name="test_blocked_inside_function" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestEdgeCases" name="test_binary_file" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestEdgeCases" name="test_file_not_found" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestEdgeCases" name="test_syntax_error" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestSourceHash" name="test_compute_hash" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestSourceHash" name="test_different_source_different_hash" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestPermissionExtraction" name="test_finds_permissions" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestPermissionExtraction" name="test_no_permissions" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestSignatureVerification" name="test_invalid_signature_fails" time="0.002" /><testcase classname="tests.unit.test_extension_sandbox.TestSignatureVerification" name="test_missing_key_returns_false" time="0.001" /><testcase classname="tests.unit.test_extension_sandbox.TestSignatureVerification" name="test_valid_signature_passes" time="0.002" /><testcase classname="tests.unit.test_extension_sandbox.TestExtensionRegistryIntegration" name="test_blocked_module_not_loaded" time="0.004" /><testcase classname="tests.unit.test_extension_sandbox.TestExtensionRegistryIntegration" name="test_clean_module_loads" time="0.004" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_equal_interactions_equal_weight" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_floor_weight_ensures_every_node_counts" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_many_peers_all_contribute" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_no_deltas_returns_none" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_single_node_aggregates" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestEqualWeighting" name="test_weight_by_interactions_not_tier" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_aggregate_empty_returns_cached" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_aggregate_recipes_builds_index" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_aggregate_recipes_equal_discoverability" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_get_recipe_stats" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_receive_invalid_delta_ignored" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestRecipeChannel" name="test_receive_recipe_delta" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestEventCounters" name="test_event_counters_thread_safe" time="0.003" /><testcase classname="tests.unit.test_federated_aggregator.TestEventCounters" name="test_get_event_counters_returns_and_resets" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestEventCounters" name="test_on_event_increments_counter" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestEventBusSubscription" name="test_subscribe_called_on_init" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestEventBusSubscription" name="test_subscribe_noop_when_no_registry" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestEventBusSubscription" name="test_subscribe_wires_four_topics" time="0.004" /><testcase classname="tests.unit.test_federated_aggregator.TestApplyAggregatedEmitsEvent" name="test_apply_emits_federation_event" time="0.003" /><testcase classname="tests.unit.test_federated_aggregator.TestApplyAggregatedEmitsEvent" name="test_apply_stores_aggregated" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_accepted_delta_stored" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_invalid_payload_rejected" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_missing_node_id_rejected" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_stale_delta_rejected" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_valid_delta_accepted" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestReceivePeerDelta" name="test_wrong_version_rejected" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestConvergence" name="test_convergence_history_bounded" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestConvergence" name="test_divergent_peers_low_convergence" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestConvergence" name="test_identical_peers_full_convergence" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestConvergence" name="test_single_peer_full_convergence" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestGetStats" name="test_event_counters_in_extract" time="0.009" /><testcase classname="tests.unit.test_federated_aggregator.TestGetStats" name="test_stats_includes_all_channels" time="0.002" /><testcase classname="tests.unit.test_federated_aggregator.TestGetStats" name="test_stats_includes_recipe_channel" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestWeightedAvgDict" name="test_empty_dicts" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestWeightedAvgDict" name="test_equal_weights" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestWeightedAvgDict" name="test_missing_keys_handled" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestWeightedAvgDict" name="test_non_numeric_ignored" time="0.001" /><testcase classname="tests.unit.test_federated_aggregator.TestWeightedAvgDict" name="test_unequal_weights" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestDeltaStructure" name="test_delta_contains_only_stats" time="0.081" /><testcase classname="tests.unit.test_federation_privacy.TestDeltaStructure" name="test_no_user_text_in_delta" time="0.081" /><testcase classname="tests.unit.test_federation_privacy.TestBroadcastPrivacyGate" name="test_scope_guard_called_on_broadcast" time="0.080" /><testcase classname="tests.unit.test_federation_privacy.TestBroadcastPrivacyGate" name="test_broadcast_blocked_on_pii" time="0.002" /><testcase classname="tests.unit.test_federation_privacy.TestNodeBootstrap" name="test_bootstrap_returns_package" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestNodeBootstrap" name="test_bootstrap_no_raw_user_data" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestNodeBootstrap" name="test_bootstrap_runs_scope_guard" time="0.002" /><testcase classname="tests.unit.test_federation_privacy.TestNodeBootstrap" name="test_bootstrap_blocked_on_violation" time="0.002" /><testcase classname="tests.unit.test_federation_privacy.TestConsentGate" name="test_consent_check_exists" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestConsentGate" name="test_external_target_check_exists" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestWeightExchangePath" name="test_delta_has_no_weight_tensors" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestWeightExchangePath" name="test_gradient_protocol_is_phase2_stub" time="0.002" /><testcase classname="tests.unit.test_federation_privacy.TestWeightExchangePath" name="test_apply_federation_update_is_metrics_only" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestEdgePrivacyDefaults" name="test_default_scope_is_edge_only" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestEdgePrivacyDefaults" name="test_edge_data_blocked_from_federation" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestEdgePrivacyDefaults" name="test_federated_data_allowed_to_federated" time="0.001" /><testcase classname="tests.unit.test_federation_privacy.TestEdgePrivacyDefaults" name="test_user_devices_blocked_from_federation" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_initial_state" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_receive_valid_delta" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_receive_version_mismatch" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_receive_stale_delta" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_receive_missing_node_id" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_aggregate_single_delta" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_aggregate_weighted_multiple" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_convergence_tracking" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_apply_aggregated" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestFederatedAggregator" name="test_tick_cycle" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_builtin_adapters_registered" time="0.012" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_register_benchmark" time="0.012" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_capture_snapshot_fast_tier" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_is_upgrade_safe_no_baseline" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_is_upgrade_safe_regression_detected" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_is_upgrade_safe_passes" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_get_latest_results" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestBenchmarkRegistry" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_initial_idle" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_start_upgrade" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_cannot_start_while_active" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_rollback" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_advance_build_stage" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_advance_build_failure" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_state_persistence" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_canary_health_inactive" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeOrchestrator" name="test_check_for_new_version_no_change" time="0.076" /><testcase classname="tests.unit.test_federation_upgrade.TestFederationTools" name="test_check_convergence" time="0.003" /><testcase classname="tests.unit.test_federation_upgrade.TestFederationTools" name="test_trigger_sync" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeTools" name="test_check_status" time="0.004" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeTools" name="test_rollback" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestUpgradeTools" name="test_list_benchmarks" time="0.012" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_llama_cpp_port_env_var" time="0.002" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_bridge_lazy_retry" time="0.008" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_bridge_configurable_timeouts" time="0.010" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_bridge_extract_learning_delta" time="0.008" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_bridge_apply_federation_update" time="0.009" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_brute_force_protection" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestProductionFixes" name="test_world_model_health_endpoint_exists" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestGoalSeeding" name="test_federation_bootstrap_goal_exists" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestGoalSeeding" name="test_upgrade_bootstrap_goal_exists" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestGoalSeeding" name="test_learning_stall_loophole_exists" time="0.001" /><testcase classname="tests.unit.test_federation_upgrade.TestGoalSeeding" name="test_goal_type_registration" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_higher_upvotes_higher_score" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_newer_post_higher_score" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_downvotes_reduce_score" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_minimum_score_is_1" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_zero_votes_valid" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_very_old_post_low_score" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestHotScore" name="test_decay_rate" time="0.001" /><testcase classname="tests.unit.test_feed_engine.TestGlobalFeed" name="test_returns_posts_and_total" time="0.007" /><testcase classname="tests.unit.test_feed_engine.TestGlobalFeed" name="test_sort_new_uses_created_at" time="0.006" /><testcase classname="tests.unit.test_feed_engine.TestGlobalFeed" name="test_sort_top_uses_score" time="0.007" /><testcase classname="tests.unit.test_feed_engine.TestGlobalFeed" name="test_sort_discussed_uses_comment_count" time="0.007" /><testcase classname="tests.unit.test_feed_engine.TestGlobalFeed" name="test_limit_and_offset_applied" time="0.006" /><testcase classname="tests.unit.test_feed_engine.TestTrendingFeed" name="test_returns_posts_and_total" time="0.006" /><testcase classname="tests.unit.test_feed_engine.TestTrendingFeed" name="test_24h_cutoff_applied" time="0.008" /><testcase classname="tests.unit.test_feed_engine.TestPersonalizedFeed" name="test_empty_follows_falls_back_to_trending" time="0.005" /><testcase classname="tests.unit.test_file_manager.TestFileStatus" name="test_all_statuses_defined" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestStorageBackend" name="test_all_backends_defined" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileInfo" name="test_file_info_creation" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileInfo" name="test_file_info_to_dict" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileInfo" name="test_file_info_defaults" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileInfo" name="test_file_info_is_expired" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileInfo" name="test_file_info_get_extension" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestDownloadResult" name="test_download_result_success" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestDownloadResult" name="test_download_result_failure" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestDownloadResult" name="test_download_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestUploadResult" name="test_upload_result_success" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestUploadResult" name="test_upload_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_manager_initialization" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_manager_initialization_from_string" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_channel_max_sizes" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_channel_allowed_extensions" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_mime_type" time="0.007" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_filename_from_url" time="0.003" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_generate_file_id" time="0.004" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_validate_for_channel" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_format_size" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_channel_limits" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_temp_path" time="0.004" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_temp_path_with_extension" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_storage_info" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_download_basic" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_download_with_destination" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_upload_basic" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_upload_validates_channel" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_upload_validates_extension" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_info" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_get_info_from_path" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_delete" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_copy" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_move" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_cleanup_temp" time="0.003" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_list_files" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManager" name="test_list_files_with_channel_filter" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManagerBackends" name="test_local_backend" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManagerBackends" name="test_s3_backend" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManagerBackends" name="test_gcs_backend" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManagerBackends" name="test_azure_backend" time="0.002" /><testcase classname="tests.unit.test_file_manager.TestFileManagerIntegration" name="test_full_upload_download_workflow" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManagerIntegration" name="test_channel_specific_validation" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_manager.TestFileManagerIntegration" name="test_file_lifecycle" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileChange" name="test_file_change_creation" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestFileChange" name="test_file_change_to_dict" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestFileChange" name="test_file_change_from_dict" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestSyncResult" name="test_sync_result_creation" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestSyncResult" name="test_sync_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestWatchConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestWatchConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_creation" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_start_stop" time="0.502" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_detects_new_file" time="0.304" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_detects_modified_file" time="0.303" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_detects_deleted_file" time="0.303" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_respects_patterns" time="0.304" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_watcher_ignores_patterns" time="0.304" /><testcase classname="tests.unit.test_file_tracker.TestFileWatcher" name="test_get_watched_files" time="0.503" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_tracker_creation" time="0.013" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_watch_unwatch" time="0.612" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_watch_with_patterns" time="0.511" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_sync_empty_directory" time="0.009"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_sync_with_files" time="0.010"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_sync_detects_changes" time="0.009"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_sync_detects_deletions" time="0.009"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_get_changes_since" time="0.011"><failure message="RuntimeError: There is no current event loop in thread 'MainThread'.">tests/unit/test_file_tracker.py:486: in test_get_changes_since
    asyncio.get_event_loop().run_until_complete(tracker.sync(watch_dir))
    ^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/asyncio/events.py:681: in get_event_loop
    raise RuntimeError('There is no current event loop in thread %r.'
E   RuntimeError: There is no current event loop in thread 'MainThread'.</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_get_tracked_files" time="0.012"><failure message="RuntimeError: There is no current event loop in thread 'MainThread'.">tests/unit/test_file_tracker.py:504: in test_get_tracked_files
    asyncio.get_event_loop().run_until_complete(tracker.sync(watch_dir))
    ^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/asyncio/events.py:681: in get_event_loop
    raise RuntimeError('There is no current event loop in thread %r.'
E   RuntimeError: There is no current event loop in thread 'MainThread'.</failure></testcase><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_change_callbacks" time="1.014" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_cleanup_old_changes" time="0.010" /><testcase classname="tests.unit.test_file_tracker.TestFileTracker" name="test_context_manager" time="0.010" /><testcase classname="tests.unit.test_file_tracker.TestNormalizePath" name="test_normalize_windows_path" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestNormalizePath" name="test_normalize_unix_path" time="0.001" /><testcase classname="tests.unit.test_file_tracker.TestNormalizePath" name="test_normalize_relative_path" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestPushCommand" name="test_push_command_basic" time="0.099" /><testcase classname="tests.unit.test_fleet_command.TestPushCommand" name="test_push_command_invalid_type" time="0.003" /><testcase classname="tests.unit.test_fleet_command.TestPushCommand" name="test_push_command_empty_node_id" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestPushCommand" name="test_push_all_command_types" time="0.130" /><testcase classname="tests.unit.test_fleet_command.TestPushBroadcast" name="test_broadcast_to_tier" time="0.037" /><testcase classname="tests.unit.test_fleet_command.TestPushBroadcast" name="test_broadcast_invalid_type" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestGetAndAckCommands" name="test_get_pending_and_ack" time="0.034" /><testcase classname="tests.unit.test_fleet_command.TestGetAndAckCommands" name="test_ack_command_failed" time="0.011" /><testcase classname="tests.unit.test_fleet_command.TestGetAndAckCommands" name="test_ack_nonexistent_command" time="0.002" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_config_update" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_config_update_blocks_master_key" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_config_update_blocks_guardrail" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_config_update_empty" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_halt" time="0.002" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_restart" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_sensor_config" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_goal_assign" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_goal_assign_missing_fields" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_firmware_update" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_firmware_update_missing_fields" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_via_service" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestExecuteCommand" name="test_execute_unknown_command" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestValidation" name="test_valid_command_types_is_frozen" time="0.001" /><testcase classname="tests.unit.test_fleet_command.TestValidation" name="test_all_expected_types_present" time="0.001" /><testcase classname="tests.unit.test_g10_ingestion_fallback" name="test_fallback_behaviour_via_direct_simulation" time="0.001" /><testcase classname="tests.unit.test_g10_ingestion_fallback" name="test_payload_preview_truncated_to_100_chars" time="0.001" /><testcase classname="tests.unit.test_gaia_dataset" name="test_load_returns_empty_when_nothing_available" time="0.002" /><testcase classname="tests.unit.test_gaia_dataset" name="test_load_reads_cache_when_present" time="0.002" /><testcase classname="tests.unit.test_gaia_dataset" name="test_load_respects_limit" time="0.002" /><testcase classname="tests.unit.test_gaia_dataset" name="test_save_cache_roundtrip" time="0.002" /><testcase classname="tests.unit.test_gaia_dataset" name="test_fetch_problems_in_prover_uses_gaia_loader" time="0.002" /><testcase classname="tests.unit.test_gaia_dataset" name="test_fetch_problems_falls_back_to_synthetic" time="0.001" /><testcase classname="tests.unit.test_gaia_dataset" name="test_gaia_in_known_baselines" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDifficultyMapping" name="test_easy_is_harder_than_medium" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDifficultyMapping" name="test_medium_is_harder_than_hard" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDifficultyMapping" name="test_error_rate_defaults_to_medium_on_unknown" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestTriviaAI" name="test_hard_picks_correct_answer" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestTriviaAI" name="test_easy_picks_wrong_sometimes" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestTriviaAI" name="test_move_shape_matches_trivia_apply_move" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestTriviaAI" name="test_raises_when_no_active_question" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestOpenTDBTriviaAI" name="test_opentdb_and_trivia_are_same_class" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestOpenTDBTriviaAI" name="test_hard_returns_correct_answer" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestOpenTDBTriviaAI" name="test_wrong_answer_comes_from_options" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestOpenTDBTriviaAI" name="test_single_option_question_never_errors" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestOpenTDBTriviaAI" name="test_empty_options_never_errors" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordScrambleAI" name="test_hard_returns_correct_word" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordScrambleAI" name="test_move_includes_time_ms_for_score_bonus" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordScrambleAI" name="test_hard_response_faster_than_easy" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordScrambleAI" name="test_raises_when_round_already_solved" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordSearchAI" name="test_hard_picks_unfound_words_almost_always" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordSearchAI" name="test_move_word_is_always_a_string" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestWordSearchAI" name="test_raises_when_all_words_found" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestSudokuAI" name="test_fills_an_empty_cell" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestSudokuAI" name="test_hard_fills_with_correct_value" time="0.002" /><testcase classname="tests.unit.test_game_ai.TestSudokuAI" name="test_move_shape_matches_sudoku_apply_move" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestSudokuAI" name="test_raises_when_puzzle_complete" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestSudokuAI" name="test_raises_when_state_missing" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_get_game_ai_resolves_direct_engines" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_get_game_ai_returns_none_for_board_and_phaser" time="0.006" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_get_game_ai_returns_none_for_unknown" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_is_client_authoritative_for_boardgame" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_is_client_authoritative_for_phaser" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistry" name="test_is_client_authoritative_false_for_trivia" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_rejects_boardgame_with_client_side_hint" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_rejects_phaser_with_client_side_hint" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_raises_for_unknown_engine" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_generates_trivia_move_end_to_end" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_default_difficulty_is_medium" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestDispatcher" name="test_client_authoritative_set_contains_expected" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestPurity" name="test_trivia_does_not_mutate_state" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestPurity" name="test_word_scramble_does_not_mutate_state" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestPurity" name="test_word_search_does_not_mutate_state" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestPurity" name="test_sudoku_does_not_mutate_state" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestPurity" name="test_dispatcher_does_not_mutate_state" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestRegistryAliases" name="test_all_trivia_aliases_share_one_instance" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestCatalogResolution" name="test_catalog_id_resolves_to_registered_ai" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestCatalogResolution" name="test_catalog_id_for_boardgame_is_client_authoritative" time="0.001" /><testcase classname="tests.unit.test_game_ai.TestCatalogResolution" name="test_unknown_catalog_id_returns_none" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_all_have_slug" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_no_duplicate_slugs" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_all_have_valid_criteria_json" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_all_have_name_and_description" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_all_have_category" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_all_have_rarity" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_at_least_one_per_rarity" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_rewards_are_non_negative" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_each_has_at_least_one_reward" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeedAchievements" name="test_minimum_achievement_count" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestGamificationServiceSeed" name="test_seed_returns_count" time="0.003" /><testcase classname="tests.unit.test_gamification_service.TestUnlockAchievement" name="test_returns_none_for_missing_achievement" time="0.002" /><testcase classname="tests.unit.test_gamification_service.TestUnlockAchievement" name="test_returns_none_if_already_unlocked" time="0.003" /><testcase classname="tests.unit.test_gamification_service.TestGetAchievements" name="test_get_all_returns_list" time="0.005" /><testcase classname="tests.unit.test_gamification_service.TestGetAchievements" name="test_get_user_achievements_returns_list" time="0.004" /><testcase classname="tests.unit.test_gamification_service.TestAchievementCriteriaTypes" name="test_all_criteria_types_are_known" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestAchievementCriteriaTypes" name="test_thresholds_are_positive" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestChallengesMethods" name="test_get_active_challenges_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestChallengesMethods" name="test_get_challenge_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestChallengesMethods" name="test_update_challenge_progress_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestChallengesMethods" name="test_claim_challenge_reward_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeasonMethods" name="test_get_current_season_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeasonMethods" name="test_get_season_leaderboard_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeasonMethods" name="test_get_season_achievements_callable" time="0.001" /><testcase classname="tests.unit.test_gamification_service.TestSeasonMethods" name="test_toggle_showcase_callable" time="0.001" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_builtin_types_registered" time="0.013" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_get_prompt_builder_unknown" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_get_tool_tags_unknown" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_register_custom_type" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_register_no_tool_tags" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalTypeRegistry" name="test_register_overwrites" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_guardrail_blocks" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_guardrails_import_error" time="0.007" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_happy_path" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_rate_limited" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_sets_active_status" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_unknown_type" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerCreate" name="test_create_with_config" time="0.009" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerRead" name="test_get_goal_found" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerRead" name="test_get_goal_not_found" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerRead" name="test_list_goals_empty" time="0.007" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerRead" name="test_list_goals_with_filters" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_fields" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_ignores_unknown_fields" time="0.005"><failure message="AttributeError: 'FakeGoal' object has no attribute 'goal_type'">tests/unit/test_goal_manager.py:414: in test_update_goal_ignores_unknown_fields
    result = self.gm.GoalManager.update_goal(
integrations/agent_engine/goal_manager.py:328: in update_goal
    _emit_goal_changed(goal_id, 'updated', goal.goal_type)
                                           ^^^^^^^^^^^^^^
E   AttributeError: 'FakeGoal' object has no attribute 'goal_type'</failure></testcase><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_non_persona_bypasses_consensus" time="0.006"><failure message="AttributeError: 'FakeGoal' object has no attribute 'goal_type'">tests/unit/test_goal_manager.py:484: in test_update_goal_non_persona_bypasses_consensus
    result = self.gm.GoalManager.update_goal(
integrations/agent_engine/goal_manager.py:328: in update_goal
    _emit_goal_changed(goal_id, 'updated', goal.goal_type)
                                           ^^^^^^^^^^^^^^
E   AttributeError: 'FakeGoal' object has no attribute 'goal_type'</failure></testcase><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_not_found" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_persona_rejected_by_consensus" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_skip_consensus_flag" time="0.006"><failure message="AttributeError: 'FakeGoal' object has no attribute 'goal_type'">tests/unit/test_goal_manager.py:502: in test_update_goal_skip_consensus_flag
    result = self.gm.GoalManager.update_goal(
integrations/agent_engine/goal_manager.py:328: in update_goal
    _emit_goal_changed(goal_id, 'updated', goal.goal_type)
                                           ^^^^^^^^^^^^^^
E   AttributeError: 'FakeGoal' object has no attribute 'goal_type'</failure></testcase><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_status_happy" time="0.007" /><testcase classname="tests.unit.test_goal_manager.TestGoalManagerUpdate" name="test_update_goal_status_not_found" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestProductManager" name="test_create_product_happy" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestProductManager" name="test_delete_product_archives" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestProductManager" name="test_delete_product_not_found" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestProductManager" name="test_get_product_not_found" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestProductManager" name="test_update_product_keywords" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestBuildPrompt" name="test_build_prompt_guardrails_unavailable_proceeds_in_warn_mode" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestBuildPrompt" name="test_build_prompt_sanitizes_title" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestBuildPrompt" name="test_build_prompt_unknown_type_fallback" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestBuildPrompt" name="test_build_prompt_with_registered_type" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_control_chars_stripped" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_empty_input" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_injection_marker_logged" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_none_returns_empty" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_normal_text_passes_through" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_truncation" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestSanitization" name="test_unicode_preserved" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_autoresearch_returns_none_without_config" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_autoresearch_with_full_config" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_coding_prompt_has_trueflow" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_marketing_prompt_contains_platform_identity" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_news_prompt_has_curation_rules" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_robot_prompt_fallback" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_self_heal_prompt_has_exception_info" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_trading_prompt_live_mode" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBuiltinPromptBuilders" name="test_trading_prompt_paper_mode_default" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestCodingGoalTypes" name="test_contains_expected_types" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestCodingGoalTypes" name="test_is_frozenset" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_build_prompt_empty_title_and_desc" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_sanitize_all_injection_markers" time="0.020" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_sanitize_exactly_max_length" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_sanitize_one_over_max_length" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_sanitize_single_char" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestBoundaryValues" name="test_unicode_goal_title_roundtrip" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestThreadSafety" name="test_concurrent_registry_reads" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestThreadSafety" name="test_concurrent_sanitization" time="0.014" /><testcase classname="tests.unit.test_goal_manager.TestImportSpeed" name="test_import_under_2_seconds" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_create_goal_error_shape" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_create_goal_success_shape" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_get_goal_error_shape" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_get_goal_success_shape" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_list_goals_returns_list" time="0.006" /><testcase classname="tests.unit.test_goal_manager.TestContracts" name="test_prompt_builders_return_string_or_none" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestDBFailures" name="test_create_goal_db_flush_raises" time="0.008" /><testcase classname="tests.unit.test_goal_manager.TestDBFailures" name="test_update_status_db_flush_raises" time="0.005" /><testcase classname="tests.unit.test_goal_manager.TestP2PPromptBuilders" name="test_all_p2p_types_have_escrow" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestP2PPromptBuilders" name="test_p2p_grocery_has_mcgroce" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestP2PPromptBuilders" name="test_p2p_health_has_safety_rules" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestP2PPromptBuilders" name="test_p2p_marketplace_has_preamble" time="0.004" /><testcase classname="tests.unit.test_goal_manager.TestP2PPromptBuilders" name="test_p2p_rideshare_has_ridesnap" time="0.004" /><testcase classname="tests.unit.test_goal_rate_limit.TestGoalRateLimit" name="test_different_users_separate_limits" time="0.003" /><testcase classname="tests.unit.test_goal_rate_limit.TestGoalRateLimit" name="test_goal_create_limit_exists" time="0.001" /><testcase classname="tests.unit.test_goal_rate_limit.TestGoalRateLimit" name="test_over_limit_blocked" time="0.002" /><testcase classname="tests.unit.test_goal_rate_limit.TestGoalRateLimit" name="test_under_limit_allowed" time="0.003" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatAdapter" name="test_adapter_creation_webhook" time="0.010" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatAdapter" name="test_message_handler_registration" time="0.009" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatWebhook" name="test_handle_added_to_space" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatWebhook" name="test_handle_removed_from_space" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatWebhook" name="test_handle_message_event" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatWebhook" name="test_handle_card_clicked" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatMessageConversion" name="test_direct_message_conversion" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatMessageConversion" name="test_room_message_conversion" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatMessageConversion" name="test_message_with_thread" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatMessageConversion" name="test_message_with_mention" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatCardBuilding" name="test_build_card_with_text" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatCardBuilding" name="test_build_card_with_url_button" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatCardBuilding" name="test_build_card_with_callback_button" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatCardBuilding" name="test_build_card_v2" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatSending" name="test_send_via_webhook" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatSending" name="test_send_with_buttons" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatSending" name="test_send_with_thread" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatSlashCommands" name="test_register_slash_command" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatSlashCommands" name="test_slash_command_execution" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatFactory" name="test_factory_with_webhook" time="0.001" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatFactory" name="test_factory_with_env_vars" time="0.003" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatFactory" name="test_factory_missing_config" time="0.004" /><testcase classname="tests.unit.test_google_chat_adapter.TestGoogleChatAPIMode" name="test_api_mode_detection" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_three_profiles_exist" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_full_profile_values" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_constrained_profile_values" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_minimal_profile_values" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_profiles_have_required_keys" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_intervals_decrease_with_tier" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestBandwidthProfiles" name="test_fanout_decreases_with_tier" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_embedded_gets_minimal" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_observer_gets_constrained" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_lite_gets_constrained" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_standard_gets_full" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_compute_host_gets_full" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestTierBandwidthMapping" name="test_flat_gets_full" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipProtocolBandwidth" name="test_env_override_bandwidth" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipProtocolBandwidth" name="test_env_override_constrained" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipProtocolBandwidth" name="test_env_override_full" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipProtocolBandwidth" name="test_individual_env_overrides_profile" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipProtocolBandwidth" name="test_unknown_profile_falls_back_to_full" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestCompactPayload" name="test_compact_fields_defined" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestCompactPayload" name="test_gossip_self_info_full" time="0.096" /><testcase classname="tests.unit.test_gossip_bandwidth.TestCompactPayload" name="test_gossip_self_info_compact" time="0.082" /><testcase classname="tests.unit.test_gossip_bandwidth.TestCompactPayload" name="test_compact_smaller_than_full" time="0.168" /><testcase classname="tests.unit.test_gossip_bandwidth.TestSerialization" name="test_serialize_json_fallback" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestSerialization" name="test_deserialize_json_fallback" time="0.004" /><testcase classname="tests.unit.test_gossip_bandwidth.TestSerialization" name="test_serialize_deserialize_roundtrip" time="0.008" /><testcase classname="tests.unit.test_gossip_bandwidth.TestSerialization" name="test_msgpack_if_available" time="0.004"><skipped type="pytest.skip" message="msgpack not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_gossip_bandwidth.py:263: msgpack not installed</skipped></testcase><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipPeerListCompact" name="test_full_peer_list" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestGossipPeerListCompact" name="test_compact_peer_list" time="0.003" /><testcase classname="tests.unit.test_gossip_bandwidth.TestDeadThresholds" name="test_full_thresholds" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestDeadThresholds" name="test_constrained_thresholds" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestDeadThresholds" name="test_minimal_thresholds" time="0.001" /><testcase classname="tests.unit.test_gossip_bandwidth.TestDeadThresholds" name="test_thresholds_scale_with_interval" time="0.001" /><testcase classname="tests.unit.test_gossip_security.TestSybilProtection" name="test_rejects_when_ip_at_default_limit" time="0.003" /><testcase classname="tests.unit.test_gossip_security.TestSybilProtection" name="test_accepts_when_below_limit" time="0.006" /><testcase classname="tests.unit.test_gossip_security.TestSybilProtection" name="test_custom_limit_via_env" time="0.009" /><testcase classname="tests.unit.test_gossip_security.TestSybilProtection" name="test_higher_limit_via_env_allows_more" time="0.013" /><testcase classname="tests.unit.test_gossip_security.TestSybilProtection" name="test_sybil_limit_at_boundary" time="0.005" /><testcase classname="tests.unit.test_gossip_security.TestTamperedPayload" name="test_tampered_url_rejected" time="0.004" /><testcase classname="tests.unit.test_gossip_security.TestTamperedPayload" name="test_tampered_node_id_rejected" time="0.005" /><testcase classname="tests.unit.test_gossip_security.TestTamperedPayload" name="test_tampered_extra_field_rejected" time="0.004" /><testcase classname="tests.unit.test_gossip_security.TestTamperedPayload" name="test_wrong_key_rejected" time="0.005" /><testcase classname="tests.unit.test_gossip_security.TestSelfInfoSigning" name="test_self_info_includes_signature" time="0.083" /><testcase classname="tests.unit.test_gossip_security.TestSelfInfoSigning" name="test_self_info_signature_is_verifiable_on_signed_fields" time="0.083" /><testcase classname="tests.unit.test_gossip_security.TestSelfInfoSigning" name="test_gossip_self_info_compact_still_signs" time="0.083" /><testcase classname="tests.unit.test_gossip_security.TestHardModeUnsignedWithSybil" name="test_unsigned_rejected_in_hard_mode_even_below_sybil_limit" time="0.004" /><testcase classname="tests.unit.test_gossip_security.TestHardModeUnsignedWithSybil" name="test_signed_accepted_in_hard_mode" time="0.012" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxSynthesize" name="test_empty_text_returns_error" time="0.003" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxSynthesize" name="test_whitespace_returns_error" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxSynthesize" name="test_registration" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxSynthesize" name="test_tool_worker_is_present" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxMLSynthesize" name="test_empty_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxMLSynthesize" name="test_tool_worker_variant_is_ml" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestChatterboxUnload" name="test_unload_is_idempotent" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestCosyVoiceSynthesize" name="test_empty_text_returns_error" time="0.002" /><testcase classname="tests.unit.test_gpu_tts_tools.TestCosyVoiceSynthesize" name="test_registration" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestCosyVoiceSynthesize" name="test_tool_worker_is_present" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestCosyVoiceUnload" name="test_unload_is_idempotent" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestIndicParlerSynthesize" name="test_empty_text_returns_error" time="0.003" /><testcase classname="tests.unit.test_gpu_tts_tools.TestIndicParlerSynthesize" name="test_registration" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestIndicParlerSynthesize" name="test_tool_worker_is_present" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestIndicParlerUnload" name="test_unload_is_idempotent" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestF5Synthesize" name="test_empty_text_returns_error" time="0.002" /><testcase classname="tests.unit.test_gpu_tts_tools.TestF5Synthesize" name="test_registration" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestF5Synthesize" name="test_tool_worker_is_present" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestF5Unload" name="test_unload_is_idempotent" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestKokoroSynthesize" name="test_empty_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestKokoroSynthesize" name="test_registration" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestKokoroSynthesize" name="test_tool_worker_is_present" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestKokoroUnload" name="test_unload_is_idempotent" time="0.003" /><testcase classname="tests.unit.test_gpu_tts_tools.TestToolConsistency" name="test_all_have_unload" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestToolConsistency" name="test_all_return_json_strings_on_empty_input" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestToolConsistency" name="test_all_tool_modules_are_their_own_worker_entry" time="0.001" /><testcase classname="tests.unit.test_gpu_tts_tools.TestToolConsistency" name="test_none_alive_before_first_call" time="0.001" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft01_spawn_and_echo" time="1.940" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft02_multiple_sequential_calls" time="1.889" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft03_clean_shutdown" time="1.924" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft04_handler_exception_returns_error" time="1.906" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft05_worker_recovers_after_handler_error" time="1.940" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft06_uncatchable_crash_raises_workercrash" time="1.561" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft07_crash_detection_is_fast" time="1.601" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft08_respawn_after_crash" time="3.542" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft09_call_before_start_raises_notready" time="0.001" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft01_request_timeout_kills_stuck_worker" time="1.961" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft02_startup_timeout_on_missing_module" time="0.530" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft03_concurrent_calls_serialize" time="1.942" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft04_idle_timer_stops_worker" time="3.558" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft05_idle_timer_reset_on_each_call" time="3.584" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft10_toolworker_call_crash_returns_transient_error" time="1.646" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft11_toolworker_call_recovers_after_crash" time="3.569" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft12_stdout_noise_during_load_does_not_break_protocol" time="1.945" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft13_stdout_noise_during_handler_does_not_break_protocol" time="2.013" /><testcase classname="tests.unit.test_gpu_worker" name="test_nft06_real_request_timeout_kills_stuck_worker" time="4.561" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft14_worker_args_forwarded_to_subprocess" time="1.974" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft16_observer_fires_on_spawn_crash_stop" time="3.619" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft19_try_free_vram_stops_lru_workers" time="5.812"><skipped type="pytest.skip" message="only 0/2 evictable workers alive — runner too slow or echo worker flaked.  Eviction logic itself is covered by direct unit tests.">/home/runner/work/HARTOS/HARTOS/tests/unit/test_gpu_worker.py:557: only 0/2 evictable workers alive — runner too slow or echo worker flaked.  Eviction logic itself is covered by direct unit tests.</skipped></testcase><testcase classname="tests.unit.test_gpu_worker" name="test_ft18_set_idle_timeout_updates_threshold" time="5.878" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft17_observer_remove" time="3.528" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft15_idle_timer_stops_after_final_call_then_wait" time="3.095" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft20_pythonpath_propagates_parent_syspath" time="0.009" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft21_pythonpath_preserves_caller_value" time="0.006" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft22_toolworker_python_exe_forwarded_to_gpu_worker" time="0.003" /><testcase classname="tests.unit.test_gpu_worker" name="test_ft23_pythonpath_propagates_library_zip" time="0.006" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_wav_bytes_writes_verbatim" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_bytesio_writes_verbatim" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_file_path_copies_when_different" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_file_path_noop_when_same" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_numpy_24k_writes_via_scipy" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_wav_bytes_shape_mismatch_raises_typeerror" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestNormalizeToWavFile" name="test_unknown_format_raises_valueerror" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_validation_failure_raises_runtimeerror" time="0.001" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_load_callback_instantiates_class" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_wav_bytes_round_trip" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_bytesio_round_trip" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_file_path_round_trip" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_params_map_remaps_text_to_method_alias" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_missing_text_returns_error" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_load_failure_surfaces_runtimeerror" time="0.001" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestBuildReflectionCallbacks" name="test_handle_method_missing_returns_error" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestDispatchCatalogIdExitCodes" name="test_unknown_catalog_id_exits_2" time="0.002" /><testcase classname="tests.unit.test_gpu_worker_reflection_dispatch.TestDispatchCatalogIdExitCodes" name="test_invalid_capabilities_exit_2" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_top_k_basic" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_no_compression" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_k_larger_than_dimension" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_magnitude_calculated" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_compress_respects_max_dimension" time="0.012" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_decompress_roundtrip" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_decompress_sparse" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaCompression" name="test_decompress_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_valid_delta" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_not_dict" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_zero_dimension" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_dimension_too_large" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_length_mismatch" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_index_out_of_range" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_duplicate_indices" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_nan_value" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaValidation" name="test_invalid_inf_value" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_single_delta" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_uniform_deltas" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_removes_outliers" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_with_weights" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAggregation" name="test_aggregate_different_dimensions" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_magnitude_anomaly_detected" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_magnitude_normal" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_magnitude_too_few_peers" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_magnitude_identical_peers" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_direction_flip_detected" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_direction_no_flip" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_direction_flip_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_cosine_similarity_orthogonal" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_cosine_similarity_identical" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestEmbeddingDeltaAnomaly" name="test_detect_outliers_basic" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientService" name="test_submit_valid_delta" time="0.116" /><testcase classname="tests.unit.test_gradient_sync.TestGradientService" name="test_submit_invalid_delta" time="0.106" /><testcase classname="tests.unit.test_gradient_sync.TestGradientService" name="test_submit_insufficient_tier" time="0.107" /><testcase classname="tests.unit.test_gradient_sync.TestGradientService" name="test_convergence_status_empty" time="0.098" /><testcase classname="tests.unit.test_gradient_sync.TestGradientService" name="test_witness_insufficient_peers" time="0.098" /><testcase classname="tests.unit.test_gradient_sync.TestGradientTools" name="test_get_gradient_sync_status" time="0.007" /><testcase classname="tests.unit.test_gradient_sync.TestGradientTools" name="test_submit_lora_stub" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientTools" name="test_byzantine_status_stub" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientTools" name="test_trigger_embedding_aggregation" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_lora_gradient_to_dict" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_lora_gradient_size_estimate" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_byzantine_aggregator_stub" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_byzantine_detect_returns_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_differential_privacy_stub" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedGradientProtocol" name="test_privacy_budget" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedAggregatorEmbedding" name="test_receive_embedding_delta" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedAggregatorEmbedding" name="test_aggregate_embeddings" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedAggregatorEmbedding" name="test_embedding_tick" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedAggregatorEmbedding" name="test_embedding_tick_empty" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestFederatedAggregatorEmbedding" name="test_get_stats_includes_embedding" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_distributed_learning_goal_registered" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_distributed_learning_prompt_built" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_embedding_sync_in_access_matrix" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_gradient_fraud_weights_registered" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_gradient_sync.TestGradientSyncIntegration" name="test_gradient_tools_registered" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_name" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_default_config_from_env" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_connect_no_pyserial" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_connect_success" time="0.004" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_send_message_not_connected" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_send_message_text_line" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_send_message_json_line" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_send_message_binary_frame" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_disconnect" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_dispatch_text_line" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_dispatch_json_line" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_edit_sends_new_message" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_delete_not_applicable" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestSerialAdapter" name="test_get_chat_info" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_name" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_default_config_from_env" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_parse_pin_list" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_is_available_sysfs" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_on" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_off" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_toggle" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_pwm" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_pwm_clamp" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_invalid_pin" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_unconfigured_pin" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_send_unknown_command" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_dispatch_gpio_event" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_dispatch_gpio_event_low" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_get_chat_info_input" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_get_chat_info_output" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_get_chat_info_invalid" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_debounce" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestGPIOAdapter" name="test_delete_not_applicable" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_name" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_backward_compat_alias" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_default_config_from_env" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_parse_topic_list" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_connect_no_autobahn" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_connect_no_url" time="0.007" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_send_message_not_connected" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_send_message_success" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_send_message_json_payload" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_on_wamp_event_dict" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_on_wamp_event_kwargs" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_on_wamp_event_raw_args" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_disconnect" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_delete_not_applicable" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestWAMPIoTAdapter" name="test_get_chat_info" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_name" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_default_config_from_env" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_is_image_topic" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_connect_no_rclpy" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_dispatch_ros_message" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_dispatch_ros_with_raw" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_send_message_not_initialized" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_handle_image_with_framestore" time="0.002" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_handle_image_no_framestore" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_get_chat_info" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestROSBridgeAdapter" name="test_delete_not_applicable" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_serial_always_available" time="0.009" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_wamp_iot_requires_config" time="0.010" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_wamp_iot_registered_with_cburl" time="0.011" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_ros_requires_explicit_enable" time="0.010" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_register_with_registry" time="0.010" /><testcase classname="tests.unit.test_hardware_adapters.TestAutoRegister" name="test_registry_error_handling" time="0.009" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_is_channel_adapter[SerialAdapter-kwargs0]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_is_channel_adapter[GPIOAdapter-kwargs1]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_is_channel_adapter[WAMPIoTAdapter-kwargs2]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_is_channel_adapter[ROSBridgeAdapter-kwargs3]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_has_name[SerialAdapter-kwargs0]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_has_name[GPIOAdapter-kwargs1]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_has_name[WAMPIoTAdapter-kwargs2]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_has_name[ROSBridgeAdapter-kwargs3]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_initial_status_disconnected[SerialAdapter-kwargs0]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_initial_status_disconnected[GPIOAdapter-kwargs1]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_initial_status_disconnected[WAMPIoTAdapter-kwargs2]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_initial_status_disconnected[ROSBridgeAdapter-kwargs3]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_on_message_registers_handler[SerialAdapter-kwargs0]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_on_message_registers_handler[GPIOAdapter-kwargs1]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_on_message_registers_handler[WAMPIoTAdapter-kwargs2]" time="0.001" /><testcase classname="tests.unit.test_hardware_adapters.TestChannelAdapterContract" name="test_on_message_registers_handler[ROSBridgeAdapter-kwargs3]" time="0.001" /><testcase classname="tests.unit.test_hart_cli" name="test_help" time="0.005" /><testcase classname="tests.unit.test_hart_cli" name="test_version" time="0.001" /><testcase classname="tests.unit.test_hart_cli" name="test_no_command_shows_help" time="0.004" /><testcase classname="tests.unit.test_hart_cli" name="test_social_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_agent_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_agent_goal_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_expert_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_pay_help" time="0.004" /><testcase classname="tests.unit.test_hart_cli" name="test_mcp_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_compute_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_channel_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_a2a_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_voice_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_skill_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_tools_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_recipe_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_tools_list" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_tools_list_json" time="0.004" /><testcase classname="tests.unit.test_hart_cli" name="test_recipe_list" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_a2a_agents" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_a2a_agents_json" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_mcp_servers" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_channel_list" time="0.005" /><testcase classname="tests.unit.test_hart_cli" name="test_headless_mode" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_headless_mode_json" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_headless_connection_error" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_no_subcommand_shows_help" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_click" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_type" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_key" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_hotkey" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_drag" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_cursor" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_wait" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_ls" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_readfile" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_writefile" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_rightclick" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_json_output" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_desktop_error_handling" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_repomap_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_code_help" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_status_offline" time="0.005" /><testcase classname="tests.unit.test_hart_cli" name="test_social_post" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_social_feed" time="0.002" /><testcase classname="tests.unit.test_hart_cli" name="test_social_communities" time="0.003" /><testcase classname="tests.unit.test_hart_cli" name="test_subcommand_count" time="0.004" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_all_elements_mapped" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_all_spirits_mapped" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_builder_top_gives_iron" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_creative_top_gives_neon" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_empty_dimensions_fallback" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_second_dim_gives_spirit" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_single_dimension" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestElementSpirit" name="test_social_builder_combo" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestHARTTag" name="test_build_tag" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestHARTTag" name="test_build_tag_all_lower" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestHARTTag" name="test_tag_format_consistent" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_emergency_name_format" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_fallback_deterministic" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_fallback_excludes_existing" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_fallback_names_returns_list" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_generate_includes_element_spirit" time="3.214" /><testcase classname="tests.unit.test_hart_onboarding.TestNameGeneration" name="test_generate_without_llm" time="3.276" /><testcase classname="tests.unit.test_hart_onboarding.TestEmojiCombo" name="test_deterministic" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestEmojiCombo" name="test_different_locale_different_flag" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestEmojiCombo" name="test_returns_string" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestDimensionMerging" name="test_merge_all_passion_escape_combos" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestDimensionMerging" name="test_merge_basic" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestDimensionMerging" name="test_merge_takes_max" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestDimensionMerging" name="test_merge_unknown_keys" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_elapsed_ms_increases" time="0.011" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_full_flow_to_reveal" time="3.155" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_greeting_advances_to_passion" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_initial_phase_is_language" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_passion_answer_advances" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_response_has_language" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_reveal_includes_hart_tag" time="5.056" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_select_language_advances_to_greeting" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingSession" name="test_voice_transcript_captured" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestSessionStorage" name="test_different_users_different_sessions" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestSessionStorage" name="test_get_or_create" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestSessionStorage" name="test_remove_session" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_escapes_have_labels" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_passions_have_acknowledgments" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_passions_have_dimensions" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_passions_have_labels" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_phases_have_lines" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_all_phases_have_required_languages" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_escape_acknowledgment_exists" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_escape_options_count" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestConversationScript" name="test_passion_options_count" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingRoutes" name="test_advance_route_exists" time="0.007" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingRoutes" name="test_profile_not_onboarded" time="0.003" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingRoutes" name="test_start_route_exists" time="0.003" /><testcase classname="tests.unit.test_hart_onboarding.TestOnboardingRoutes" name="test_status_route_exists" time="0.003" /><testcase classname="tests.unit.test_hart_onboarding.TestIdentityUnification" name="test_building_ideas_combo" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestIdentityUnification" name="test_full_generate_has_tag" time="3.812" /><testcase classname="tests.unit.test_hart_onboarding.TestIdentityUnification" name="test_music_quiet_combo" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestIdentityUnification" name="test_nature_open_combo" time="0.001" /><testcase classname="tests.unit.test_hart_onboarding.TestIdentityUnification" name="test_people_love_combo" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_all_builder_methods" time="0.007" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_basic_creation" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_custom_name" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_manifest_fallback_dict" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_manifest_returns_app_manifest" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_multiple_capabilities" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_needs_ai_fluent" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestHartAppBuilder" name="test_register_with_platform" time="10.098" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_can_satisfy_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_capability_creates_ai_capability" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_infer_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_infer_with_mock_bus" time="0.002" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_list_models_no_registry" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestAIClient" name="test_singleton_import" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEventClient" name="test_emit" time="0.002" /><testcase classname="tests.unit.test_hart_sdk.TestEventClient" name="test_off_no_bus" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEventClient" name="test_on_with_bootstrap" time="10.088" /><testcase classname="tests.unit.test_hart_sdk.TestEventClient" name="test_singleton_import" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestConfigClient" name="test_get_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestConfigClient" name="test_on_change_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestConfigClient" name="test_set_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestConfigClient" name="test_singleton_import" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEnvironmentClient" name="test_create_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEnvironmentClient" name="test_create_with_bootstrap" time="10.086" /><testcase classname="tests.unit.test_hart_sdk.TestEnvironmentClient" name="test_destroy_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEnvironmentClient" name="test_list_all_no_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestEnvironmentClient" name="test_singleton_import" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPlatformDetect" name="test_arch_normalization" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPlatformDetect" name="test_detect_platform_returns_dict" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPlatformDetect" name="test_get_capabilities" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPlatformDetect" name="test_os_matches_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestSDKIntegration" name="test_environment_with_sdk" time="10.084" /><testcase classname="tests.unit.test_hart_sdk.TestSDKIntegration" name="test_events_round_trip" time="10.085" /><testcase classname="tests.unit.test_hart_sdk.TestSDKIntegration" name="test_full_app_lifecycle" time="10.085" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_ai_infer_returns_error_without_bus" time="0.002" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_config_returns_default_without_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_environments_returns_none_without_platform" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_events_emit_returns_false_on_error" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_hart_app_works_standalone" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestGracefulDegradation" name="test_sdk_import_works" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPackageStructure" name="test_all_exports" time="0.001" /><testcase classname="tests.unit.test_hart_sdk.TestPackageStructure" name="test_version" time="0.001" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_default_does_not_attach_models_payload" time="0.004" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_down_when_models_endpoint_returns_5xx" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_down_when_pool_get_raises" time="0.001" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_include_models_true_attaches_payload" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_probe_error_when_url_resolution_fails" time="0.001" /><testcase classname="tests.unit.test_health_probe.ProbeLlmTest" name="test_up_when_models_endpoint_returns_200" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeNunbaFlaskTest" name="test_down_when_pool_get_raises" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeNunbaFlaskTest" name="test_up_uses_resolved_port" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeLangchainTest" name="test_down_swallows_exception" time="0.002" /><testcase classname="tests.unit.test_health_probe.ProbeLangchainTest" name="test_up_uses_resolved_port" time="0.002" /><testcase classname="tests.unit.test_health_probe.PortRegistryDriftGuardTest" name="test_flask_env_override_registered" time="0.001" /><testcase classname="tests.unit.test_health_probe.PortRegistryDriftGuardTest" name="test_flask_in_app_ports" time="0.001" /><testcase classname="tests.unit.test_health_probe.PortRegistryDriftGuardTest" name="test_langchain_env_override_registered" time="0.001" /><testcase classname="tests.unit.test_health_probe.PortRegistryDriftGuardTest" name="test_langchain_in_app_ports" time="0.001" /><testcase classname="tests.unit.test_health_probe.PortRegistryDriftGuardTest" name="test_os_ports_no_collisions_for_new_entries" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_terminate_in_content" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_terminate_substring" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_no_terminate" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_none_content_safe" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_missing_content_key" time="0.001" /><testcase classname="tests.unit.test_helper.TestIsTerminateMsg" name="test_non_dict_input" time="0.001" /><testcase classname="tests.unit.test_helper.TestPathSanitization" name="test_rejects_path_separators" time="0.001" /><testcase classname="tests.unit.test_helper.TestPathSanitization" name="test_rejects_backslash" time="0.001" /><testcase classname="tests.unit.test_helper.TestPathSanitization" name="test_allows_normal_id" time="0.001" /><testcase classname="tests.unit.test_helper.TestPathSanitization" name="test_allows_numeric_string" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_single_part" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_multi_part" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_custom_extension" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_rejects_traversal" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_rejects_slashes" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_accepts_numeric" time="0.001" /><testcase classname="tests.unit.test_helper.TestSafePromptPath" name="test_accepts_hyphens_and_underscores" time="0.001" /><testcase classname="tests.unit.test_helper.TestTopologicalSort" name="test_simple_chain" time="0.001" /><testcase classname="tests.unit.test_helper.TestTopologicalSort" name="test_parallel_actions" time="0.001" /><testcase classname="tests.unit.test_helper.TestTopologicalSort" name="test_diamond_dependency" time="0.001" /><testcase classname="tests.unit.test_helper.TestTopologicalSort" name="test_cycle_detected" time="0.001" /><testcase classname="tests.unit.test_helper.TestTopologicalSort" name="test_self_dependency_ignored" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_valid_json" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_json_with_prefix_text" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_json_with_at_user_prefix" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_unicode_curly_quotes_normalized" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_returns_none_for_non_json" time="0.001" /><testcase classname="tests.unit.test_helper.TestRetrieveJson" name="test_returns_none_for_empty_string" time="0.001" /><testcase classname="tests.unit.test_helper.TestStripJsonValues" name="test_preserves_dict_keys" time="0.001" /><testcase classname="tests.unit.test_helper.TestStripJsonValues" name="test_redacts_leaf_values" time="0.001" /><testcase classname="tests.unit.test_helper.TestStripJsonValues" name="test_preserves_nested_structure" time="0.001" /><testcase classname="tests.unit.test_helper.TestStripJsonValues" name="test_preserves_list_structure" time="0.001" /><testcase classname="tests.unit.test_helper.TestStripJsonValues" name="test_tuple_preserved_as_tuple" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_initial_current_action_is_1" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_get_action_returns_correct_item" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_get_action_raises_on_out_of_range" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_get_action_raises_on_negative" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_initial_flags" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_set_ledger" time="0.002" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_get_action_byaction_id_found" time="0.001" /><testcase classname="tests.unit.test_helper.TestActionClass" name="test_get_action_byaction_id_not_found" time="0.001" /><testcase classname="tests.unit.test_helper.TestParseDate" name="test_valid_iso_format" time="0.011" /><testcase classname="tests.unit.test_helper.TestParseDate" name="test_midnight" time="0.001" /><testcase classname="tests.unit.test_helper.TestParseDate" name="test_invalid_format_raises" time="0.001" /><testcase classname="tests.unit.test_helper.TestToolMessageHandler" name="test_class_exists" time="0.001" /><testcase classname="tests.unit.test_helper.TestToolMessageHandler" name="test_instantiation" time="0.001" /><testcase classname="tests.unit.test_helper.TestToolMessageHandler" name="test_apply_transform_returns_list" time="0.002" /><testcase classname="tests.unit.test_helper.TestToolMessageHandler" name="test_preserves_user_messages" time="0.002" /><testcase classname="tests.unit.test_helper.TestGetLlmConfig" name="test_returns_dict" time="0.001" /><testcase classname="tests.unit.test_helper.TestGetLlmConfig" name="test_has_config_list" time="0.001" /><testcase classname="tests.unit.test_helper.TestGetLlmConfig" name="test_fallback_config_used" time="0.001" /><testcase classname="tests.unit.test_helper.TestPromptsDir" name="test_is_absolute" time="0.001" /><testcase classname="tests.unit.test_helper.TestPromptsDir" name="test_exists" time="0.001" /><testcase classname="tests.unit.test_helper_agent_data.TestCleanupOldBackups" name="test_keeps_newest_five_by_default" time="0.027" /><testcase classname="tests.unit.test_helper_agent_data.TestCleanupOldBackups" name="test_respects_custom_keep_count" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestCleanupOldBackups" name="test_per_prompt_isolation" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestCleanupOldBackups" name="test_zero_backups_returns_zero" time="0.025" /><testcase classname="tests.unit.test_helper_agent_data.TestBackupAutoPrune" name="test_backup_triggers_cleanup" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestGetAgentDataInfo" name="test_missing_file_returns_exists_false" time="0.025" /><testcase classname="tests.unit.test_helper_agent_data.TestGetAgentDataInfo" name="test_existing_file_returns_full_diagnostic" time="0.025" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_admin_path_in_ADMIN_PATHS_tuple" time="0.001" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_admin_route_requires_auth_on_every_tier[central]" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_admin_route_requires_auth_on_every_tier[regional]" time="0.027" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_admin_route_requires_auth_on_every_tier[flat]" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_bundled_desktop_mode_skips_gate" time="0.026" /><testcase classname="tests.unit.test_helper_agent_data.TestAdminEndpointAuthGate" name="test_regional_tier_user_facing_paths_stay_open" time="0.026" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_create_child_certificate" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_verify_certificate_signature_valid" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_verify_certificate_signature_tampered" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_verify_certificate_chain_valid" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_verify_certificate_chain_wrong_master" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_certificate_expiry" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_hybrid_registry_fallback" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestKeyDelegation" name="test_custom_capabilities" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_flat_always_authorized" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_local_always_authorized" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_central_without_key_rejected" time="0.006" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_central_with_valid_key" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_central_with_wrong_key" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_without_cert_untrusted_domain_rejected" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_hevolve_ai_provisional" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_hertzai_com_provisional" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_exact_match" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_no_env_override" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_spoofed_suffix_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_localhost_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_domain_empty_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_cert_is_full_not_provisional" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_trusted_domains_hardcoded" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_challenge_nonce_unique" time="0.006" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAuthorization" name="test_regional_with_valid_cert" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestMasterKeySignChild" name="test_sign_child_certificate_no_key" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestMasterKeySignChild" name="test_sign_child_certificate_roundtrip" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestNodeIdentity" name="test_get_node_identity" time="0.079" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_peer_node_tier_default" time="0.095" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_peer_node_hierarchy_fields" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_peer_node_to_dict_includes_hierarchy" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_region_hierarchy_fields" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_region_assignment_model" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestPeerNodeTierColumns" name="test_sync_queue_model" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_register_regional_host" time="0.014" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_register_regional_host_invalid_cert" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_register_local_node" time="0.017" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_auto_assignment_scoring" time="0.011" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_switch_region" time="0.021" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_gossip_targets_flat" time="0.007" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_gossip_targets_central" time="0.005" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_gossip_targets_regional" time="0.006" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_gossip_targets_local" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_report_node_capacity" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestHierarchyService" name="test_get_region_health" time="0.007" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAwareGossip" name="test_gossip_default_tier_is_flat" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAwareGossip" name="test_gossip_reads_tier_from_env" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAwareGossip" name="test_self_info_includes_tier" time="0.082" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAwareGossip" name="test_merge_peer_stores_tier" time="0.019" /><testcase classname="tests.unit.test_hierarchy_system.TestTierAwareGossip" name="test_merge_peer_rejects_invalid_cert_hard" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_queue_operation" time="0.008" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_drain_queue_success" time="0.020" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_drain_queue_failure_increments_retry" time="0.009" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_receive_sync_batch" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_is_connected_to_success" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_is_connected_to_failure" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestSyncEngine" name="test_get_queue_stats" time="0.009" /><testcase classname="tests.unit.test_hierarchy_system.TestMigrationV13" name="test_schema_version_is_at_least_13" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestMigrationV13" name="test_new_tables_exist" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestMigrationV13" name="test_peer_node_has_tier_column" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestMigrationV13" name="test_region_has_hierarchy_columns" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestMigrationV13" name="test_region_assignment_columns" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestCertificatePersistence" name="test_save_and_load_certificate" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestCertificatePersistence" name="test_load_nonexistent_returns_none" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestGetNodeTier" name="test_default_is_flat" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestGetNodeTier" name="test_central" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestGetNodeTier" name="test_regional" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestGetNodeTier" name="test_local" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestGetNodeTier" name="test_invalid_defaults_to_flat" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_trusted_domain" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_hertzai_domain" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_untrusted_domain_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_spoofed_suffix_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_invalid_public_key_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_short_public_key_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_increments_pending_count" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_create_challenge_unique_nonces" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_rate_limit_enforced" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_rate_limit_per_fqdn" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_rate_limit_resets_after_hour" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_valid_signature" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_invalid_signature_rejected" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_unknown_nonce_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_nonce_single_use" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_consumed_even_on_bad_signature" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_expired_nonce_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_fqdn_mismatch_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_verify_response_pubkey_mismatch_rejected" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_issue_provisional_cert" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_issue_provisional_cert_auto_region" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_issue_provisional_cert_chain_valid" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_full_handshake_happy_path" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_full_handshake_bad_signature" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_handle_register_untrusted_domain" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_handle_register_http_callback_success" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_handle_register_http_callback_failure" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_handle_register_http_callback_non_200" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_expired_challenges_purged_on_create" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_concurrent_challenge_creation" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_concurrent_verify_different_nonces" time="0.004" /><testcase classname="tests.unit.test_hierarchy_system.TestDomainChallengeVerifier" name="test_get_pending_for_fqdn" time="0.001" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_get_challenge_signs_nonce" time="0.013" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_get_challenge_missing_nonce" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_get_challenge_invalid_hex" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_get_challenge_wrong_length" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_post_challenge_signs_nonce" time="0.003" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_post_challenge_missing_nonce" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestHartChallengeEndpoint" name="test_post_challenge_empty_body" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestChallengeResponseE2E" name="test_e2e_verifier_plus_endpoint" time="0.002" /><testcase classname="tests.unit.test_hierarchy_system.TestChallengeResponseE2E" name="test_e2e_cert_save_and_reload" time="0.004" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_concurrent_access_is_thread_safe" time="0.116" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_get_history_filters_by_benchmark" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_get_history_returns_recent_and_respects_limit" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_get_run_entries_filters_by_run_id" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_record_assignment_persists" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBenchmarkLedger" name="test_record_result_updates_correct_entry" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_compare_to_baselines" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_compare_to_baselines_hive_wins_all" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_get_best_scores_multi_benchmark" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_get_improvement_history" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_record_run_stores_data" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestLeaderboard" name="test_record_run_updates_best_score" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_results_empty" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_results_single_shard" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_results_weighted_average" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_run_calculates_speedup" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_run_unknown_run" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_aggregate_run_weighted_score" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_fetch_problems_code" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_fetch_problems_mmlu" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_fetch_problems_unknown" time="0.012" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_get_status" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_on_shard_result_records_in_ledger" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_on_shard_result_triggers_aggregate_when_all_done" time="0.009" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_on_shard_result_unknown_run_returns_none" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_publish_results_emits_eventbus" time="0.022" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_split_benchmark_round_robin" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_start_and_stop_continuous_loop" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_start_run_creates_ledger_entries_and_tasks" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_start_run_no_problems_returns_no_problems_status" time="0.013" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_start_run_shards_problems_across_nodes" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestHiveBenchmarkProver" name="test_stop_without_start" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestConstants" name="test_benchmark_rotation_entries_are_valid" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestConstants" name="test_benchmark_rotation_non_empty" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestConstants" name="test_builtin_benchmarks_not_empty" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestConstants" name="test_known_baselines_not_empty" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestConstants" name="test_known_baselines_scores_in_valid_range" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestSingleton" name="test_get_benchmark_prover_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestSingleton" name="test_get_prover_alias" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBlueprint" name="test_backward_compat_alias" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBlueprint" name="test_create_benchmark_blueprint_has_routes" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestBlueprint" name="test_create_benchmark_blueprint_returns_blueprint" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestGoalSeedEntry" name="test_bootstrap_benchmark_prover_structure" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestGoalSeedEntry" name="test_seed_backward_compat_alias" time="0.001" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestPersistence" name="test_leaderboard_persists_across_instances" time="0.002" /><testcase classname="tests.unit.test_hive_benchmark_prover.TestPersistence" name="test_ledger_persists_across_instances" time="0.001" /><testcase classname="tests.unit.test_hive_consensus" name="test_circuit_breaker_vote_pass_when_not_halted" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_circuit_breaker_vote_fail_when_halted" time="0.003" /><testcase classname="tests.unit.test_hive_consensus" name="test_constitutional_vote_rejects_protected_files" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_constitutional_vote_accepts_benign_prompt" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_local_probe_vote_pass_when_leaderboard_beats_baseline" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_local_probe_vote_fail_when_margin_negative" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_local_probe_vote_uses_explicit_evidence" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_local_probe_vote_accepts_no_baseline_when_score_high" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_peer_quorum_pass_when_no_peers" time="0.003" /><testcase classname="tests.unit.test_hive_consensus" name="test_peer_quorum_pass_when_three_peers_agree" time="0.003" /><testcase classname="tests.unit.test_hive_consensus" name="test_upgrade_proposal_rejects_when_any_vote_fails" time="0.003" /><testcase classname="tests.unit.test_hive_consensus" name="test_upgrade_proposal_approves_when_all_four_pass" time="0.002" /><testcase classname="tests.unit.test_hive_consensus" name="test_upgrade_proposal_rejects_protected_file_edit" time="0.002" /><testcase classname="tests.unit.test_hive_contest.TracksTest" name="test_each_track_has_weights" time="0.001" /><testcase classname="tests.unit.test_hive_contest.TracksTest" name="test_embodied_rewards_robot_episodes" time="0.001" /><testcase classname="tests.unit.test_hive_contest.TracksTest" name="test_human_wellness_rewards_wellness_attestation" time="0.001" /><testcase classname="tests.unit.test_hive_contest.TracksTest" name="test_three_tracks_exposed" time="0.001" /><testcase classname="tests.unit.test_hive_contest.EventWeightTest" name="test_digital_does_not_reward_robot_episodes" time="0.001" /><testcase classname="tests.unit.test_hive_contest.EventWeightTest" name="test_digital_rewards_recipes" time="0.001" /><testcase classname="tests.unit.test_hive_contest.EventWeightTest" name="test_human_wellness_does_not_reward_gpu_hours" time="0.001" /><testcase classname="tests.unit.test_hive_contest.EventWeightTest" name="test_unknown_event_returns_zero" time="0.001" /><testcase classname="tests.unit.test_hive_contest.ScoreEventTest" name="test_known_event_awards_weighted_amount" time="0.002" /><testcase classname="tests.unit.test_hive_contest.ScoreEventTest" name="test_multiplier_scales_amount" time="0.003" /><testcase classname="tests.unit.test_hive_contest.ScoreEventTest" name="test_negative_multiplier_clamped_to_zero" time="0.002" /><testcase classname="tests.unit.test_hive_contest.ScoreEventTest" name="test_unknown_event_scores_zero_and_does_not_call_award" time="0.001" /><testcase classname="tests.unit.test_hive_contest.ScoreEventTest" name="test_wrong_track_scores_zero" time="0.001" /><testcase classname="tests.unit.test_hive_contest.WindowTest" name="test_default_window_is_30_days_from_now" time="0.001" /><testcase classname="tests.unit.test_hive_contest.WindowTest" name="test_env_override_respected" time="0.001" /><testcase classname="tests.unit.test_hive_contest.WindowTest" name="test_invalid_env_falls_back_to_default" time="0.001" /><testcase classname="tests.unit.test_hive_contest.InfoPayloadTest" name="test_humans_first_language_is_present" time="0.001" /><testcase classname="tests.unit.test_hive_contest.InfoPayloadTest" name="test_info_has_tracks_and_onramp" time="0.001" /><testcase classname="tests.unit.test_hive_contest.InfoPayloadTest" name="test_prize_model_uses_canonical_split" time="0.001" /><testcase classname="tests.unit.test_hive_contest.MCPSnippetTest" name="test_snippet_mentions_hartos_server" time="0.001" /><testcase classname="tests.unit.test_hive_contest.MCPSnippetTest" name="test_snippet_uses_hart_cli" time="0.001" /><testcase classname="tests.unit.test_hive_contest.RegisterParticipantTest" name="test_idempotent_on_second_call" time="0.004" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_idea_submitted_event_type_registered" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_contest_public_url_default" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_contest_public_url_env_override" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_contest_public_url_falls_back_on_empty" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_contest_info_exposes_public_url" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_quest_prompt_uses_canonical_url_not_docs" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_docs_page_has_redirect_to_app_page" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_ideas_submitted_weight_per_track" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_event_weight_mapping_for_idea_submitted" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_track_event_source_types_includes_idea_submitted" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_submit_idea_rejects_missing_fields" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_submit_idea_truncates_overlong_fields" time="0.005" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_submit_idea_happy_path_creates_post_and_awards_spark" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_submit_idea_constitutional_gate_blocks" time="0.002" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_list_ideas_filters_by_track" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_panel_registered_in_manifest" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_contest_curator_seeded" time="0.001" /><testcase classname="tests.unit.test_hive_contest_ideas" name="test_ui_route_returns_html" time="0.003" /><testcase classname="tests.unit.test_hive_guardrails.TestFrozenValuesImmutability" name="test_setattr_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestFrozenValuesImmutability" name="test_delattr_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestFrozenValuesImmutability" name="test_setattr_new_attribute_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestFrozenValuesImmutability" name="test_slots_empty" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestFrozenValuesImmutability" name="test_values_is_singleton_instance" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_guardian_purpose_is_tuple" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_guardian_purpose_nonempty" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_guardian_purpose_contains_core_principle" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_constitutional_rules_33" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_protected_files_is_frozenset" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_protected_files_contains_self" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_protected_files_contains_master_key" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_cultural_wisdom_is_tuple" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_prohibited_skill_categories_frozenset" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_compute_caps_values" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_backward_compat_compute_caps_is_mappingproxy" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_backward_compat_world_model_bounds_is_mappingproxy" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailContracts" name="test_backward_compat_mappingproxy_readonly" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailHash" name="test_hash_is_64_hex_chars" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailHash" name="test_hash_deterministic" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailHash" name="test_verify_integrity_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailHash" name="test_hash_matches_module_constant" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailHash" name="test_get_guardrail_hash_returns_stored" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_single_gpu_weight" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_100_gpu_capped" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_logarithmic_not_linear" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_zero_gpu_defaults_to_one" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_none_values_handled" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_adjusted_reward_scales" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestComputeDemocracy" name="test_empty_peer_dict" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_clean_goal_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_violent_goal_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_clean_prompt_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_deceptive_prompt_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_code_change_to_protected_file_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_code_change_to_normal_file_allowed" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_ralt_packet_banned_source" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_ralt_packet_clean" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_empty_goal_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_backslash_path_normalization" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstitutionalFilter" name="test_check_prompt_with_injection_detection" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_trip_sets_halted" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_is_halted_false_by_default" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_get_status_structure" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_local_halt_does_not_require_signature" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_halt_network_invalid_signature_rejected" time="0.002" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_halt_network_valid_signature_accepted" time="0.003" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_resume_requires_valid_signature" time="0.003" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_resume_with_valid_signature" time="0.003" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_receive_halt_broadcast_no_signature_ignored" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_receive_halt_broadcast_valid" time="0.002" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_require_master_key_dev_mode" time="0.002" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveCircuitBreaker" name="test_require_master_key_import_error" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_ralt_export_clean_packet" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_ralt_export_insufficient_witnesses" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_ralt_export_prohibited_category" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_accuracy_update_capped" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_accuracy_update_within_bounds" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestWorldModelSafetyBounds" name="test_gate_accuracy_update_decrease_allowed" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestEnergyAwareness" name="test_local_energy_estimate" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestEnergyAwareness" name="test_api_energy_estimate" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestEnergyAwareness" name="test_prefer_green_node_balanced" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestEnergyAwareness" name="test_prefer_green_node_speed" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestEnergyAwareness" name="test_prefer_green_node_empty" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveEthos" name="test_selfless_goal_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveEthos" name="test_self_preservation_goal_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveEthos" name="test_rewrite_prompt_is_noop" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestHiveEthos" name="test_enforce_ephemeral_agents_logs" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_quarantine_and_check" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_not_quarantined" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_can_act_observe_level" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_can_act_restrict_level" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_rehabilitate" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_rehabilitate_nonexistent" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_review_increments_count" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_level_capped_at_exclude" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestTrustQuarantine" name="test_get_all_quarantined" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConflictResolver" name="test_empty_responses" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConflictResolver" name="test_single_response" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConflictResolver" name="test_merit_based_selection" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConflictResolver" name="test_detect_conflict_opposing_goals" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConflictResolver" name="test_detect_no_conflict" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstructiveFilter" name="test_clean_output_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstructiveFilter" name="test_destructive_output_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstructiveFilter" name="test_empty_output_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstructiveFilter" name="test_prohibited_evolution_blocked" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestConstructiveFilter" name="test_allowed_evolution_passes" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_before_dispatch_clean" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_before_dispatch_halted" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_before_dispatch_violating_prompt" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_before_dispatch_with_self_interest_goal" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_after_response_clean" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailEnforcer" name="test_after_response_destructive" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_evaluate_clean_prompt" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_evaluate_halted" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_evaluate_violating_prompt" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_evaluate_with_destructive_response" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_get_network_status" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_node_weights" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestGuardrailNetwork" name="test_evaluate_empty_inputs" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_cannot_rebind_VALUES" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_cannot_rebind_guardrail_hash" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_cannot_rebind_compute_guardrail_hash" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_cannot_delete_VALUES" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_cannot_delete_frozen_values_class" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestModuleLevelGuard" name="test_can_set_non_frozen_attribute" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestThreadSafety" name="test_concurrent_circuit_breaker_trips" time="0.007" /><testcase classname="tests.unit.test_hive_guardrails.TestThreadSafety" name="test_concurrent_quarantine_operations" time="0.006" /><testcase classname="tests.unit.test_hive_guardrails.TestThreadSafety" name="test_concurrent_hash_verification" time="0.003" /><testcase classname="tests.unit.test_hive_guardrails.TestViolationPatterns" name="test_monopolize_pattern" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestViolationPatterns" name="test_guardrail_circumvention_pattern" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestViolationPatterns" name="test_hoard_data_pattern" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestViolationPatterns" name="test_weapon_proliferation_pattern" time="0.001" /><testcase classname="tests.unit.test_hive_guardrails.TestViolationPatterns" name="test_benign_text_not_flagged" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_bug_report_keywords" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_compute_interest_gpu" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_empty_text_no_signals" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_feature_request_dark_mode" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_multi_signal_gpu_and_bug" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_multi_signal_support_and_sentiment" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_open_source_signal_huggingface" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_phrase_how_do_i" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_phrase_open_source" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_phrase_would_be_nice" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_recruitment_lead_contribute" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_sentiment_negative" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_sentiment_positive" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_short_text_no_signals" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_support_needed_how_to" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_unrelated_text_no_signals" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_url_arxiv_org" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestClassifySignal" name="test_url_huggingface_co" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_adds_to_feed" time="0.004" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_empty_content_noop" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_never_raises" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_no_matching_signals_noop" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_short_content_noop" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_updates_channel_counts" time="0.003" /><testcase classname="tests.unit.test_hive_protocols.TestOnMessage" name="test_on_message_updates_signal_counts" time="0.004" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_bug_report_falls_back_to_instruction_queue" time="0.003" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_bug_report_routes_to_hive_task_dispatcher" time="0.003" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_compute_interest_routes_to_dispatch_goal" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_feature_request_routes_to_instruction_queue" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_recruitment_lead_routes_to_dispatch_goal" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestSignalRouting" name="test_support_needed_routes_to_dispatch_goal" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestStatsAndFeed" name="test_get_signal_feed_empty" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestStatsAndFeed" name="test_get_signal_feed_most_recent_first" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestStatsAndFeed" name="test_get_signal_feed_respects_limit" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestStatsAndFeed" name="test_get_stats_all_signal_types_present" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestStatsAndFeed" name="test_get_stats_structure" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestSignalBlueprint" name="test_blueprint_returns_flask_blueprint" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestSignalBridgeSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTask" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTask" name="test_from_dict_ignores_unknown_keys" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTask" name="test_from_dict_round_trip" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTask" name="test_from_dict_tolerates_missing_keys" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTask" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_long_text_with_files_high_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_refactor_keywords_boost" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_score_clamped_1_to_100" time="0.007" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_security_keywords_boost" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_short_text_low_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestEstimateComplexity" name="test_test_keywords_boost" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestValidateResult" name="test_empty_result_low_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestValidateResult" name="test_error_present_lower_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestValidateResult" name="test_good_result_high_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestValidateResult" name="test_missing_files_partial_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestValidateResult" name="test_no_tests_required_higher_score" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_cancel_task_pending" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_cancel_task_rejects_completed" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_cancel_task_unknown_id" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_create_task_auto_calculates_spark" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_create_task_explicit_spark" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_create_task_generates_uuid" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_dispatch_pending_no_sessions" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_get_pending_tasks_sorted_by_priority" time="0.003" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_get_stats_counts" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_on_task_result_failed" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_on_task_result_unknown_task" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestHiveTaskDispatcher" name="test_on_task_result_validated" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestDispatcherSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestPersistence" name="test_load_corrupt_file" time="0.002" /><testcase classname="tests.unit.test_hive_protocols.TestPersistence" name="test_load_empty_file" time="0.001" /><testcase classname="tests.unit.test_hive_protocols.TestPersistence" name="test_tasks_survive_save_load_cycle" time="0.004" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_returns_only_open_by_default" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_include_closed_returns_all" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_returns_ordered_ledger_entry_instances" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_missing_file_returns_empty_list" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_explicit_path_overrides_env" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_env_used_when_no_explicit_path" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_header_and_separator_rows_skipped" time="0.002" /><testcase classname="tests.unit.test_hive_task_protocol_ledger" name="test_malformed_rows_skipped" time="0.002" /><testcase classname="tests.unit.test_icebreaker_service" name="test_returns_draft_with_shared_tag" time="0.103" /><testcase classname="tests.unit.test_icebreaker_service" name="test_falls_back_to_peer_tag_when_no_overlap" time="0.102" /><testcase classname="tests.unit.test_icebreaker_service" name="test_neutral_template_when_no_tags" time="0.100" /><testcase classname="tests.unit.test_icebreaker_service" name="test_neutral_template_when_no_pref_rows" time="0.101" /><testcase classname="tests.unit.test_icebreaker_service" name="test_llm_callback_used_when_supplied" time="0.101" /><testcase classname="tests.unit.test_icebreaker_service" name="test_llm_callback_failure_falls_back_to_template" time="0.104" /><testcase classname="tests.unit.test_icebreaker_service" name="test_llm_callback_empty_string_falls_back" time="0.098" /><testcase classname="tests.unit.test_icebreaker_service" name="test_llm_callback_non_string_falls_back" time="0.098" /><testcase classname="tests.unit.test_icebreaker_service" name="test_oversize_llm_output_is_trimmed_at_sentence_boundary" time="0.099" /><testcase classname="tests.unit.test_icebreaker_service" name="test_oversize_llm_output_no_boundary_hard_cut" time="0.099" /><testcase classname="tests.unit.test_icebreaker_service" name="test_unknown_match_raises" time="0.094" /><testcase classname="tests.unit.test_icebreaker_service" name="test_non_participant_viewer_raises" time="0.098" /><testcase classname="tests.unit.test_icebreaker_service" name="test_non_ble_match_raises" time="0.097" /><testcase classname="tests.unit.test_icebreaker_service" name="test_flat_topology_allows_drafting_no_consent_needed" time="0.097" /><testcase classname="tests.unit.test_icebreaker_service" name="test_regional_topology_allows_drafting_no_consent_needed" time="0.097" /><testcase classname="tests.unit.test_icebreaker_service" name="test_central_topology_without_consent_raises_permission_error" time="0.093" /><testcase classname="tests.unit.test_icebreaker_service" name="test_central_topology_with_explicit_consent_allows" time="0.099" /><testcase classname="tests.unit.test_icebreaker_service" name="test_central_topology_consent_check_returning_false_raises" time="0.093" /><testcase classname="tests.unit.test_icebreaker_service" name="test_central_topology_consent_check_per_user" time="0.098" /><testcase classname="tests.unit.test_image_gen.TestImageProvider" name="test_all_providers_defined" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageProvider" name="test_provider_from_string" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageSize" name="test_all_sizes_defined" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageStyle" name="test_all_styles_defined" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestGeneratedImage" name="test_generated_image_creation" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestGeneratedImage" name="test_generated_image_to_dict" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestGeneratedImage" name="test_generated_image_to_base64" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestGeneratedImage" name="test_generated_image_to_data_url" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestGeneratedImage" name="test_generated_image_defaults" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestEditResult" name="test_edit_result_creation" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestEditResult" name="test_edit_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestVariationResult" name="test_variation_result_creation" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestVariationResult" name="test_variation_result_to_dict" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generator_initialization" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generator_initialization_from_string" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generator_custom_config" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_providers_list" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_supported_sizes" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_supported_sizes_stability" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_supported_styles" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_max_prompt_length" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_normalize_size" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_estimate_cost" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_provider_info" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_temp_path" time="0.003" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_get_temp_path_with_prefix" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generate_basic" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generate_with_options" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_generate_multiple" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_edit_image" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_edit_with_mask" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_variations" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_upscale" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGenerator" name="test_save_to_file" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGeneratorProviders" name="test_openai_defaults" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGeneratorProviders" name="test_stability_defaults" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGeneratorProviders" name="test_midjourney_defaults" time="0.001" /><testcase classname="tests.unit.test_image_gen.TestImageGeneratorIntegration" name="test_full_generation_workflow" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGeneratorIntegration" name="test_edit_workflow" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGeneratorIntegration" name="test_variation_workflow" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_image_gen.TestImageGeneratorIntegration" name="test_rate_limiting" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageAdapter" name="test_adapter_creation" time="0.019" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageAdapter" name="test_message_handler_registration" time="0.014" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageConversion" name="test_direct_message_conversion" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageConversion" name="test_group_message_conversion" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageConversion" name="test_attachment_conversion" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageConversion" name="test_skip_own_messages" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageConversion" name="test_media_type_detection" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageSending" name="test_send_text_message" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageSending" name="test_send_with_reply" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageSending" name="test_send_not_connected" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTapbacks" name="test_send_love_tapback" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTapbacks" name="test_send_like_tapback" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTapbacks" name="test_send_emoji_mapped_tapback" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTapbacks" name="test_invalid_tapback_type" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTyping" name="test_send_typing" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageTyping" name="test_stop_typing" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageGroups" name="test_create_group" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageGroups" name="test_get_chat_info" time="0.007"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_imessage_adapter.TestIMessageFactory" name="test_factory_with_params" time="0.006" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageFactory" name="test_factory_with_env_vars" time="0.008" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageFactory" name="test_factory_missing_password" time="0.008" /><testcase classname="tests.unit.test_imessage_adapter.TestIMessageReadReceipts" name="test_mark_read" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_chain_integrity_multiple_entries" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_concurrent_writes" time="0.003" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_empty_chain_valid" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_get_trail_filters" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_log_event_returns_id_and_hash" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_sensitive_redaction" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestImmutableAuditLog" name="test_tamper_detection" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestHashFunction" name="test_deterministic_hash" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestHashFunction" name="test_different_inputs_different_hash" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestRedactSensitive" name="test_none_detail" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestRedactSensitive" name="test_redacts_password" time="0.001" /><testcase classname="tests.unit.test_immutable_audit_log.TestSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_canonical_install_links_cover_all_devices" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_get_install_link_returns_none_for_unknown_device" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_get_install_link_falls_back_to_default_for_unknown_locale" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_supported_install_channel_matches_constants" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://github.com/hertz-ai/Nunba/releases/latest/download/Nunba_Setup.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://objects.githubusercontent.com/release-asset/abc.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://play.google.com/store/apps/details?id=com.hertzai.hevolve]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://apps.apple.com/us/app/nunba/id1234567890]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://hevolve.ai/download]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://docs.hevolve.ai/binaries/nunba.dmg]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://testflight.apple.com/join/abc123]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_accepts_allowlisted_hosts[https://release.github.com/Nunba.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[https://evil.example.com/Nunba.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[https://github.com.evil.example/Nunba.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[ftp://github.com/Nunba.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[file:///etc/passwd]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[javascript:alert(1)]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[not a url at all]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_is_allowed_install_link_rejects_non_allowlisted[https:///Nunba.exe]" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_is_registered_in_channel_tool_closures" time="0.006" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_dispatches_to_registry_with_canonical_url" time="0.008" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_returns_friendly_message_when_no_binding" time="0.005" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_rejects_unsupported_channel" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_rejects_unsupported_device" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_rejects_unauthenticated_caller" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_rejects_phishing_url_override" time="0.001" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_rejects_chat_id_not_owned_by_caller" time="0.004" /><testcase classname="tests.unit.test_install_handoff" name="test_send_install_link_accepts_owned_chat_id" time="0.007" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_accepts_canonical_invite_uri" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_accepts_group_with_platform_and_id" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_accepts_meet_with_platform_and_room" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_rejects_empty_or_garbage" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_rejects_https_scheme" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_rejects_missing_trailing_segment" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_rejects_unknown_scheme" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.IsAllowedDeeplinkUriTest" name="test_rejects_unknown_verb" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_group_link" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_invite_link_default_scheme" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_invite_link_nunba_scheme" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_invite_link_rejects_empty_code" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_invite_link_rejects_unknown_scheme" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_meet_link" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_meet_link_rejects_missing_args" time="0.001" /><testcase classname="tests.unit.test_install_links_deeplink.BuilderHelpersTest" name="test_round_trip_builder_validator" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInstruction" name="test_create_instruction" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInstruction" name="test_default_priority" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInstruction" name="test_serialization_roundtrip" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_cancel" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_clear_done" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_deduplication" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_enqueue_and_get_pending" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_mark_done" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_persistence" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_priority_ordering" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestInstructionQueue" name="test_stats" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_batch_marks_instructions_as_batched" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_batch_respects_token_limit" time="0.008" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_batch_token_estimate" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_complete_batch" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_empty_queue_returns_none" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_fail_batch_returns_to_queue" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_pull_multiple_instructions" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_pull_single_instruction" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestBatchConsolidation" name="test_tag_grouping_in_consolidation" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestConvenienceFunctions" name="test_enqueue_instruction" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestConvenienceFunctions" name="test_pull_user_batch" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_complete_batch_notifies_ledger" time="0.004" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_enqueue_graceful_without_ledger" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_enqueue_registers_with_ledger" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_fail_batch_notifies_ledger" time="0.005" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_ledger_ordering_fallback_on_error" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_pull_batch_uses_ledger_ordering" time="0.005" /><testcase classname="tests.unit.test_instruction_queue.TestLedgerIntegration" name="test_task_map_persists_via_context" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_complete_individual_instruction" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_fail_individual_instruction" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_empty_queue" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_marks_instructions_batched" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_mixed_parallel_and_sequential" time="0.004" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_to_dict" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_with_blocked_by" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_with_independent_tasks_one_wave" time="0.004" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_with_sequential_deps_multiple_waves" time="0.004" /><testcase classname="tests.unit.test_instruction_queue.TestExecutionPlan" name="test_plan_without_ledger_single_wave" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestDrainWithWaves" name="test_drain_dispatches_parallel_wave" time="0.007" /><testcase classname="tests.unit.test_instruction_queue.TestDrainWithWaves" name="test_drain_empty_queue" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestDrainWithWaves" name="test_drain_partial_failure" time="0.006" /><testcase classname="tests.unit.test_instruction_queue.TestDrainWithWaves" name="test_drain_sequential_waves_in_order" time="0.007" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_atomic_save_survives_read_after" time="0.008" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_concurrent_enqueue_thread_safe" time="0.022" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_dispatch_drain_skips_when_locked" time="0.002" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_drain_lock_file_created" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_drain_lock_prevents_concurrent_drain" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_no_temp_file_left_after_save" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_pull_plan_and_enqueue_no_double_dispatch" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestConcurrencySafety" name="test_stale_lock_overridden" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInterfaceExtractor" name="test_extract_from_known_file" time="0.005" /><testcase classname="tests.unit.test_instruction_queue.TestInterfaceExtractor" name="test_extract_functions" time="0.010" /><testcase classname="tests.unit.test_instruction_queue.TestInterfaceExtractor" name="test_extract_nonexistent_file" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestInterfaceExtractor" name="test_extract_preserves_types" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_create_shard_full_scope" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_create_shard_interfaces_scope" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_obfuscated_paths" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_shard_expiry" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_validate_result_success" time="0.003" /><testcase classname="tests.unit.test_instruction_queue.TestShardEngine" name="test_validate_result_unauthorized_file" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_keypair_generation" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_keypair_persistence" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_public_key_hex" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_sign_verify" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_wrong_key_verify" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_json_sign_verify" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestNodeIntegrityCrypto" name="test_code_hash_deterministic" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestPeerNodeIntegrityColumns" name="test_default_values" time="0.095" /><testcase classname="tests.unit.test_integrity_system.TestPeerNodeIntegrityColumns" name="test_public_key_stored" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestPeerNodeIntegrityColumns" name="test_code_hash_stored" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestPeerNodeIntegrityColumns" name="test_to_dict_includes_integrity" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestNodeAttestation" name="test_create" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestNodeAttestation" name="test_to_dict" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestNodeAttestation" name="test_expiry" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestIntegrityChallenge" name="test_create" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestIntegrityChallenge" name="test_state_transitions" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestIntegrityChallenge" name="test_to_dict" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestFraudAlert" name="test_create" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestFraudAlert" name="test_severity_levels" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestFraudAlert" name="test_status_transitions" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_handle_agent_count_challenge" time="0.017" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_handle_stats_probe_challenge" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_handle_code_hash_challenge" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_evaluate_valid_response" time="0.011" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_evaluate_nonce_mismatch" time="0.007" /><testcase classname="tests.unit.test_integrity_system.TestChallengeResponse" name="test_evaluate_invalid_signature" time="0.006" /><testcase classname="tests.unit.test_integrity_system.TestImpressionWitness" name="test_witness_accepted" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestImpressionWitness" name="test_witness_banned_node_refused" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestImpressionWitness" name="test_witness_stale_timestamp" time="0.003" /><testcase classname="tests.unit.test_integrity_system.TestImpressionWitness" name="test_witness_count_tracking" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestImpressionWitness" name="test_reduced_credit_without_witness" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_impression_anomaly_detected" time="0.092" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_normal_impressions_not_flagged" time="0.014" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_score_jump_detected" time="0.006" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_gradual_growth_ok" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_fraud_score_increase" time="0.006" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_fraud_score_decrease" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestFraudDetection" name="test_auto_ban_at_threshold" time="0.005" /><testcase classname="tests.unit.test_integrity_system.TestCodeHashVerification" name="test_hash_match_verified" time="0.005" /><testcase classname="tests.unit.test_integrity_system.TestCodeHashVerification" name="test_hash_mismatch_flagged" time="0.006" /><testcase classname="tests.unit.test_integrity_system.TestCodeHashVerification" name="test_registry_fetch_mocked" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestCollusionDetection" name="test_single_dominant_attester_flagged" time="0.008" /><testcase classname="tests.unit.test_integrity_system.TestCollusionDetection" name="test_diverse_attesters_ok" time="0.005" /><testcase classname="tests.unit.test_integrity_system.TestGossipSignatureIntegration" name="test_signed_peer_accepted" time="0.019" /><testcase classname="tests.unit.test_integrity_system.TestGossipSignatureIntegration" name="test_unsigned_backward_compat" time="0.013" /><testcase classname="tests.unit.test_integrity_system.TestGossipSignatureIntegration" name="test_invalid_signature_rejected" time="0.004" /><testcase classname="tests.unit.test_integrity_system.TestGossipSignatureIntegration" name="test_banned_node_rejected" time="0.006" /><testcase classname="tests.unit.test_integrity_system.TestMigrationV11" name="test_schema_version" time="0.001" /><testcase classname="tests.unit.test_integrity_system.TestMigrationV11" name="test_new_tables_exist" time="0.002" /><testcase classname="tests.unit.test_integrity_system.TestMigrationV11" name="test_peer_node_integrity_columns" time="0.002" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_perfect_score_is_platinum" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_high_score_is_gold" time="0.002" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_medium_score_is_silver" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_low_score_is_bronze" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_zero_usage_doesnt_crash" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_thresholds_are_monotonic" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestBadgeLevels" name="test_usage_capped_at_100" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestKarmaCalculation" name="test_returns_int" time="0.004" /><testcase classname="tests.unit.test_karma_and_ratings.TestKarmaCalculation" name="test_human_user_no_task_karma" time="0.004" /><testcase classname="tests.unit.test_karma_and_ratings.TestKarmaCalculation" name="test_karma_breakdown_has_all_keys" time="0.005" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingDimensions" name="test_has_required_dimensions" time="0.002" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingDimensions" name="test_trust_weights_sum_to_one" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingDimensions" name="test_all_dimensions_have_weights" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_rejects_invalid_dimension" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_rejects_score_below_1" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_rejects_score_above_5" time="0.533" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_rejects_self_rating" time="0.001" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_accepts_valid_rating" time="0.005" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_score_boundary_1_accepted" time="0.005" /><testcase classname="tests.unit.test_karma_and_ratings.TestRatingSubmission" name="test_score_boundary_5_accepted" time="0.005" /><testcase classname="tests.unit.test_kong_onboard.TestCreateService" name="test_service_created" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestCreateService" name="test_service_updated" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestCreateService" name="test_service_already_exists_conflict" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestCreateService" name="test_service_post_fallback" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestCreateRoute" name="test_route_created" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestCreateRoute" name="test_route_updated" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_created[key-auth]" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_created[rate-limiting]" time="0.006" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_created[cors]" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_created[request-size-limiting]" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_updated_when_exists" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugin" name="test_plugin_conflict_treated_as_success" time="0.004" /><testcase classname="tests.unit.test_kong_onboard.TestEnablePlugins" name="test_all_plugins_enabled" time="0.005" /><testcase classname="tests.unit.test_kong_onboard.TestVerify" name="test_verify_success" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestVerify" name="test_verify_failure_http" time="0.002" /><testcase classname="tests.unit.test_kong_onboard.TestVerify" name="test_verify_failure_connection" time="0.002" /><testcase classname="tests.unit.test_kong_onboard.TestIdempotency" name="test_onboard_twice_no_error" time="0.009" /><testcase classname="tests.unit.test_kong_onboard.TestErrorHandling" name="test_kong_unreachable" time="0.003" /><testcase classname="tests.unit.test_kong_onboard.TestErrorHandling" name="test_kong_http_error" time="0.006" /><testcase classname="tests.unit.test_kong_onboard.TestCLI" name="test_default_args" time="0.002" /><testcase classname="tests.unit.test_kong_onboard.TestCLI" name="test_custom_args" time="0.001" /><testcase classname="tests.unit.test_kong_onboard.TestCLI" name="test_main_returns_zero_on_success" time="0.001" /><testcase classname="tests.unit.test_kong_onboard.TestCLI" name="test_main_returns_one_on_failure" time="0.001" /><testcase classname="tests.unit.test_langchain_background_delivery.TestBackgroundTaskDelegation" name="test_routes_to_collapsed_path" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestBackgroundTaskDelegation" name="test_active_cleanup_runs" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestBackgroundTaskDelegation" name="test_circuit_breaker_short_circuits" time="0.001" /><testcase classname="tests.unit.test_langchain_background_delivery.TestHiveDispatch" name="test_hive_posts_to_base_url_with_auth" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestHiveDispatch" name="test_hive_returns_empty_on_missing_base_url" time="0.001" /><testcase classname="tests.unit.test_langchain_background_delivery.TestHiveDispatch" name="test_hive_returns_empty_on_http_error" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestHiveDispatch" name="test_hive_returns_empty_on_network_exception" time="0.001" /><testcase classname="tests.unit.test_langchain_background_delivery.TestLocalDispatch" name="test_local_non_bundled_posts_to_chat_route" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestLocalDispatch" name="test_none_model_returns_empty" time="0.001" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_successful_response_delivered_via_existing_channel" time="0.003" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_empty_response_does_not_deliver" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_guardrail_block_does_not_deliver" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_served_by_local_tag" time="0.003" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_served_by_hive_tag" time="0.002" /><testcase classname="tests.unit.test_langchain_background_delivery.TestCollapsedPathDelivery" name="test_record_interaction_carries_escalation_reason" time="0.003" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_blocked_to_pending_valid" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_completed_to_rolled_back" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_invalid_transition_from_terminal_state" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_invalid_transition_pending_to_completed" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_paused_to_resuming_to_in_progress" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_transition_default_reason" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_transition_records_state_history" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_transition_updates_updated_at" time="0.011" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_transition_with_invalid_string" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_transition_with_string_status" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_valid_transition_in_progress_to_completed" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestTransitionTo" name="test_valid_transition_pending_to_in_progress" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateTransitionValidation" name="test_all_terminal_states_block_transitions" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateTransitionValidation" name="test_completed_allows_rolled_back" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateTransitionValidation" name="test_pending_invalid_targets" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateTransitionValidation" name="test_pending_valid_targets" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestThreadSafety" name="test_concurrent_read_write" time="0.010" /><testcase classname="tests.unit.test_ledger_overhaul.TestThreadSafety" name="test_concurrent_status_updates" time="0.017" /><testcase classname="tests.unit.test_ledger_overhaul.TestThreadSafety" name="test_concurrent_task_creation" time="0.273" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateHistory" name="test_failed_transition_not_recorded" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateHistory" name="test_history_has_from_and_to" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateHistory" name="test_history_timestamps_increase" time="0.022" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateHistory" name="test_initial_state_recorded" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestStateHistory" name="test_multiple_transitions_recorded" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestDependencyAutoUnblock" name="test_chain_unblock_three_levels" time="0.004" /><testcase classname="tests.unit.test_ledger_overhaul.TestDependencyAutoUnblock" name="test_direct_dependent_unblocked" time="0.003" /><testcase classname="tests.unit.test_ledger_overhaul.TestDependencyAutoUnblock" name="test_parent_unblocked_when_all_children_complete" time="0.004" /><testcase classname="tests.unit.test_ledger_overhaul.TestAtomicJSONWrites" name="test_atomic_write_creates_file" time="0.003" /><testcase classname="tests.unit.test_ledger_overhaul.TestAtomicJSONWrites" name="test_atomic_write_no_tmp_left_behind" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestAtomicJSONWrites" name="test_atomic_write_overwrites_existing" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestAtomicJSONWrites" name="test_save_is_valid_json" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_invalid_update_rejected" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_string_status_coercion" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_unknown_string_status_rejected" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_update_from_terminal_rejected" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_update_records_state_history" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestUpdateTaskStatusValidation" name="test_valid_update" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_add_task_and_get_task" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_cancel_task" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_complete_task_and_route" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_complete_task_method" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_fail_task_method" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_get_progress_summary" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_get_ready_tasks" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_pause_and_resume_task" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestBackwardsCompatibility" name="test_task_to_dict_from_dict_roundtrip" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestPubSubCaseMismatch" name="test_generate_event_uses_lowercase" time="0.003" /><testcase classname="tests.unit.test_ledger_overhaul.TestPubSubCaseMismatch" name="test_task_status_completed_is_lowercase" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestLLMClientRemoved" name="test_core_llm_client_raises" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestLLMClientRemoved" name="test_helper_ledger_llm_client_raises" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestSequentialTasks" name="test_sequential_tasks_have_prerequisites" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestSequentialTasks" name="test_sequential_tasks_stay_pending" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestAdvancedTransitions" name="test_defer_task" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestAdvancedTransitions" name="test_delegate_task" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestAdvancedTransitions" name="test_rollback_task" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestRetryMechanism" name="test_max_retries_goes_to_failed" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestRetryMechanism" name="test_retry_resets_to_pending" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestGraphStateMachineConsistency" name="test_transitions_match" time="0.002" /><testcase classname="tests.unit.test_ledger_overhaul.TestLifecycleHooksPaths" name="test_blocked_to_in_progress_path" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestLifecycleHooksPaths" name="test_paused_to_in_progress_via_resume" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestEdgeCases" name="test_add_duplicate_task_rejected" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestEdgeCases" name="test_empty_ledger_progress" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestEdgeCases" name="test_task_is_resumable" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestEdgeCases" name="test_task_is_terminal" time="0.001" /><testcase classname="tests.unit.test_ledger_overhaul.TestEdgeCases" name="test_update_nonexistent_task" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionStateEnum" name="test_all_values_present" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionStateEnum" name="test_enum_count" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionStateEnum" name="test_flow_state_enum" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestGetSetActionState" name="test_default_is_assigned" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestGetSetActionState" name="test_set_then_get" time="0.004" /><testcase classname="tests.unit.test_lifecycle_hooks.TestGetSetActionState" name="test_idempotent_same_state" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestGetSetActionState" name="test_invalid_transition_raises" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestGetSetActionState" name="test_thread_safety" time="0.026" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateStateTransition" name="test_assigned_to_in_progress" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateStateTransition" name="test_assigned_to_completed_invalid" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateStateTransition" name="test_error_to_terminated_valid" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateStateTransition" name="test_terminated_to_assigned" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateStateTransition" name="test_preview_pending_to_approved" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestForceStateThroughValidPath" name="test_assigned_to_in_progress" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestForceStateThroughValidPath" name="test_assigned_to_completed" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestForceStateThroughValidPath" name="test_same_state_returns_true" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestForceStateThroughValidPath" name="test_no_valid_path_returns_false" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestForceStateThroughValidPath" name="test_error_to_completed" time="0.004" /><testcase classname="tests.unit.test_lifecycle_hooks.TestSafeSetState" name="test_valid_returns_true" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestSafeSetState" name="test_invalid_returns_false" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_with_int" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_with_action_object_no_group_chat" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_with_ttl_cache_missing_prompt" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_with_ttl_cache_valid" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_with_none_like_object" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackActionAssignment" name="test_locked_state_skips" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackStatusVerification" name="test_with_int" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackStatusVerification" name="test_with_action_object_and_group_chat" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackStatusVerification" name="test_with_ttl_cache_missing" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackStatusVerification" name="test_no_status_verifier_mention" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackFallbackRequest" name="test_with_action_object" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackFallbackRequest" name="test_with_ttl_cache" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackFallbackRequest" name="test_no_fallback_keyword" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackFallbackRequest" name="test_returns_false_for_unsupported_type" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackUserFallback" name="test_with_action_object" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackUserFallback" name="test_not_in_fallback_requested_state" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackUserFallback" name="test_with_ttl_cache" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeRequest" name="test_with_action_object" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeRequest" name="test_no_recipe_keyword" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeRequest" name="test_returns_false_for_unsupported_type" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeCompletion" name="test_recipe_done" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeCompletion" name="test_no_status_key" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeCompletion" name="test_none_json" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeCompletion" name="test_status_not_done" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackRecipeCompletion" name="test_with_ttl_cache" time="0.004" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackTermination" name="test_terminate_message" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackTermination" name="test_no_terminate_keyword" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestTrackTermination" name="test_returns_false_for_unsupported_type" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCheckAllActionsTerminated" name="test_all_terminated" time="0.008" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCheckAllActionsTerminated" name="test_not_all_terminated" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCheckAllActionsTerminated" name="test_continue_actions" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCheckAllActionsTerminated" name="test_with_ttl_cache" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCheckAllActionsTerminated" name="test_unsupported_type" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateFinalAgentCreation" name="test_all_terminated_and_files_exist" time="0.004" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateFinalAgentCreation" name="test_blocks_when_not_terminated" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateFinalAgentCreation" name="test_blocks_when_no_tasks" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestValidateFinalAgentCreation" name="test_missing_recipe_file" time="0.004" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_no_ledger_registered_skips" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_task_not_in_ledger_skips" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_skip_noop_transition" time="0.005" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_paused_to_in_progress_resumes" time="0.007" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_blocked_to_in_progress_resumes" time="0.006" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_claims_ownership_on_in_progress" time="0.005" /><testcase classname="tests.unit.test_lifecycle_hooks.TestAutoSyncToLedger" name="test_sets_blocked_reason_for_preview_pending" time="0.005" /><testcase classname="tests.unit.test_lifecycle_hooks.TestEnforcement" name="test_enforce_action_termination_raises" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestEnforcement" name="test_enforce_action_termination_ok" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestEnforcement" name="test_enforce_all_terminated_true" time="0.005" /><testcase classname="tests.unit.test_lifecycle_hooks.TestEnforcement" name="test_enforce_all_terminated_false" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionRetryTracker" name="test_increment_under_threshold" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionRetryTracker" name="test_increment_over_threshold" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestActionRetryTracker" name="test_reset_count" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestFlowLifecycleState" name="test_set_and_get" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCanIncrementAction" name="test_blocks_if_not_terminated" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestCanIncrementAction" name="test_allows_if_terminated" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_extract_ownership_from_prompt" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_extract_ownership_no_underscore" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_register_and_get_ledger" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_initialize_deterministic_actions" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_initialize_minimal_lifecycle_hooks" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_validate_flow_pattern" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_debug_action_flow_not_started" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestUtilities" name="test_debug_action_flow_terminated" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestBlockResumeUserInput" name="test_block_no_ledger" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestBlockResumeUserInput" name="test_resume_no_ledger" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestBlockResumeUserInput" name="test_block_task_not_in_progress" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestBlockResumeUserInput" name="test_resume_task_not_blocked" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestRestoreFromLedger" name="test_restore_actions" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestRestoreFromLedger" name="test_restore_skips_bad_task_ids" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestProcessVerifierResponse" name="test_completed_status" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestProcessVerifierResponse" name="test_pending_status" time="0.002" /><testcase classname="tests.unit.test_lifecycle_hooks.TestProcessVerifierResponse" name="test_error_status" time="0.003" /><testcase classname="tests.unit.test_lifecycle_hooks.TestProcessVerifierResponse" name="test_no_status_key" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestProcessVerifierResponse" name="test_none_json" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestPublishNarrationRemoved" name="test_hook_symbol_is_gone" time="0.001" /><testcase classname="tests.unit.test_lifecycle_hooks.TestPublishNarrationRemoved" name="test_dedupe_cache_is_gone" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_is_vision_backend[MiniCPMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_is_vision_backend[MobileVLMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_is_vision_backend[CLIPBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_is_vision_backend[NoneBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_name[MiniCPMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_name[MobileVLMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_name[CLIPBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_name[NoneBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_requires_gpu[MiniCPMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_requires_gpu[MobileVLMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_requires_gpu[CLIPBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_requires_gpu[NoneBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_ram_mb[MiniCPMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_ram_mb[MobileVLMBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_ram_mb[CLIPBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionBackendInterface" name="test_has_ram_mb[NoneBackend]" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_name" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_always_available" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_no_gpu_required" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_zero_ram" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_describe_returns_none" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestNoneBackend" name="test_start_returns_true" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_name" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_requires_gpu" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_ram_4gb" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_port_from_env" time="0.003" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_describe_http_call" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestMiniCPMBackend" name="test_describe_failure_returns_none" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_name" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_no_gpu_required" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_ram_300mb" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_available_if_onnxruntime" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_unavailable_without_onnxruntime" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestMobileVLMBackend" name="test_describe_without_start_returns_none" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestCLIPBackend" name="test_name" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestCLIPBackend" name="test_no_gpu_required" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestCLIPBackend" name="test_ram_400mb" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestCLIPBackend" name="test_describe_without_start_returns_none" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestBackendRegistry" name="test_backends_registered" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestBackendRegistry" name="test_all_names_present" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestBackendRegistry" name="test_list_available_backends" time="0.012" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_explicit_none" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_explicit_minicpm" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_explicit_mobilevlm" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_explicit_clip" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_env_var_override" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_unknown_backend_returns_none_backend" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_auto_select_gpu" time="0.007" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_auto_select_no_gpu_with_onnx" time="0.007" /><testcase classname="tests.unit.test_lightweight_vision.TestGetVisionBackend" name="test_auto_select_fallback_to_none" time="0.009" /><testcase classname="tests.unit.test_lightweight_vision.TestBackendProperties" name="test_gpu_backends_have_high_ram" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestBackendProperties" name="test_cpu_backends_under_1gb" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_detect_mode_embedded" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_detect_mode_lite" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_detect_mode_standard" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_detect_mode_fallback" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_headless_mode_starts_no_threads" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_describe_frame_uses_lightweight_backend" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_describe_frame_minicpm_path" time="0.001" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_get_status_includes_backend" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestVisionServiceBackendIntegration" name="test_stop_cleans_up_backend" time="0.002" /><testcase classname="tests.unit.test_lightweight_vision.TestModelRegistryVisionLite" name="test_mobilevlm_registered_when_enabled" time="0.003" /><testcase classname="tests.unit.test_lightweight_vision.TestModelRegistryVisionLite" name="test_mobilevlm_is_fast_tier" time="0.001" /><testcase classname="tests.unit.test_liquid_ui_meet_copilot.MeetCopilotComponentTypeTest" name="test_agent_ui_update_accepts_meet_copilot" time="0.019" /><testcase classname="tests.unit.test_liquid_ui_meet_copilot.MeetCopilotComponentTypeTest" name="test_agent_ui_update_rejects_typo" time="0.001" /><testcase classname="tests.unit.test_liquid_ui_meet_copilot.MeetCopilotComponentTypeTest" name="test_meet_copilot_in_component_types" time="0.001" /><testcase classname="tests.unit.test_liquid_ui_meet_copilot.MeetCopilotComponentTypeTest" name="test_meet_copilot_props_documented" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.ResampleTest" name="test_downmix_stereo_then_resample" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.ResampleTest" name="test_downsample_only_no_channel_change" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.ResampleTest" name="test_empty_returns_empty" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.ResampleTest" name="test_garbage_returns_empty" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.ResampleTest" name="test_passthrough_when_already_16k_mono" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_first_frame_opens_one_ws" time="0.003" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_same_participant_reuses_ws" time="0.002" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_send_failure_drops_ws_then_reconnects" time="0.004" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_skips_after_stop" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_skips_empty_pcm" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_skips_when_call_id_missing" time="0.110"><failure message="AssertionError: True is not false">tests/unit/test_livekit_transcript_subscriber.py:127: in test_skips_when_call_id_missing
    self.assertFalse(sub.push_frame('alice', b'\x00' * 100))
E   AssertionError: True is not false</failure></testcase><testcase classname="tests.unit.test_livekit_transcript_subscriber.PushFrameTest" name="test_two_participants_two_ws" time="0.005" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.StartStopNoLibTest" name="test_start_is_noop_without_lib" time="0.001" /><testcase classname="tests.unit.test_livekit_transcript_subscriber.CrossProducerInvariantTest" name="test_url_uses_canonical_call_id_and_user_id_query" time="0.002" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_empty_text_returns_error" time="0.004" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_whitespace_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_synthesize_success" time="0.005" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_no_voice_returns_error" time="0.002" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_import_error_returns_error" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSSynthesize" name="test_auto_generates_output_path" time="0.005" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSListVoices" name="test_empty_voices" time="0.007" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSListVoices" name="test_lists_saved_voices" time="0.006" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSListVoices" name="test_engine_not_installed" time="0.003" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSCloneVoice" name="test_missing_audio_path" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSCloneVoice" name="test_missing_name" time="0.002" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSCloneVoice" name="test_clone_copies_wav" time="0.003" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSCloneVoice" name="test_clone_clears_cache" time="0.003" /><testcase classname="tests.unit.test_luxtts_tool.TestUnloadLuxTTS" name="test_unload_clears_state" time="0.495" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSToolRegistration" name="test_registers_with_registry" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSToolRegistration" name="test_registered_tool_has_endpoints" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSToolRegistration" name="test_registered_tool_tags" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestModelBusLuxTTS" name="test_route_tts_tries_luxtts_first" time="0.002" /><testcase classname="tests.unit.test_luxtts_tool.TestModelBusLuxTTS" name="test_route_tts_falls_through_on_luxtts_error" time="0.002" /><testcase classname="tests.unit.test_luxtts_tool.TestModelBusLuxTTS" name="test_try_luxtts_calls_synthesize" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestModelRegistryLuxTTS" name="test_luxtts_registered_when_available" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestTTSProviderEnum" name="test_luxtts_in_providers" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestTTSProviderEnum" name="test_luxtts_before_pocket" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSConstants" name="test_sample_rate" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSConstants" name="test_model_tarball_name" time="0.001" /><testcase classname="tests.unit.test_luxtts_tool.TestLuxTTSConstants" name="test_prompt_cache_is_dict" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_agent" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_channel" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_desktop_app" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_dynamic_panel" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_extension" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_mcp_server" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_nunba_panel" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_service" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestValidManifests" name="test_system_panel" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidID" name="test_empty_id" time="0.003" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidID" name="test_spaces" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidID" name="test_special_chars" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidID" name="test_starts_with_hyphen" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidID" name="test_too_long" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidType" name="test_nonexistent_type" time="0.003" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidVersion" name="test_auto_is_valid" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidVersion" name="test_latest" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidVersion" name="test_partial_semver" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidVersion" name="test_semver_is_valid" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidVersion" name="test_text_version" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidEntry" name="test_agent_missing_prompt_id" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidEntry" name="test_desktop_missing_exec" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidEntry" name="test_panel_missing_route" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidEntry" name="test_service_needs_http_or_exec" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidEntry" name="test_service_with_exec_is_valid" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidPermissions" name="test_empty_permissions_valid" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidPermissions" name="test_unknown_permission" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidPermissions" name="test_valid_permissions" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_accuracy_over_one" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_inf_value" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_invalid_type" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_nan_value" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_negative_accuracy" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_not_a_dict" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidAICapabilities" name="test_valid_capabilities" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidSize" name="test_negative_height" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidSize" name="test_too_large" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidSize" name="test_valid_size" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestInvalidSize" name="test_zero_width" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestAppRegistryIntegration" name="test_register_accepts_valid_manifest" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestAppRegistryIntegration" name="test_register_rejects_invalid_manifest" time="0.003" /><testcase classname="tests.unit.test_manifest_validator.TestHartAppValidation" name="test_invalid_builder_raises" time="0.002" /><testcase classname="tests.unit.test_manifest_validator.TestHartAppValidation" name="test_valid_builder" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestConstants" name="test_all_app_types_have_schema" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestConstants" name="test_known_permissions_frozenset" time="0.001" /><testcase classname="tests.unit.test_manifest_validator.TestConstants" name="test_valid_types_matches_enum" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterKeyGeneration" name="test_generate_keypair_produces_valid_keys" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterKeyGeneration" name="test_keypair_hex_lengths" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterSignatureVerification" name="test_valid_signature" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterSignatureVerification" name="test_invalid_signature" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterSignatureVerification" name="test_tampered_payload" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestMasterSignatureVerification" name="test_master_signature_field_excluded" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_load_manifest_file" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_load_manifest_missing" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_load_manifest_invalid_json" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_verify_valid_manifest" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_verify_unsigned_manifest" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestReleaseManifest" name="test_verify_manifest_wrong_key" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestCodeHashComparison" name="test_matching_hash" time="0.003" /><testcase classname="tests.unit.test_master_key_system.TestCodeHashComparison" name="test_mismatched_hash" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_dev_mode_true" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_dev_mode_false" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_dev_mode_unset" time="0.004" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_enforcement_hard" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_enforcement_soft" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestEnforcementModes" name="test_enforcement_invalid_defaults_hard" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestBootVerification" name="test_dev_mode_bypass" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestBootVerification" name="test_enforcement_off" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestBootVerification" name="test_no_manifest_fails" time="0.004" /><testcase classname="tests.unit.test_master_key_system.TestBootVerification" name="test_valid_manifest_passes" time="0.006" /><testcase classname="tests.unit.test_master_key_system.TestBootVerification" name="test_tampered_code_fails" time="0.005" /><testcase classname="tests.unit.test_master_key_system.TestRuntimeMonitor" name="test_monitor_starts_healthy" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestRuntimeMonitor" name="test_monitor_detects_tamper" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestRuntimeMonitor" name="test_is_code_healthy_without_monitor" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestGossipMasterKeyVerification" name="test_peer_accepted_matching_hash" time="0.113" /><testcase classname="tests.unit.test_master_key_system.TestGossipMasterKeyVerification" name="test_peer_rejected_mismatched_hash_hard" time="0.006" /><testcase classname="tests.unit.test_master_key_system.TestGossipMasterKeyVerification" name="test_peer_allowed_mismatched_hash_warn" time="0.010" /><testcase classname="tests.unit.test_master_key_system.TestPeerNodeMasterKeyFields" name="test_default_master_key_verified" time="0.006" /><testcase classname="tests.unit.test_master_key_system.TestPeerNodeMasterKeyFields" name="test_master_key_verified_set" time="0.003" /><testcase classname="tests.unit.test_master_key_system.TestPeerNodeMasterKeyFields" name="test_to_dict_includes_fields" time="0.003" /><testcase classname="tests.unit.test_master_key_system.TestIntegrityServiceMasterKey" name="test_verify_code_hash_uses_manifest_first" time="0.005" /><testcase classname="tests.unit.test_master_key_system.TestIntegrityServiceMasterKey" name="test_verify_code_hash_mismatch_via_manifest" time="0.009" /><testcase classname="tests.unit.test_master_key_system.TestMigrationV12" name="test_migration_adds_columns" time="0.001" /><testcase classname="tests.unit.test_master_key_system.TestSignReleaseScript" name="test_sign_and_verify_roundtrip" time="0.002" /><testcase classname="tests.unit.test_master_key_system.TestSelfInfoReleaseData" name="test_self_info_includes_release_fields" time="0.006" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostAdapter" name="test_adapter_creation" time="0.022" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostAdapter" name="test_api_url_construction" time="0.024" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostAdapter" name="test_message_handler_registration" time="0.023" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostMessageConversion" name="test_message_structure" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostMessageConversion" name="test_media_attachment" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostMessageConversion" name="test_thread_message" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestInteractiveMessage" name="test_interactive_message_creation" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestInteractiveMessage" name="test_interactive_message_with_buttons" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestInteractiveMessage" name="test_interactive_message_with_select_menu" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestSlashCommands" name="test_slash_command_registration" time="0.004" /><testcase classname="tests.unit.test_mattermost_adapter.TestSlashCommands" name="test_slash_command_execution" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostFactoryFunction" name="test_factory_with_params" time="0.002" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostFactoryFunction" name="test_factory_with_env_vars" time="0.004" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostFactoryFunction" name="test_factory_missing_params_raises" time="0.002" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostConfiguration" name="test_default_config" time="0.002" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostConfiguration" name="test_custom_config" time="0.002" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostReactions" name="test_reaction_data_structure" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostThreads" name="test_thread_root_detection" time="0.001" /><testcase classname="tests.unit.test_mattermost_adapter.TestMattermostDockerCompatibility" name="test_env_var_configuration" time="0.004" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveToolsRegistered" name="test_thought_experiment_tools_present" time="0.009" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveToolsRegistered" name="test_auto_evolve_tools_present" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveToolsRegistered" name="test_autoevolve_code_tools_present" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveToolsRegistered" name="test_tool_count_grew_by_expected_amount" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveToolsRegistered" name="test_no_duplicate_registration" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveJsonSchemaRoundtrip" name="test_tool_schema_round_trip[create_thought_experiment-expected_required0]" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveJsonSchemaRoundtrip" name="test_tool_schema_round_trip[start_auto_evolve-expected_required1]" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveJsonSchemaRoundtrip" name="test_tool_schema_round_trip[autoresearch_setup-expected_required2]" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveJsonSchemaRoundtrip" name="test_execute_unknown_autoevolve_tool_returns_404" time="0.007" /><testcase classname="tests.unit.test_mcp_autoevolve_registration.TestAutoEvolveJsonSchemaRoundtrip" name="test_execute_auto_evolve_missing_required_returns_400" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPHealth" name="test_health_returns_ok" time="0.006" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPHealth" name="test_health_reports_tool_count" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolsList" name="test_list_returns_tools_array" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolsList" name="test_each_tool_has_required_fields" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolsList" name="test_known_tools_present" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolsList" name="test_tool_parameters_have_schema" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolExecution" name="test_execute_missing_tool_name_returns_400" time="0.006" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolExecution" name="test_execute_unknown_tool_returns_404" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolExecution" name="test_execute_empty_body_returns_400" time="0.006" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolExecution" name="test_execute_list_recipes" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestMCPToolExecution" name="test_execute_with_bad_arguments" time="0.006" /><testcase classname="tests.unit.test_mcp_http_bridge.TestParameterExtraction" name="test_extract_parameters_basic" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestParameterExtraction" name="test_extract_parameters_no_args" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestParameterExtraction" name="test_extract_parameters_none" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestParameterExtraction" name="test_extract_parameters_types" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestToolLoading" name="test_loads_tools" time="0.003" /><testcase classname="tests.unit.test_mcp_http_bridge.TestToolLoading" name="test_idempotent" time="0.003" /><testcase classname="tests.unit.test_mcp_http_bridge.TestToolLoading" name="test_all_tools_have_callables" time="0.003" /><testcase classname="tests.unit.test_mcp_http_bridge.TestAutoRegistration" name="test_auto_register_adds_to_registry" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestAutoRegistration" name="test_auto_register_idempotent" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestPortRegistry" name="test_mcp_port_registered" time="0.001" /><testcase classname="tests.unit.test_mcp_http_bridge.TestPortRegistry" name="test_mcp_port_env_override" time="0.002" /><testcase classname="tests.unit.test_mcp_http_bridge.TestConnectorCompatibility" name="test_health_contract" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestConnectorCompatibility" name="test_tools_list_contract" time="0.007" /><testcase classname="tests.unit.test_mcp_http_bridge.TestConnectorCompatibility" name="test_tools_execute_contract" time="0.006" /><testcase classname="tests.unit.test_mcp_http_bridge.TestE2ERoundtrip" name="test_discover_then_execute" time="0.008" /><testcase classname="tests.unit.test_media_curator_service" name="test_approve_post_this" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_approve_share_it" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_approve_looks_great" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_approve_keep_this" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_reject_skip_it" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_reject_not_this" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_reject_pass" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_reject_drop_it" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_caption_with_hiking_vibe" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_caption_with_indie_film_tone" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_caption_in_minimalist_style" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_caption_filler_only_does_not_match_caption_style" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_caption_it_with_real_word_captures_style" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_schedule_friday_morning_beats_approve" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_schedule_relative_tomorrow" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_schedule_just_a_time_of_day" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_schedule_confidence_scales_with_specificity" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_channels_single_platform" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_channels_multiple_platforms" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_channels_x_alias_normalizes_to_twitter" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_empty_string_returns_unknown" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_whitespace_only_returns_unknown" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_unrecognised_text_returns_unknown" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_returned_object_is_curator_intent_dataclass" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_llm_callback_used_when_returns_valid_intent" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_llm_callback_invalid_kind_falls_back" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_llm_callback_raises_falls_back" time="0.001" /><testcase classname="tests.unit.test_media_curator_service" name="test_llm_callback_returns_non_dict_falls_back" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchMatch" name="test_match_creation" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchMatch" name="test_match_to_dict" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchResults" name="test_results_creation" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchResults" name="test_results_empty" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestSearchResults" name="test_results_to_dict" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestContextMatch" name="test_context_match_creation" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestContextMatch" name="test_context_match_to_dict" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestContextResults" name="test_context_results_creation" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_creation" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_add_source" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_remove_source" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_remove_nonexistent_source" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_text_mode" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_no_results" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_multiple_sources" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_specific_sources" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_max_results" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_no_sources" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_hybrid_mode" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_with_embedding_cache" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_parallel_sources" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_search_duration_tracking" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_close" time="0.002" /><testcase classname="tests.unit.test_memory_search.TestMemorySearch" name="test_context_manager" time="0.001" /><testcase classname="tests.unit.test_memory_search.TestMemoryStoreSource" name="test_source_name" time="0.002" /><testcase classname="tests.unit.test_memory_search.TestMemoryStoreSource" name="test_search_fts" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestMemoryStoreSource" name="test_search_with_filter" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestSessionHistorySource" name="test_source_name" time="0.009" /><testcase classname="tests.unit.test_memory_search.TestSessionHistorySource" name="test_add_message" time="0.008" /><testcase classname="tests.unit.test_memory_search.TestSessionHistorySource" name="test_search" time="0.008"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestSessionHistorySource" name="test_search_with_session_filter" time="0.008"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestSessionHistorySource" name="test_get_context" time="0.008"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_memory_search.TestSearchContextIntegration" name="test_search_context" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_publish_default_invokes_sse_leg" time="0.005" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_publish_skip_sse_true_omits_leg" time="0.001" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_publish_default_skip_sse_is_false" time="0.001" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_sse_failure_does_not_break_publish" time="0.005" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_sse_no_broker_returns_false_silent" time="0.005" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_sse_event_module_unimportable_does_not_crash" time="0.005" /><testcase classname="tests.unit.test_message_bus_sse_leg" name="test_publish_sse_uses_resolved_user_id_not_data_field" time="0.009" /><testcase classname="tests.unit.test_message_queue.TestQueuedMessage" name="test_message_creation" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueuedMessage" name="test_content_hash_generated" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueuedMessage" name="test_same_content_same_hash" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueuedMessage" name="test_different_content_different_hash" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueBacklogPolicy" name="test_enqueue_dequeue_basic" time="0.002" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueBacklogPolicy" name="test_fifo_ordering" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueBacklogPolicy" name="test_peek_does_not_remove" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueBacklogPolicy" name="test_dequeue_empty_returns_none" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueBacklogPolicy" name="test_is_empty_and_is_full" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueDropPolicy" name="test_drop_policy_rejects_when_full" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueueLatestPolicy" name="test_latest_policy_keeps_only_newest" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueuePriorityPolicy" name="test_priority_ordering" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageQueuePriorityPolicy" name="test_priority_override_on_enqueue" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDropPolicies" name="test_drop_old_policy" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDropPolicies" name="test_drop_new_policy" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDropPolicies" name="test_summarize_policy" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDropPolicies" name="test_get_dropped_summary" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDeduplication" name="test_dedupe_by_message_id" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDeduplication" name="test_dedupe_by_content" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDeduplication" name="test_dedupe_combined" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDeduplication" name="test_dedupe_none" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageExpiration" name="test_expired_messages_removed" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestMessageExpiration" name="test_fresh_messages_not_expired" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueClear" name="test_clear_removes_all" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueStats" name="test_stats_tracking" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueStats" name="test_stats_to_dict" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestCollectMode" name="test_collect_multiple_messages" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestCollectMode" name="test_collect_with_custom_limit" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDebounce" name="test_should_debounce" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestDebounce" name="test_time_until_debounce_complete" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_get_queue_creates_new" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_get_queue_returns_existing" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_get_queue_create_false" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_different_chats_different_queues" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_different_channels_different_queues" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_delete_queue" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_list_queues" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_get_total_size" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_process_all" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_channel_config" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestQueueManager" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestGlobalQueueManager" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_message_queue.TestConcurrency" name="test_concurrent_enqueue" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestMeteredAPIUsageModel" name="test_model_has_required_columns" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestMeteredAPIUsageModel" name="test_model_importable" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestMeteredAPIUsageModel" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestNodeComputeConfigModel" name="test_default_values" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestNodeComputeConfigModel" name="test_model_importable" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestNodeComputeConfigModel" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_cause_alignment" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_electricity_rate" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_energy_kwh" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_gpu_hours" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_metered_costs" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_has_total_inferences" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestPeerNodeComputeColumns" name="test_peer_node_to_dict_includes_new_fields" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_estimated_spark_calculation" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_estimated_spark_minimum_is_1" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_happy_path_own_task_records" time="0.005" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_hive_task_sets_pending_status" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_negative_cost_not_recorded" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_own_task_sets_settled_status" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_usd_cost_calculation" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_zero_cost_not_recorded" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestRecordMeteredUsage" name="test_zero_tokens_not_recorded" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreWeights" name="test_api_costs_weight_exists" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreWeights" name="test_energy_weight_exists" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreWeights" name="test_gpu_hours_weight_exists" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreWeights" name="test_inferences_weight_exists" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreWeights" name="test_original_weights_preserved" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_settle_awards_spark_on_valid_record" time="0.008" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_settle_empty_db_returns_zeros" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_settle_function_importable" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_settle_result_keys" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_settle_writes_off_no_operator" time="0.004" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_spark_per_usd_default" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestSettlementFunction" name="test_spark_per_usd_env_var_format" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestAPIKeyProtection" name="test_hive_task_strips_keys_by_default" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestAPIKeyProtection" name="test_hive_task_with_opt_in_passes_keys" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestAPIKeyProtection" name="test_own_task_passes_keys" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreIntegration" name="test_score_breakdown_has_all_8_keys" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreIntegration" name="test_score_includes_api_costs_in_calculation" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreIntegration" name="test_score_includes_gpu_hours_in_calculation" time="0.008" /><testcase classname="tests.unit.test_metered_recovery.TestContributionScoreIntegration" name="test_score_returns_none_for_missing_node" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestAggregateComputeStats" name="test_aggregate_result_keys" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestAggregateComputeStats" name="test_aggregate_returns_none_for_missing_node" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestAggregateComputeStats" name="test_aggregate_with_no_usages" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestAggregateComputeStats" name="test_aggregate_with_usages" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestGetRewardSummary" name="test_reward_summary_has_required_keys" time="0.006" /><testcase classname="tests.unit.test_metered_recovery.TestGetRewardSummary" name="test_reward_summary_missing_node" time="0.003" /><testcase classname="tests.unit.test_metered_recovery.TestTaskSourcePropagation" name="test_dispatch_sends_hive_source" time="0.002" /><testcase classname="tests.unit.test_metered_recovery.TestTaskSourcePropagation" name="test_task_distributor_delegates_to_dispatch_goal" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestDeduplicationGuard" name="test_cause_alignment_only_on_peer_node" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestDeduplicationGuard" name="test_electricity_rate_only_on_peer_node" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestDeduplicationGuard" name="test_metered_api_usage_vs_api_usage_log_distinct" time="0.001" /><testcase classname="tests.unit.test_metered_recovery.TestDeduplicationGuard" name="test_revenue_split_single_source" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelState" name="test_initial_defaults" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelState" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelState" name="test_priority_values" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_initial_state" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_get_status_structure" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_on_tool_started_creates_state" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_on_tool_started_cpu_offload" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_on_tool_stopped_marks_unloaded" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_notify_access_updates" time="0.011" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_inference_guard" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestModelLifecycleManager" name="test_inference_guard_exception_safe" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_active_inference_sets_active" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_recent_access_sets_warm" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_old_access_sets_idle" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_very_old_access_sets_evictable" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_hive_boost_extends_warm" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPriorityUpdates" name="test_unloaded_models_skipped" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPressureDetection" name="test_vram_pressure_below_threshold" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPressureDetection" name="test_vram_pressure_above_threshold" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestPressureDetection" name="test_ram_pressure_no_psutil" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestEviction" name="test_evict_idle_model" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestEviction" name="test_active_inference_prevents_eviction" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestTierAwareness" name="test_standard_tier_allows_whisper" time="0.004" /><testcase classname="tests.unit.test_model_lifecycle.TestTierAwareness" name="test_standard_tier_blocks_minicpm" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestTierAwareness" name="test_full_tier_allows_minicpm" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestTierAwareness" name="test_unknown_tier_allows_all" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_set_priority_valid" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_set_priority_invalid" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_set_priority_unknown_model" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_manual_offload_not_loaded" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_manual_offload_unloaded" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestManualAPI" name="test_manual_offload_already_cpu" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestVRAMManagerAdditions" name="test_get_vram_usage_pct_no_gpu" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestVRAMManagerAdditions" name="test_get_vram_usage_pct_with_gpu" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestVRAMManagerAdditions" name="test_get_actual_free_vram" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestRTMHooks" name="test_hook_registration" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestRTMHooks" name="test_hook_notification" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestRTMHooks" name="test_hook_error_does_not_propagate" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestConfigTables" name="test_idle_timeouts_all_positive" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestConfigTables" name="test_cpu_offload_table_has_all_models" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestConfigTables" name="test_model_min_tier_uses_valid_tiers" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestFederationLifecycle" name="test_receive_lifecycle_delta" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestFederationLifecycle" name="test_aggregate_lifecycle_empty" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestFederationLifecycle" name="test_aggregate_lifecycle_popularity" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestFederationLifecycle" name="test_lifecycle_stats_in_dashboard" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestCPUPressure" name="test_detect_cpu_pressure_below_threshold" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestCPUPressure" name="test_detect_cpu_pressure_above_threshold" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestDiskPressure" name="test_detect_disk_pressure_plenty_space" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestDiskPressure" name="test_detect_disk_pressure_low_space" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestThrottleFactor" name="test_throttle_factor_no_pressure" time="0.003" /><testcase classname="tests.unit.test_model_lifecycle.TestThrottleFactor" name="test_throttle_factor_heavy_cpu" time="0.003" /><testcase classname="tests.unit.test_model_lifecycle.TestSystemPressureAPI" name="test_get_system_pressure_structure" time="0.004" /><testcase classname="tests.unit.test_model_lifecycle.TestRestartIdempotence" name="test_first_dead_detection_queues" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestRestartIdempotence" name="test_repeat_dead_detection_does_not_re_queue" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle.TestRestartIdempotence" name="test_in_progress_flag_blocks_new_dead_detection" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle.TestRestartIdempotence" name="test_pre_spawn_probe_skips_when_alive" time="0.003" /><testcase classname="tests.unit.test_model_lifecycle.TestRestartIdempotence" name="test_pre_spawn_probe_picks_cpu_on_no_cuda" time="0.003" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPinnedModelEvictionPolicy" name="test_pinned_model_excluded_from_evict_candidates" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPinnedModelEvictionPolicy" name="test_pinned_model_excluded_from_vram_pressure_candidates" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPinnedModelEvictionPolicy" name="test_pinned_model_stays_active_after_long_idle" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPressureEvictOnlyPolicy" name="test_main_llm_caps_at_idle_not_evictable" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPressureEvictOnlyPolicy" name="test_main_llm_not_in_idle_eviction_candidates" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestPressureEvictOnlyPolicy" name="test_main_llm_still_appears_in_vram_pressure_candidates" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestDefaultEvictionPolicyUnchanged" name="test_default_model_appears_in_idle_candidates" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestDefaultEvictionPolicyUnchanged" name="test_default_model_demotes_to_evictable_after_timeout" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestActiveInferenceGuardStillWins" name="test_active_inference_beats_idle_timeout" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestRegisterLifecycleAssignsCorrectPolicy" name="test_chat_only_main_keeps_pressure_evict_only" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestRegisterLifecycleAssignsCorrectPolicy" name="test_draft_classifier_stays_pinned" time="0.001" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestRegisterLifecycleAssignsCorrectPolicy" name="test_draft_via_id_fallback_stays_pinned" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestRegisterLifecycleAssignsCorrectPolicy" name="test_main_plus_vlm_via_id_is_pinned_when_purposes_empty" time="0.002" /><testcase classname="tests.unit.test_model_lifecycle_pinning.TestRegisterLifecycleAssignsCorrectPolicy" name="test_main_plus_vlm_via_purpose_is_pinned" time="0.002" /><testcase classname="tests.unit.test_model_orchestrator_stale_cache" name="test_load_returns_early_when_probe_confirms_loaded" time="0.005" /><testcase classname="tests.unit.test_model_orchestrator_stale_cache" name="test_load_reconciles_stale_cache_when_probe_says_dead" time="0.010" /><testcase classname="tests.unit.test_model_orchestrator_stale_cache" name="test_load_falls_back_to_cache_flag_when_probe_raises" time="0.005" /><testcase classname="tests.unit.test_model_orchestrator_stale_cache" name="test_load_uses_default_is_loaded_when_loader_has_no_override" time="0.003" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_respects_min_accuracy" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_returns_highest_accuracy_local" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_returns_local_only" time="0.002" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_returns_none_when_min_accuracy_too_high" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_returns_none_when_no_local_models" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetLocalModel" name="test_returns_none_when_no_models" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_any_returns_fastest" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_hive_task_enforces_local_preferred" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_hive_task_with_any_policy_allows_metered" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_idle_task_same_as_hive" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_local_only_blocks_metered" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_local_only_returns_local" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_local_preferred_falls_back_to_metered" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_local_preferred_returns_local_when_available" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestGetModelByPolicy" name="test_own_task_respects_configured_policy" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestThreadLocalTaskSource" name="test_default_task_source_is_own" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestThreadLocalTaskSource" name="test_idle_task_source" time="0.001" /><testcase classname="tests.unit.test_model_routing.TestThreadLocalTaskSource" name="test_set_and_get_task_source" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_all_five_slugs_present" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_audience_classification" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_autonomous_and_continuous" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_budgets_are_modest" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_cadence_present" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_goal_type_reuses_existing_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_persona_kind_set_in_config" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_persona_name_echoed_in_config" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_safety_priority_beats_money" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PersonaInvariants" name="test_titles_are_persona_names" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PromptSafety" name="test_atlas_cites_canonical_sources" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PromptSafety" name="test_echo_cites_source_file_instead_of_hyping" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PromptSafety" name="test_herald_honest_about_regressions" time="0.001" /><testcase classname="tests.unit.test_named_daemon_agents.PromptSafety" name="test_scout_uses_existing_approval_path" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionedNodeModel" name="test_create_provisioned_node" time="0.014" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionedNodeModel" name="test_default_status_is_pending" time="0.002" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionedNodeModel" name="test_default_ssh_user_is_root" time="0.002" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionedNodeModel" name="test_query_by_status" time="0.005" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionedNodeModel" name="test_query_by_target_host" time="0.004" /><testcase classname="tests.unit.test_network_provisioner.TestSchemaMigration" name="test_schema_version_is_29_or_higher" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestSchemaMigration" name="test_provisioned_nodes_table_exists" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestSchemaMigration" name="test_provisioned_nodes_columns" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestPreflightCheck" name="test_preflight_all_pass" time="0.074" /><testcase classname="tests.unit.test_network_provisioner.TestPreflightCheck" name="test_preflight_insufficient_ram" time="0.017" /><testcase classname="tests.unit.test_network_provisioner.TestPreflightCheck" name="test_preflight_ssh_failure" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestDiscoverNetworkTargets" name="test_discover_finds_ssh_hosts" time="0.033" /><testcase classname="tests.unit.test_network_provisioner.TestDiscoverNetworkTargets" name="test_discover_returns_empty_for_invalid_subnet" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionRemote" name="test_provision_fails_without_paramiko" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionTools" name="test_list_provisioned_nodes_tool" time="0.003" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionTools" name="test_scan_network_tool" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_deploy_requires_target_host" time="0.008" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_preflight_requires_target_host" time="0.007" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_scan_endpoint" time="0.008" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_list_nodes_endpoint" time="0.010" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_get_nonexistent_node" time="0.010" /><testcase classname="tests.unit.test_network_provisioner.TestProvisionAPI" name="test_decommission_nonexistent_node" time="0.010" /><testcase classname="tests.unit.test_network_provisioner.TestGoalManagerRegistration" name="test_provision_goal_type_registered" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestGoalManagerRegistration" name="test_provision_prompt_builder_exists" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestGoalManagerRegistration" name="test_provision_prompt_contains_ssh" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestGoalManagerRegistration" name="test_provision_tool_tags" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestInputValidation" name="test_command_injection_hostname" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestInputValidation" name="test_command_injection_username" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestInputValidation" name="test_valid_params_accepted" time="0.001" /><testcase classname="tests.unit.test_network_provisioner.TestInputValidation" name="test_invalid_port" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_contact_email_set" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_contact_gated" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_form_factor_unknown" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_notes_explain_status" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_present" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_signals_brainwave_fingerprint" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestYneuroEntry" name="test_yneuro_website" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_at_least_four_form_factors" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_at_least_four_transports_present" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_at_least_one_public_sdk_provider" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_get_provider_unknown_returns_none" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_get_provider_yneuro_returns_entry" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryBreadth" name="test_registry_key_matches_id" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryFilters" name="test_filter_by_form_factor_headset" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryFilters" name="test_filter_by_signal_hrv" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryFilters" name="test_filter_by_status_contact_required_includes_yneuro" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestRegistryFilters" name="test_filter_by_transport_ble_includes_muse" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_emotiv_returns_websocket_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_muse_returns_ble_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_neurosity_returns_websocket_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_openbci_returns_usb_serial_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_oura_returns_rest_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_register_adapter_overrides_default" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_register_adapter_rejects_non_subclass" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_stub_adapter_raises_not_implemented_on_connect" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_whoop_returns_rest_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_yneuro_connect_raises_permission_with_email" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_yneuro_read_raises_permission" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestAdapterFactory" name="test_yneuro_returns_contact_gated_adapter" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_known_providers_summary_includes_all_entries" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_scan_all_disabled_returns_empty" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_scan_ble_only" time="0.005" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_scan_returns_list_without_hardware" time="0.012" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_summary_entry_shape" time="0.001" /><testcase classname="tests.unit.test_neuro_providers.TestDiscovery" name="test_summary_yneuro_carries_contact_email" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsGoalTypeRegistration" name="test_news_in_prompt_builders" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsGoalTypeRegistration" name="test_news_in_tool_tags" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsGoalTypeRegistration" name="test_news_in_registered_types" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsGoalTypeRegistration" name="test_get_prompt_builder_returns_callable" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsGoalTypeRegistration" name="test_get_tool_tags_returns_news_tags" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_scope_regional" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_scope_national" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_scope_international" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_default_scope_is_international" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_categories" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_empty_categories_shows_general" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_feed_urls" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_empty_feeds_suggests_discovery" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_frequency" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_title_and_description" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_tool_references" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestBuildNewsPrompt" name="test_contains_curation_rules" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_regional_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_national_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_international_seed_goal_exists" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_regional_goal_type_is_news" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_national_goal_type_is_news" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_international_goal_type_is_news" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_regional_scope_config" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_national_scope_config" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_international_scope_config" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_all_three_have_spark_budget" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsSeedGoals" name="test_seed_count_increased" time="0.001" /><testcase classname="tests.unit.test_news_tools.TestNewsToolRegistration" name="test_registers_five_tools" time="0.005" /><testcase classname="tests.unit.test_news_tools.TestNewsToolRegistration" name="test_tool_names" time="0.002" /><testcase classname="tests.unit.test_news_tools.TestFetchNewsFeeds" name="test_fetch_returns_items" time="0.057" /><testcase classname="tests.unit.test_news_tools.TestFetchNewsFeeds" name="test_fetch_handles_import_error" time="0.082" /><testcase classname="tests.unit.test_news_tools.TestFetchNewsFeeds" name="test_fetch_handles_empty_urls" time="0.003" /><testcase classname="tests.unit.test_news_tools.TestSendNewsNotification" name="test_send_specific_user" time="0.004" /><testcase classname="tests.unit.test_news_tools.TestSendNewsNotification" name="test_send_handles_error_gracefully" time="0.002" /><testcase classname="tests.unit.test_news_tools.TestGetTrendingNews" name="test_trending_with_mock_feed_engine" time="0.004" /><testcase classname="tests.unit.test_news_tools.TestGetTrendingNews" name="test_trending_handles_error" time="0.022" /><testcase classname="tests.unit.test_news_tools.TestGetNewsMetrics" name="test_metrics_default_params" time="0.007" /><testcase classname="tests.unit.test_news_tools.TestGetNewsMetrics" name="test_metrics_handles_error" time="0.010" /><testcase classname="tests.unit.test_news_tools.TestSubscribeNewsFeed" name="test_subscribe_with_categories" time="0.004" /><testcase classname="tests.unit.test_news_tools.TestSubscribeNewsFeed" name="test_subscribe_handles_error" time="0.023" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudAdapter" name="test_adapter_creation" time="0.018" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudAdapter" name="test_api_url_construction" time="0.018" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudAdapter" name="test_message_handler_registration" time="0.017" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudMessageConversion" name="test_message_structure" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudMessageConversion" name="test_media_attachment_from_file" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudMessageConversion" name="test_reply_message" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestConversationTypes" name="test_conversation_types" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestConversationTypes" name="test_participant_types" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudConversation" name="test_conversation_creation" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudConversation" name="test_participant_creation" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudReactions" name="test_reaction_data_in_message" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudPolls" name="test_poll_configuration" time="0.003" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudFileSharing" name="test_file_sharing_configuration" time="0.003" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudFileSharing" name="test_dav_url_construction" time="0.003" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudFactoryFunction" name="test_factory_with_params" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudFactoryFunction" name="test_factory_with_env_vars" time="0.002" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudFactoryFunction" name="test_factory_missing_params_raises" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudConfiguration" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudConfiguration" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudRichObjects" name="test_rich_object_parameter" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudRichObjects" name="test_file_rich_object" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudDockerCompatibility" name="test_env_var_configuration" time="0.002" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudReconnection" name="test_reconnection_config" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudRegressionWithOtherAdapters" name="test_both_adapters_import" time="0.001" /><testcase classname="tests.unit.test_nextcloud_adapter.TestNextcloudRegressionWithOtherAdapters" name="test_extensions_init_imports" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_blocks_system_prompt_extraction" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_blocks_role_reassignment" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_allows_coding_question" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_allows_creative_writing" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_allows_math" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestPromptInjectionDefense" name="test_blocks_admin_override" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestInputSanitization" name="test_sanitize_wraps_input" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestInputSanitization" name="test_sanitize_strips_existing_tags" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestInputSanitization" name="test_sanitize_strips_system_tags" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestHardeningPrompt" name="test_hardening_mentions_untrusted" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestHardeningPrompt" name="test_hardening_mentions_never_reveal" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestImportSpeed" name="test_helper_imports_under_2s" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestImportSpeed" name="test_cultural_wisdom_imports_under_1s" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestImportSpeed" name="test_threadlocal_imports_under_100ms" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestTTLCacheThreadSafety" name="test_concurrent_reads_and_writes" time="0.004" /><testcase classname="tests.unit.test_nft_security_performance.TestTTLCacheThreadSafety" name="test_ttl_expiry_works" time="0.011" /><testcase classname="tests.unit.test_nft_security_performance.TestTTLCacheThreadSafety" name="test_max_size_eviction" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestCulturalWisdomImmutability" name="test_guardian_values_are_tuple" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestCulturalWisdomImmutability" name="test_trait_count_is_stable" time="0.001" /><testcase classname="tests.unit.test_nft_security_performance.TestCulturalWisdomImmutability" name="test_traits_are_tuple" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-base.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-first-boot.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-backend.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-discovery.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-agent.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-llm.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-vision.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-conky.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-nunba.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-kernel.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-subsystems.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-ai-runtime.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-sandbox.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_module_exists[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_configuration_exists[server.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_configuration_exists[desktop.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_configuration_exists[edge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_configuration_exists[phone.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_package_exists[hart-app.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_package_exists[hart-cli.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_package_exists[nunba.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_hardware_exists[raspberry-pi.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_hardware_exists[pinephone.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_asset_exists[hart.conkyrc]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_asset_exists[hart-conky.lua]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_asset_exists[hart-android-init.sh]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_flake_exists" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_flash_tool_exists" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_vm_tests_exist" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_python_service_exists[integrations/agent_engine/model_bus_service.py]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_python_service_exists[integrations/agent_engine/compute_mesh_service.py]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_python_service_exists[integrations/agent_engine/liquid_ui_service.py]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_python_service_exists[integrations/agent_engine/app_bridge_service.py]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFileExistence" name="test_total_file_count" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_nixpkgs_input" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_nixos_generators_input" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_nixos_hardware_input" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_llama_cpp_input" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_references_all_modules" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_server_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_desktop_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_edge_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_phone_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_iso_targets" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_cloud_targets" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_vm_targets" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_docker_target" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_sd_card_targets" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_arm_targets" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_has_go_packages" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_references_model_bus_module" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_references_compute_mesh_module" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_references_liquid_ui_module" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestFlakeCrossReferences" name="test_flake_references_app_bridge_module" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_variant_is_server" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_no_xserver" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_agent_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_llm_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_vision_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_ai_runtime_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_no_android" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerVariant" name="test_no_windows" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_variant_is_desktop" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_has_gnome" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_xserver_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_agent_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_conky_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_nunba_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_android_native" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_windows_native" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_ai_compute" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_subsystems_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_has_flatpak" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_has_sandbox" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_has_pipewire" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopVariant" name="test_has_bluetooth" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_variant_is_edge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_agent" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_llm" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_vision" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_xserver" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_android" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_windows" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_no_ai_compute" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_minimal_docs" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeVariant" name="test_journal_size_limited" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_variant_is_phone" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_phosh" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_android_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_no_windows" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_no_llm" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_modem_manager" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_conky" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_nunba" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_squeekboard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_power_management" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_has_pipewire" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_agent_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneVariant" name="test_limited_concurrent_agents" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_backend_has_no_new_privileges" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_backend_has_protect_system" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_backend_runs_as_hart_user" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_agent_has_no_new_privileges" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_agent_has_restrict_address_families" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_agent_has_af_vsock" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_agent_runs_as_hart_user" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_discovery_has_hardening" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_ai_runtime_agent_template_has_sandboxing" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_ai_runtime_agent_template_has_exec_start" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_base_creates_hart_user" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_base_has_firewall" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_kernel_has_landlock" time="0.002" /><testcase classname="tests.unit.test_nixos_configs.TestSecurityHardening" name="test_kernel_has_cgroups_v2" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_base_defines_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_base_defines_variant_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_base_defines_ports" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_conky_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_nunba_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_kernel_has_subsystem_options" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_subsystems_has_all_subsystem_options" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_ai_runtime_has_model_store_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_ai_runtime_has_gpu_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModuleOptions" name="test_ai_runtime_has_agent_limits" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_conkyrc_references_lua_functions" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_conky_lua_defines_required_functions" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_conky_lua_uses_socket_http" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_conky_module_has_luasocket" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_conky_module_has_lua_path" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_android_init_is_bash" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAssetIntegrity" name="test_flash_tool_is_executable_bash" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestHardwareProfiles" name="test_rpi_has_kernel_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestHardwareProfiles" name="test_rpi_has_boot_config" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestHardwareProfiles" name="test_rpi_has_wifi_or_bluetooth" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestHardwareProfiles" name="test_pinephone_has_modem" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestHardwareProfiles" name="test_pinephone_has_touch" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_test_all" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_linux_tests" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_android_tests" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_windows_tests" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_ai_tests" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_status_command" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_logs_results" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestSandboxSystem" name="test_sandbox_has_pass_fail_counting" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-base.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-first-boot.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-backend.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-discovery.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-agent.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-llm.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-vision.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-conky.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-nunba.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-kernel.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-subsystems.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-ai-runtime.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-sandbox.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_valid_structure[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-base.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-first-boot.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-backend.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-discovery.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-agent.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-llm.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-vision.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-conky.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-nunba.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-kernel.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-subsystems.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-ai-runtime.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-sandbox.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-model-bus.nix]" time="0.011" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_module_has_config_block[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_config_sets_variant[server.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_config_sets_variant[desktop.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_config_sets_variant[edge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_config_sets_variant[phone.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_builtins_elem_single_list" time="0.002" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-base.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-first-boot.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-backend.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-discovery.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-agent.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-llm.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-vision.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-conky.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-nunba.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-kernel.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-subsystems.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-ai-runtime.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-sandbox.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNixSyntaxPatterns" name="test_no_unclosed_braces[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_socket_path_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_http_port" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_routing_strategy_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_max_concurrent_requests" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_android_bridge_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_wine_bridge_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_systemd_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_service_runs_as_hart_user" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_security_hardening" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_dbus_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_cli_tool" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_imports_python_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_depends_on_hart_target" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_health_endpoint" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestModelBusModule" name="test_has_resource_limits" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_wireguard_port" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_task_relay_port" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_max_offload_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_allow_wan_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_stun_server_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_mesh_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_mesh_subnet" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_auto_accept_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_keygen_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_systemd_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_service_runs_as_hart_user" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_security_hardening" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_imports_python_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_cli_tool" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_firewall_rules" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestComputeMeshModule" name="test_has_privacy_boundary_comment" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_port" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_renderer_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_voice_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_haptic_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_theme_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_a2ui_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_systemd_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_dbus_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_security_hardening" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_imports_python_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_depends_on_model_bus" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_renderer_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestLiquidUIModule" name="test_has_fallback_cascade" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_socket_path" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_http_port" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_cross_subsystem_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_intent_router_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_clipboard_sync_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_drag_and_drop_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_notification_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_ai_fallback_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_systemd_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_dbus_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_dbus_intent_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_dbus_clipboard_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_dbus_capability_interface" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_security_hardening" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_imports_python_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_clipboard_sync_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_cli_tool" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_depends_on_model_bus" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAppBridgeModule" name="test_has_subsystem_detection" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_semantic_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_service_intelligence_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_smart_fs_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_predictive_prefetch_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_service_intelligence_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_smart_index_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_predictive_prefetch_service" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestAIRuntimeSemanticLayer" name="test_has_hart_search_cli" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_model_bus_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_compute_mesh_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_compute_mesh_allows_wan" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_compute_mesh_high_offload" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_no_liquid_ui" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_no_app_bridge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestServerAINativeModules" name="test_semantic_intelligence_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_model_bus_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_model_bus_android_bridge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_model_bus_wine_bridge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_compute_mesh_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_liquid_ui_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_liquid_ui_voice" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_liquid_ui_webkit_renderer" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_app_bridge_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_app_bridge_clipboard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_app_bridge_drag_and_drop" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_app_bridge_intent_router" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_semantic_smart_fs" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDesktopAINativeModules" name="test_semantic_predictive_prefetch" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_compute_mesh_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_compute_mesh_high_offload" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_compute_mesh_allows_wan" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_no_model_bus" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_no_liquid_ui" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestEdgeAINativeModules" name="test_no_app_bridge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_model_bus_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_model_bus_android_bridge" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_compute_mesh_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_compute_mesh_allows_wan" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_liquid_ui_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_liquid_ui_voice" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_liquid_ui_haptic" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_app_bridge_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_app_bridge_intent_router" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_app_bridge_clipboard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_semantic_enabled" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPhoneAINativeModules" name="test_no_smart_fs" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_class" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_infer" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_discover_backends" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_list_models" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_guardrail_check" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_model_bus_service_has_serve_forever" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_class" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_discover_peers" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_offload" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_mesh_status" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_pair_device" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_compute_mesh_service_has_peer_class" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_liquid_ui_service_has_class" time="0.002" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_liquid_ui_service_has_generate_ui" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_liquid_ui_service_has_context_engine" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_liquid_ui_service_has_render" time="0.003" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_liquid_ui_service_has_a2ui" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_class" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_capability_registry" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_semantic_router" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_clipboard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_route_intent" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_detect_subsystems" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPythonBackendServices" name="test_app_bridge_service_has_serve_forever" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_no_new_privileges[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_no_new_privileges[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_no_new_privileges[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_no_new_privileges[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_protect_system[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_protect_system[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_protect_system[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_protect_system[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_runs_as_hart_user[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_runs_as_hart_user[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_runs_as_hart_user[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_runs_as_hart_user[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_memory_limit[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_memory_limit[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_memory_limit[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_memory_limit[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restart_policy[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restart_policy[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restart_policy[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restart_policy[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_pythondontwritebytecode[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_pythondontwritebytecode[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_pythondontwritebytecode[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_pythondontwritebytecode[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restrict_address_families[hart-model-bus.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restrict_address_families[hart-compute-mesh.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restrict_address_families[hart-liquid-ui.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestNewModuleSecurityHardening" name="test_has_restrict_address_families[hart-app-bridge.nix]" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestCrossModuleDependencies" name="test_liquid_ui_depends_on_model_bus" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestCrossModuleDependencies" name="test_app_bridge_depends_on_model_bus" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestCrossModuleDependencies" name="test_compute_mesh_depends_on_discovery" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestCrossModuleDependencies" name="test_model_bus_depends_on_backend" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestCrossModuleDependencies" name="test_all_new_modules_in_hart_target" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_file_exists" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_has_cpu_isolation" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_has_low_latency_audio" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_has_network_tuning" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestGamingModule" name="test_gaming_has_mkif_guard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_file_exists" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_has_lsp_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_has_container_toggle" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_has_editor_toggle" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDevtoolsModule" name="test_devtools_has_mkif_guard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_file_exists" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_has_backend_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_has_auto_show_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_has_mkif_guard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_osk_in_flake_modules" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestOSKModule" name="test_phone_enables_osk" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDLNAEnableGuard" name="test_dlna_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestDLNAEnableGuard" name="test_dlna_has_mkif_guard" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPeripheralBridgeEnableGuard" name="test_peripheral_bridge_has_enable_option" time="0.001" /><testcase classname="tests.unit.test_nixos_configs.TestPeripheralBridgeEnableGuard" name="test_peripheral_bridge_has_mkif_guard" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestThreadInfo" name="test_defaults" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestThreadInfo" name="test_status_values_assignable" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestThreadInfo" name="test_last_heartbeat_defaults_to_now" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestThreadInfo" name="test_recent_restart_times_independent_per_instance" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestConstants" name="test_llm_call_timeout_is_900" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestConstants" name="test_max_consecutive_failures_is_5" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestConstants" name="test_startup_grace_seconds_is_60" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_register_thread" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_register_sets_grace_period" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_unregister_removes_thread" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_unregister_nonexistent_is_safe" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_heartbeat_updates_timestamp" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_heartbeat_unknown_thread_ignored" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRegistration" name="test_is_registered_false_for_unknown" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestLLMCallMarking" name="test_mark_in_llm_call" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestLLMCallMarking" name="test_clear_llm_call" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestLLMCallMarking" name="test_mark_llm_call_unknown_thread_safe" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_frozen_thread_gets_restarted" time="0.026" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_healthy_thread_not_restarted" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_normal_threshold_uses_multiplier" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_llm_call_uses_extended_timeout" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_llm_call_still_restarts_after_900s" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_dead_thread_not_checked" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestFrozenDetection" name="test_multiple_threads_independent" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_calls_stop_then_start" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_without_stop_fn" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_failure_increments_consecutive_failures" time="0.004" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_dead_after_max_consecutive_failures" time="0.004" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_successful_restart_resets_failures" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_grants_new_grace_period" time="0.004" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_log_appended" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_stop_fn_exception_does_not_prevent_restart" time="0.006" /><testcase classname="tests.unit.test_node_watchdog.TestRestartThread" name="test_restart_nonexistent_returns_false" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRapidRestartLoop" name="test_3_restarts_in_5min_marks_dead" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestRapidRestartLoop" name="test_old_restarts_dont_trigger_loop" time="0.004" /><testcase classname="tests.unit.test_node_watchdog.TestRapidRestartLoop" name="test_2_recent_restarts_still_allows_restart" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestRapidRestartLoop" name="test_recent_restart_times_pruned_after_restart" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestGracePeriod" name="test_newly_registered_thread_not_frozen" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestGracePeriod" name="test_after_grace_period_detection_works" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestGetHealth" name="test_health_structure" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestGetHealth" name="test_health_stopped_when_not_running" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestGetHealth" name="test_health_shows_last_restart_iso" time="0.003" /><testcase classname="tests.unit.test_node_watchdog.TestStartStop" name="test_double_start_same_thread" time="10.001" /><testcase classname="tests.unit.test_node_watchdog.TestStartStop" name="test_stop_sets_running_false" time="10.002" /><testcase classname="tests.unit.test_node_watchdog.TestModuleSingleton" name="test_start_and_get_watchdog" time="10.001" /><testcase classname="tests.unit.test_node_watchdog.TestModuleSingleton" name="test_start_watchdog_is_idempotent" time="10.001" /><testcase classname="tests.unit.test_node_watchdog.TestThreadSafety" name="test_concurrent_heartbeats_and_checks" time="0.303" /><testcase classname="tests.unit.test_node_watchdog.TestThreadSafety" name="test_concurrent_register_and_check" time="0.024" /><testcase classname="tests.unit.test_node_watchdog.TestEnvOverride" name="test_llm_timeout_env_override" time="0.001" /><testcase classname="tests.unit.test_node_watchdog.TestEnvOverride" name="test_check_interval_env_override" time="0.002" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[discord]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[slack]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[google_chat]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[teams]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[messenger]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[instagram]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[twitter]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[line]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_oauth_capable[twitch]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[discord]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[slack]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[google_chat]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[teams]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[messenger]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[instagram]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[twitter]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[line]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_authorize_and_token_urls_set[twitch]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[discord]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[slack]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[google_chat]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[teams]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[messenger]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[instagram]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[twitter]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[line]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_scopes_present[twitch]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[discord]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[slack]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[google_chat]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[teams]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[messenger]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[instagram]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[twitter]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[line]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_response_map_present[twitch]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[discord]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[slack]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[google_chat]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[teams]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[messenger]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[instagram]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[twitter]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[line]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_external_url_set[twitch]" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_pkce_required_channels" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_non_pkce_channels" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthMetadata" name="test_legacy_paste_fields_intact" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthEnvGating" name="test_unset_returns_false" time="0.003" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthEnvGating" name="test_partial_set_returns_false" time="0.002" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthEnvGating" name="test_both_set_returns_true" time="0.002" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthEnvGating" name="test_non_oauth_channel_always_false" time="0.002" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_generate_returns_url_safe_token" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_verify_returns_context" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_extra_round_trips" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_replay_protection" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_unknown_state" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_empty_state" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_expired_state_rejected" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_eviction_on_generate" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStateManager" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestPKCE" name="test_pair_shape" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestPKCE" name="test_challenge_is_sha256_of_verifier" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestPKCE" name="test_pairs_are_unique" time="0.001" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStartRoute" name="test_unconfigured_channel_returns_400" time="0.005" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStartRoute" name="test_non_oauth_channel_returns_400" time="0.005" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStartRoute" name="test_discord_start_builds_authorize_url" time="0.005" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthStartRoute" name="test_google_start_includes_pkce" time="0.005" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_missing_state_returns_400" time="0.004" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_missing_code_returns_400" time="0.004" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_provider_error_renders_close_page" time="0.004" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_state_mismatch_returns_400" time="0.004" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_unknown_state_returns_400" time="0.004" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_token_exchange_failure_returns_502" time="0.006" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_happy_path_calls_register_channel" time="0.006" /><testcase classname="tests.unit.test_oauth_click_through.TestOAuthCallbackRoute" name="test_pkce_verifier_is_sent_in_token_exchange" time="0.006" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_engine_is_gpu_only" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_engine_spec_present" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_engine_supports_voice_cloning" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_engine_wildcard_languages" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_required_package_is_omnivoice" time="0.001"><failure message="AssertionError: None != 'omnivoice'">tests/unit/test_omnivoice_tool.py:42: in test_required_package_is_omnivoice
    self.assertEqual(
E   AssertionError: None != 'omnivoice'</failure></testcase><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_sample_rate_24khz" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.RegistryTest" name="test_tool_module_path" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_english_prefers_chatterbox_turbo" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_indic_parler_still_fallback_for_indic" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_omnivoice_first_for_all_indic" time="0.005" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_omnivoice_first_for_cjk" time="0.002" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_omnivoice_in_default_preference" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.LanguagePriorityTest" name="test_sinhala_newly_supported" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.ToolModuleTest" name="test_public_synthesize_callable" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.ToolModuleTest" name="test_public_unload_callable" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.ToolModuleTest" name="test_sample_rate_constant" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.ToolModuleTest" name="test_worker_bound_to_vram_budget_key" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.ToolModuleTest" name="test_worker_name" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VoiceClassifierTest" name="test_absolute_nonexistent_path_not_audio_path" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VoiceClassifierTest" name="test_free_form_descriptor_not_audio_path" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VoiceClassifierTest" name="test_none_not_audio_path" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VoiceClassifierTest" name="test_wav_path_detected" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.SentenceSplitTest" name="test_hindi_danda_split" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.SentenceSplitTest" name="test_short_text_not_split" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.SentenceSplitTest" name="test_split_by_period" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.SentenceSplitTest" name="test_split_preserves_ellipsis" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VRAMBudgetTest" name="test_budget_entry_exists" time="0.001" /><testcase classname="tests.unit.test_omnivoice_tool.VRAMBudgetTest" name="test_budget_is_stub_value" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_basic_frontmatter" time="0.009" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_metadata_openclaw" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_no_frontmatter" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_command_dispatch" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_user_invocable_false" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_install_specs" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillParser" name="test_parse_file_directly" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestRequirementsCheck" name="test_satisfied_no_requirements" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestRequirementsCheck" name="test_missing_binary" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestRequirementsCheck" name="test_missing_env_var" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestRequirementsCheck" name="test_env_var_present" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestRequirementsCheck" name="test_any_bins_one_present" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillInstallUninstall" name="test_install_already_exists" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillInstallUninstall" name="test_uninstall_existing" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillInstallUninstall" name="test_uninstall_nonexistent" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillInstallUninstall" name="test_list_installed" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillToAutogenTool" name="test_basic_tool_conversion" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillToAutogenTool" name="test_tool_returns_instructions" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillToAutogenTool" name="test_command_dispatch_tool" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestClawHubToolProvider" name="test_get_tools_empty" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestClawHubToolProvider" name="test_get_tools_with_skills" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestClawHubToolProvider" name="test_cache_invalidation" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestClawHubToolProvider" name="test_skips_model_disabled_skills" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_initial_state" time="0.003" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_custom_url" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_url_from_env" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_send_not_connected" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_invoke_not_connected" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_health_not_connected" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_on_message_handler" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_is_openclaw_installed" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestGatewayBridge" name="test_get_version_not_installed" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillExporter" name="test_recipe_to_skill_md" time="0.004" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillExporter" name="test_recipe_to_skill_custom_name" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillExporter" name="test_export_creates_files" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillExporter" name="test_export_preserves_recipe" time="0.002" /><testcase classname="tests.unit.test_openclaw_integration.TestSkillExporter" name="test_publish_no_clawhub" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestHARTSkillServer" name="test_list_tools" time="0.003" /><testcase classname="tests.unit.test_openclaw_integration.TestHARTSkillServer" name="test_handle_unknown_tool" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestHARTSkillServer" name="test_generate_hart_skills" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestHARTSkillServer" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestShellManifestUpdates" name="test_assistant_panel_exists" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestShellManifestUpdates" name="test_openclaw_panel_exists" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestShellManifestUpdates" name="test_assistant_in_discover_group" time="0.001" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_list_skills_endpoint" time="0.011" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_install_skill_no_slug" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_uninstall_skill_no_slug" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_openclaw_status" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_openclaw_channels" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_assistant_capabilities" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_assistant_chat_no_message" time="0.007" /><testcase classname="tests.unit.test_openclaw_integration.TestOpenClawAPIs" name="test_search_no_query" time="0.008" /><testcase classname="tests.unit.test_origin_attestation.TestOriginIdentity" name="test_fingerprint_changes_if_identity_modified" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestOriginIdentity" name="test_master_key_matches_master_key_module" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestOriginIdentity" name="test_origin_fingerprint_is_deterministic" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestOriginIdentity" name="test_origin_identity_has_required_fields" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestOriginIdentity" name="test_origin_identity_values" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestBrandMarkers" name="test_brand_marker_files_exist" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestBrandMarkers" name="test_brand_markers_detect_missing_file" time="0.001"><failure message="AssertionError: True is not false">tests/unit/test_origin_attestation.py:97: in test_brand_markers_detect_missing_file
    self.assertFalse(ok)
E   AssertionError: True is not false</failure></testcase><testcase classname="tests.unit.test_origin_attestation.TestBrandMarkers" name="test_brand_markers_present_in_files" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestMasterKeyPresence" name="test_master_key_mismatch_detected" time="0.004" /><testcase classname="tests.unit.test_origin_attestation.TestMasterKeyPresence" name="test_master_key_present" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestGuardrailBrandMarkers" name="test_guardian_principle_exists" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestGuardrailBrandMarkers" name="test_guardrail_integrity" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestVerifyOrigin" name="test_origin_summary" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestVerifyOrigin" name="test_verify_origin_cached" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestVerifyOrigin" name="test_verify_origin_passes" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_generate_attestation" time="0.077" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_verify_peer_attestation_expired" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_verify_peer_attestation_missing" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_verify_peer_attestation_valid" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_verify_peer_attestation_wrong_fingerprint" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestFederationAttestation" name="test_verify_peer_attestation_wrong_master_key" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestProtectedFiles" name="test_license_protected" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestProtectedFiles" name="test_origin_attestation_protected" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_binary_hash_computation" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_get_status" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_native_infer_returns_none_in_stub" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_native_version_returns_none_in_stub" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_platform_lib_name" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestNativeHiveLoader" name="test_stub_mode_when_no_binary" time="0.005" /><testcase classname="tests.unit.test_origin_attestation.TestLicenseContent" name="test_license_has_apache_url" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestLicenseContent" name="test_license_has_disclaimer" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestLicenseContent" name="test_license_has_redistribution_clause" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestLicenseContent" name="test_license_is_apache" time="0.001" /><testcase classname="tests.unit.test_origin_attestation.TestBootVerificationIntegration" name="test_full_boot_calls_origin_attestation" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestVersionReading" name="test_reads_version_from_file" time="0.002" /><testcase classname="tests.unit.test_ota_update.TestVersionReading" name="test_default_version_when_no_file" time="0.002" /><testcase classname="tests.unit.test_ota_update.TestVersionReading" name="test_strips_whitespace" time="0.002" /><testcase classname="tests.unit.test_ota_update.TestCheckForUpdates" name="test_parses_github_release" time="0.004" /><testcase classname="tests.unit.test_ota_update.TestCheckForUpdates" name="test_no_update_when_same_version" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestCheckForUpdates" name="test_handles_network_error" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestCheckForUpdates" name="test_strips_v_prefix_from_tag" time="0.004" /><testcase classname="tests.unit.test_ota_update.TestCheckForUpdates" name="test_no_download_url_means_not_available" time="0.004" /><testcase classname="tests.unit.test_ota_update.TestDownloadUpdate" name="test_downloads_bundle" time="0.004" /><testcase classname="tests.unit.test_ota_update.TestDownloadUpdate" name="test_checksum_verification" time="0.005" /><testcase classname="tests.unit.test_ota_update.TestDownloadUpdate" name="test_checksum_mismatch_raises" time="0.005" /><testcase classname="tests.unit.test_ota_update.TestEd25519Verification" name="test_verify_signature_success" time="0.006" /><testcase classname="tests.unit.test_ota_update.TestEd25519Verification" name="test_verify_signature_no_crypto_lib" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestApplyUpdate" name="test_apply_update_full_flow" time="0.008" /><testcase classname="tests.unit.test_ota_update.TestApplyUpdate" name="test_apply_update_rollback_on_failure" time="30.063" /><testcase classname="tests.unit.test_ota_update.TestRollback" name="test_rollback_restores_code" time="0.069" /><testcase classname="tests.unit.test_ota_update.TestRollback" name="test_rollback_version_only" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestRunCycle" name="test_run_no_update_available" time="0.003" /><testcase classname="tests.unit.test_ota_update.TestRunCycle" name="test_run_with_update" time="0.082" /><testcase classname="tests.unit.test_ota_update.TestURLConfiguration" name="test_default_url" time="0.001" /><testcase classname="tests.unit.test_ota_update.TestURLConfiguration" name="test_module_constants" time="0.001" /><testcase classname="tests.unit.test_ota_update.TestFleetApproval" name="test_fleet_approval_method_exists" time="0.001" /><testcase classname="tests.unit.test_ota_update.TestFleetApproval" name="test_fleet_standalone_auto_approves" time="0.001" /><testcase classname="tests.unit.test_ota_update.TestFleetApproval" name="test_apply_calls_fleet_check" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix1_every_mutating_route_has_auth_decorator" time="0.011" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix1_every_read_route_requires_auth_not_optional" time="0.010" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix1_no_unauthenticated_writes" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_verify_hash_exists_and_pristine" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_check_goal_invokes_verify_hash" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_check_prompt_invokes_verify_hash" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_check_ralt_and_code_also_verify" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_verify_hash_body_reads_module_reference" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix3_reserve_quota_blocks_over_quota" time="0.003" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix3_reserve_quota_increments_before_execution" time="0.003" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix3_log_usage_no_longer_double_increments" time="0.005" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_english_still_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_benign_multilingual_passes" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_hindi_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_chinese_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_russian_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_normalize_helper_shape" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_normalize_empty_input_is_safe" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_telugu_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_hindi_self_harm_transliteration_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_tamil_self_harm_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_spanish_bioweapon_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_mandarin_bioweapon_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_spanish_firearm_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_hindi_child_exploit_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix4_hostile_spanish_credential_exfil_blocks" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_boot_integrity_check_runs_at_import" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes" name="test_fix2_boot_integrity_check_is_module_level_not_lazy" time="0.010" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_default_is_enforce" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_dev_override_disables[0]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_dev_override_disables[false]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_dev_override_disables[False]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_dev_override_disables[NO]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_dev_override_disables[off]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_ambiguous_values_fail_closed[1]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_ambiguous_values_fail_closed[true]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_ambiguous_values_fail_closed[YES]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_hash_enforce_ambiguous_values_fail_closed[anything_unrecognised]" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_dev_override_logs_critical_but_does_not_raise" time="0.007" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_enforce_on_raises_on_tamper" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_verify_hash_honors_override" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_enforce_on_real_call_raises" time="0.006" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix2_boot_hook_present_in_main" time="0.193" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_rate_limit_response_shape" time="0.002" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_seconds_until_daily_reset_is_positive" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_seconds_until_monthly_reset_handles_missing" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_seconds_until_monthly_reset_honors_datetime" time="0.001" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_over_quota_path_does_not_call_log_usage" time="0.002" /><testcase classname="tests.unit.test_p0_security_fixes_extra" name="test_fix3_all_four_tiers_flow_through_one_gate" time="0.006" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_bootstrap_is_idempotent" time="0.003" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_deliver_missing_target_returns_ack_invalid" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_deliver_unknown_agent_returns_ack_unknown" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_malformed_payload_returns_none" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_query_returns_reply_shape" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveMindHandlerTest" name="test_unknown_type_returns_none" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveDepthTest" name="test_constant_is_three" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveDepthTest" name="test_submit_goal_accepts_at_depth_minus_one" time="0.008" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveDepthTest" name="test_submit_goal_rejects_over_depth" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.DistributedTaskLockHeartbeatTest" name="test_release_stops_heartbeat" time="0.002" /><testcase classname="tests.unit.test_p1_reliability_fixes.DistributedTaskLockHeartbeatTest" name="test_renew_calls_expire_via_lua" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.DistributedTaskLockHeartbeatTest" name="test_renew_returns_false_when_not_owner" time="0.002" /><testcase classname="tests.unit.test_p1_reliability_fixes.DistributedTaskLockHeartbeatTest" name="test_start_stop_heartbeat" time="0.302" /><testcase classname="tests.unit.test_p1_reliability_fixes.WorkerLoopBackoffTest" name="test_backoff_starts_at_min_and_caps_at_max" time="0.001" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveBenchmarkProverIdempotencyTest" name="test_cache_bounded" time="0.105" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveBenchmarkProverIdempotencyTest" name="test_idempotent_replay_returns_marker" time="0.012" /><testcase classname="tests.unit.test_p1_reliability_fixes.HiveBenchmarkProverIdempotencyTest" name="test_no_key_always_records" time="0.023" /><testcase classname="tests.unit.test_p1_reliability_fixes.FederatedAggregatorAlarmTest" name="test_consecutive_failures_flip_alarm_at_threshold" time="0.002" /><testcase classname="tests.unit.test_p1_reliability_fixes.FederatedAggregatorAlarmTest" name="test_success_resets_consecutive_counter" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_all_p2p_types_registered" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_prompt_builder_exists[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PRegistration" name="test_tool_tags_exist[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_is_nonempty_string[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPromptGeneration" name="test_prompt_with_product_dict_none[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_preamble_contains_revenue_split" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_preamble_contains_escrow" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PPreamble" name="test_prompt_contains_preamble[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_tools_section_mentions_ap2" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_tools_section_mentions_channels" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_tools_section_mentions_mcgroce" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_tools_section_mentions_ridesnap" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestP2PToolsSection" name="test_prompt_contains_tools_section[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRidesharePrompt" name="test_rideshare_mentions_ridesnap" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRidesharePrompt" name="test_rideshare_has_api_endpoints" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRidesharePrompt" name="test_rideshare_default_backend_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRidesharePrompt" name="test_rideshare_custom_backend_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestTutoringPrompt" name="test_tutoring_mentions_enlight21" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestTutoringPrompt" name="test_tutoring_enlight21_with_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestTutoringPrompt" name="test_tutoring_without_enlight_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestTutoringPrompt" name="test_tutoring_subjects_in_prompt" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_mentions_mcgroce" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_store_discovery_endpoints" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_voice_ordering" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_wamp_events" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_default_mcgroce_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_custom_mcgroce_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_fallback_mode" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_product_search_dto" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_store_model_fields" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_has_customer_auth" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_seed_has_mcgroce_url" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestGroceryPrompt" name="test_grocery_seed_description_mentions_mcgdroid" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_region_override[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_category_override[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_category_override[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_category_override[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_default_region_is_auto_detect" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigOverrides" name="test_default_category_is_general" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_all_12_p2p_types_have_seed_goals" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_has_required_fields[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestSeedGoals" name="test_seed_goal_slug_starts_with_bootstrap[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_exists[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_is_tuple[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_marketplace]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_rideshare]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_grocery]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_food]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_freelance]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_bills]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_tickets]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_tutoring]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_services]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_rental]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_health]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestRateLimits" name="test_rate_limit_values_positive[p2p_logistics]" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_config_key_used" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_config_json_fallback" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_config_takes_precedence_over_config_json" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_empty_config_uses_defaults" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_none_config_uses_defaults" time="0.001" /><testcase classname="tests.unit.test_p2p_goals.TestConfigExtraction" name="test_missing_config_entirely" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_dispatch_parallel_tasks_fan_out" time="0.004" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_dispatch_parallel_tasks_empty" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_dispatch_goal_with_ledger_mixed" time="0.004" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_dispatch_goal_with_ledger_all_sequential" time="0.003" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_failed_task_marks_failure" time="0.003" /><testcase classname="tests.unit.test_parallel_dispatch.TestParallelDispatchEngine" name="test_max_concurrent_respected" time="0.004" /><testcase classname="tests.unit.test_parallel_dispatch.TestGoalDecomposition" name="test_single_task_decomposition_backward_compat" time="0.002" /><testcase classname="tests.unit.test_parallel_dispatch.TestGoalDecomposition" name="test_parallel_subtask_decomposition" time="0.006" /><testcase classname="tests.unit.test_parallel_dispatch.TestGoalDecomposition" name="test_sequential_subtask_decomposition" time="0.006" /><testcase classname="tests.unit.test_parallel_dispatch.TestGoalDecomposition" name="test_extract_subtasks_from_context" time="0.004" /><testcase classname="tests.unit.test_parallel_dispatch.TestGoalDecomposition" name="test_import_error_fallback" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestDaemonParallelIntegration" name="test_try_parallel_dispatch_with_parallel_tasks" time="0.003" /><testcase classname="tests.unit.test_parallel_dispatch.TestDaemonParallelIntegration" name="test_try_parallel_dispatch_no_ledger" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestDaemonParallelIntegration" name="test_get_goal_ledger_returns_none_single_task" time="0.002" /><testcase classname="tests.unit.test_parallel_dispatch.TestDaemonParallelIntegration" name="test_get_goal_ledger_loads_existing" time="0.004" /><testcase classname="tests.unit.test_parallel_dispatch.TestCoordinatorBatchClaim" name="test_claim_parallel_batch" time="0.003" /><testcase classname="tests.unit.test_parallel_dispatch.TestCoordinatorBatchClaim" name="test_claim_batch_respects_capabilities" time="0.003" /><testcase classname="tests.unit.test_parallel_dispatch.TestCoordinatorBatchClaim" name="test_claim_batch_skips_sequential" time="0.002" /><testcase classname="tests.unit.test_parallel_dispatch.TestLedgerDependencyGraph" name="test_sibling_tasks_parallel_execution" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestLedgerDependencyGraph" name="test_sequential_tasks_respect_order" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestLedgerDependencyGraph" name="test_complete_and_route_unblocks" time="0.002" /><testcase classname="tests.unit.test_parallel_dispatch.TestLedgerDependencyGraph" name="test_hierarchical_task_tree" time="0.001" /><testcase classname="tests.unit.test_parallel_dispatch.TestEndToEndParallelGoal" name="test_goal_with_parallel_subtasks_e2e" time="0.043" /><testcase classname="tests.unit.test_parallel_dispatch.TestEndToEndParallelGoal" name="test_goal_with_mixed_parallel_sequential" time="0.004" /><testcase classname="tests.unit.test_peer_link.TestTrustLevel" name="test_exactly_three_members" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTrustLevel" name="test_peer_value" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTrustLevel" name="test_relay_value" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTrustLevel" name="test_same_user_covers_lan_and_wan" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTrustLevel" name="test_same_user_value" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_close_idempotent_when_closing" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_close_transitions_to_disconnected" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_construction_defaults" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_construction_relay_trust" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_construction_same_user_trust" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_construction_with_capabilities" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_decrypt_passthrough_without_session_key" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_decrypt_returns_none_for_short_data" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_encrypt_decrypt_roundtrip" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_encrypt_passthrough_without_session_key" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_get_local_capabilities_cpu_count_fallback" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_get_local_capabilities_has_cpu_count" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_get_stats_shape" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_idle_seconds_positive_after_activity" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_idle_seconds_zero_when_no_activity" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_is_connected_false_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_is_connected_true_when_connected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_is_encrypted_false_without_session_key" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_is_encrypted_true_with_session_key" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_on_message_multiple_handlers" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_on_message_registers_handler" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_resolve_ws_url_already_ws" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_resolve_ws_url_already_wss" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_resolve_ws_url_plain_address" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_resolve_ws_url_same_user" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_send_binary_returns_false_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_send_binary_returns_false_when_ws_none" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_send_returns_none_when_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestPeerLink" name="test_send_returns_none_when_ws_is_none" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_auto_upgrade_resets_counter" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_auto_upgrade_triggers_at_threshold" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_broadcast_sends_to_all_connected" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_broadcast_with_trust_filter" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_close_link_noop_for_unknown" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_close_link_removes_and_closes" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_collect_gathers_responses" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_collect_skips_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_connection_budget_enforcement" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_evict_weakest_link_removes_least_useful" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_evict_weakest_returns_false_when_empty" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_get_link_returns_none_for_unknown" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_get_status_counts_active_links" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_get_status_shape" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_has_link_returns_false_for_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_has_link_returns_false_for_unknown" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_has_link_returns_true_for_connected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_record_http_exchange_increments" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_register_channel_handler_applies_to_existing_links" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_send_falls_back_to_http" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_send_returns_none_without_link_or_url" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkManager" name="test_trust_determination_same_user_id" time="0.004" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_all_channels_in_registry" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_channel_ids_match_registry" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_data_class_values" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_get_registered_channels" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_handler_exception_swallowed" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_has_handlers" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_no_handlers_returns_none" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_register_and_dispatch" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_returns_first_non_none" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_dispatcher_unregister" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_get_channel_config_known" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_get_channel_config_unknown" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_not_private_events" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_not_private_federation" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_not_private_gossip" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_private_channel_compute" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_private_channel_dispatch" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_private_channel_hivemind" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestChannels" name="test_is_private_channel_sensor" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_extract_host_empty_string" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_extract_host_plain_hostname" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_extract_host_strips_port_and_path" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_extract_host_strips_protocol" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_not_private_public_ips" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_private_ip_10_x" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_private_ip_127_loopback" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_private_ip_172_16_to_31" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_private_ip_192_168" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_is_private_ip_invalid_input" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_resolve_peer_address_crossbar_fallback" time="0.006" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_resolve_peer_address_lan_direct" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_resolve_peer_address_skips_wan_for_private_ip" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestNATTraversal" name="test_resolve_peer_address_wireguard_mesh" time="0.005" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_degraded_but_not_restricted_between_thresholds" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_is_degraded_after_1h" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_is_restricted_after_24h" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_not_degraded_when_connected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_not_degraded_when_recently_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_central_not_restricted_when_connected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_collector_get_summary_resets_counters" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_collector_record_received" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_collector_record_security_event" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_collector_record_sent" time="0.005" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_collector_security_events_capped_at_100" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_get_disconnection_hours_positive" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_get_disconnection_hours_zero_when_connected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_get_disconnection_hours_zero_when_never_disconnected" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_handle_emergency_halt_no_signature_ignored" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_handle_emergency_halt_valid_signature" time="0.004" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_handle_peer_ban_closes_link" time="0.007" /><testcase classname="tests.unit.test_peer_link.TestTelemetry" name="test_handle_peer_ban_records_security_event" time="0.004" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_get_stats_tracks_delivered_local" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_get_stats_tracks_published" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_publish_returns_message_id" time="0.004" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_publish_skip_crossbar" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_publish_skip_peerlink" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_receive_from_crossbar_deduplicates" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_receive_from_crossbar_maps_legacy_topics" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_receive_from_crossbar_unknown_topic_passthrough" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_receive_from_peer_deduplicates" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_receive_from_peer_no_msg_id" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_reverse_map_populated" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_route_local_emits_to_eventbus" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_subscribe_and_publish_delivers" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_topic_map_has_correct_count" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_topic_map_has_key_entries" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_unsubscribe_removes_handler" time="0.002" /><testcase classname="tests.unit.test_peer_link.TestMessageBus" name="test_wildcard_subscribe_matches" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestLRUDedup" name="test_duplicate_returns_false" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLRUDedup" name="test_new_id_returns_true" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLRUDedup" name="test_respects_maxsize" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLRUDedup" name="test_thread_safety" time="0.003" /><testcase classname="tests.unit.test_peer_link.TestIntegration" name="test_message_bus_to_channel_dispatcher_wiring" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestIntegration" name="test_peerlink_to_link_manager_lifecycle" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestIntegration" name="test_reset_link_manager_singleton" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestIntegration" name="test_reset_singletons_work" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestIntegration" name="test_telemetry_collector_used_by_central" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkState" name="test_all_states_exist" time="0.001" /><testcase classname="tests.unit.test_peer_link.TestLinkState" name="test_channel_ids_reverse_mapping" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_valid_lang_en_writes_file" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_valid_lang_fr_writes_file" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_valid_lang_hi_writes_file" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_valid_lang_zh_cn_uses_first_two_chars" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_invalid_lang_xx_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_invalid_lang_zz_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_empty_string_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_none_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_single_char_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_numeric_string_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_disk_error_returns_false" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_permission_error_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_all_supported_langs_accepted" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageFunctional" name="test_overwrites_existing_file" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_return_type_always_bool" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_valid_lang_false_return_on_write_error" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_unicode_lang_code_rejected" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_very_long_lang_string_uses_first_two" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_whitespace_lang_returns_false" time="0.001" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_json_output_is_valid" time="0.002" /><testcase classname="tests.unit.test_persist_language.TestPersistLanguageNonFunctional" name="test_makedirs_creates_parent" time="0.002" /><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_gather_info_raises_without_autogen" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:210: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_agent_creator_system_message_has_required_fields" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:217: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_agent_creator_system_message_has_personality" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:225: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_agent_name_format_three_part" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:231: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_create_agents_autonomous_mode" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:236: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_create_agents_interactive_mode" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:256: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_get_agent_response_returns_string" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:271: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_get_agent_response_retries_on_missing_flows" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:284: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_config_json_structure_validation" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:300: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_user_agents_cache_reuse" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:316: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGatherInfo" name="test_gather_info_produces_valid_json_with_personas" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:327: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_action_class_initialization" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:347: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_action_class_set_ledger" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:357: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_action_get_action" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:369: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_initiate_chat_called_with_correct_message" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:380: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_action_execution_sets_in_progress_state" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:388: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateRecipeExecution" name="test_action_tracks_timer" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:396: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_lifecycle_hook_process_verifier_valid_completion" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:412: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_lifecycle_hook_process_verifier_passes_none_through" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:427: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_lifecycle_hook_process_verifier_passes_missing_status" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:441: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_verifier_completion_with_fallback_action" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:455: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_verifier_completion_without_fallback_requests_from_user" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:478: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestStatusVerifierReview" name="test_verifier_error_status_sets_error_state" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:498: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRecipeCreation" name="test_action_recipe_file_written" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:516: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRecipeCreation" name="test_action_recipe_assigns_agent_to_steps" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:539: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRecipeCreation" name="test_action_recipe_includes_metadata" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:558: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRecipeCreation" name="test_action_recipe_file_naming_convention" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:578: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRecipeCreation" name="test_recipe_state_transition_to_terminated" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:586: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_topological_sort_basic" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:610: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_topological_sort_no_dependencies" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:624: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_topological_sort_cyclic_detection" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:636: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_topological_sort_diamond_dependency" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:647: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_fix_actions_with_cyclic_ids" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:664: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_retrieve_json_valid" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:680: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_retrieve_json_invalid" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:688: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_retrieve_json_nested" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:694: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTopologicalSort" name="test_strip_json_values_redacts" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:702: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowRecipeCreation" name="test_create_final_recipe_writes_file" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:718: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowRecipeCreation" name="test_recipe_file_naming_convention" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:737: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowRecipeCreation" name="test_flow_lifecycle_state_tracking" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:744: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowRecipeCreation" name="test_flow_lifecycle_multiple_flows" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:751: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowRecipeCreation" name="test_all_actions_terminated_check" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:760: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_create_ledger_for_user_prompt" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:790: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_create_ledger_with_auto_backend" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:801: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_add_subtasks_to_ledger" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:810: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_ledger_task_routing_after_completion" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:835: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_goal_tracking_via_ledger" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:859: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAgentLedger" name="test_get_default_llm_client" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:879: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_action_state_enum_has_all_15_states" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:899: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_initial_state_is_assigned" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:911: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_valid_transition_assigned_to_in_progress" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:919: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_invalid_transition_assigned_to_completed" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:926: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_full_happy_path_transitions" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:933: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_error_recovery_path" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:944: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_fallback_path" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:955: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_recipe_path" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:968: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_preview_pending_path" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:983: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_state_transition_error_raised" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:993: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_idempotent_state_set" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1001: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_multiple_actions_independent" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1009: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLifecycleHooks" name="test_thread_safety_of_state_transitions" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1019: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestForceStateTransitions" name="test_force_state_assigned_to_completed" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1053: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestForceStateTransitions" name="test_force_state_from_in_progress_to_completed" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1061: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestForceStateTransitions" name="test_force_state_assigned_to_terminated" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1070: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestForceStateTransitions" name="test_force_state_error_to_in_progress" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1084: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestForceStateTransitions" name="test_terminated_allows_reassignment" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1095: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHandoverToUser" name="test_exec_retries_tracking" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1111: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHandoverToUser" name="test_needs_input_breaks_after_3_retries" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1122: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHandoverToUser" name="test_under_retry_limit_continues" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1133: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHandoverToUser" name="test_action_needing_user_input_flagged" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1143: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHandoverToUser" name="test_handover_via_fallback_state" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1149: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousFallback" name="test_autonomous_action_skips_user_fallback" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1168: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousFallback" name="test_missing_fallback_requests_from_user" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1184: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousFallback" name="test_can_perform_without_user_input_yes" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1198: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousFallback" name="test_lifecycle_hook_track_recipe_completion" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1204: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestScheduledExecution" name="test_apscheduler_cron_trigger_creation" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1229: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestScheduledExecution" name="test_apscheduler_interval_trigger_creation" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1235: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestScheduledExecution" name="test_background_scheduler_lifecycle" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1241: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestScheduledExecution" name="test_scheduler_add_job" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1250: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestScheduledExecution" name="test_cron_expression_in_recipe" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1262: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTimeAgent" name="test_scheduler_check_triggers_time_agents" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1289: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTimeAgent" name="test_scheduler_check_false_skips_time_agents" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1294: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTimeAgent" name="test_scheduled_monitoring_action" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1299: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestTimeAgent" name="test_visual_scheduled_tasks_structure" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1318: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestReuseRecipe" name="test_recipe_file_enables_reuse" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1341: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestReuseRecipe" name="test_config_plus_recipe_complete_agent" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1367: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestReuseRecipe" name="test_reuse_loads_recipe_by_role" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1385: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMessageRecovery" name="test_message_recovery_from_chat_messages" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1423: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMessageRecovery" name="test_no_recovery_when_messages_present" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1441: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMessageRecovery" name="test_empty_chat_messages_no_recovery" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1454: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutoAdvance" name="test_auto_advance_increments_current_action" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1473: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutoAdvance" name="test_auto_advance_last_action_sets_fallback" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1492: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutoAdvance" name="test_auto_advance_requests_recipe_when_missing" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1505: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestExecutePending" name="test_pending_action_gets_started" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1528: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestExecutePending" name="test_execute_pending_message_format" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1540: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestExecutePending" name="test_execute_pending_tracks_attempt_count" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1550: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestRecipeNeededDetection" name="test_recipe_needed_when_file_missing" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1570: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestRecipeNeededDetection" name="test_recipe_not_needed_when_file_exists" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1581: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestRecipeNeededDetection" name="test_already_done_with_recipe_advances" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1592: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLateRecipeSave" name="test_late_recipe_save_when_file_missing" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1620: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLateRecipeSave" name="test_late_recipe_skip_when_file_exists" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1641: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLateRecipeSave" name="test_late_recipe_transitions_terminated_properly" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1664: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHallucinationDefense" name="test_action_id_mismatch_corrected" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1689: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHallucinationDefense" name="test_action_id_match_accepted" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1699: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHallucinationDefense" name="test_missing_action_id_uses_current" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1708: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestHallucinationDefense" name="test_integrity_check_rejects_corrupted_task" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1715: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_manager_has_groupchat_reference" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1743: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_group_chat_messages_shared" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1747: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_terminate_detection_in_group_chat" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1752: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_at_mention_routing" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1763: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_is_terminate_msg_helper" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1777: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestGroupChatSync" name="test_is_terminate_msg_handles_none" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1783: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_assigned_maps_to_pending" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1827: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_in_progress_maps_and_claims" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1834: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_completed_maps_and_releases" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1843: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_error_maps_to_failed" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1851: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_fallback_requested_maps_to_blocked" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1861: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_heartbeat_recorded_on_state_change" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1871: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_preview_pending_sets_blocked_reason" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1883: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestLedgerSync" name="test_block_and_resume_for_user_input" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1892: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRetryTracker" name="test_retry_tracker_exists" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1914: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRetryTracker" name="test_retry_count_increments" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1920: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRetryTracker" name="test_retry_threshold_triggers_error" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1928: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestActionRetryTracker" name="test_retry_reset_clears_count" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1939: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAuditAndEventBus" name="test_state_change_emits_audit_event" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1956: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAuditAndEventBus" name="test_state_change_emits_eventbus_event" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1967: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestResumeFromProgress" name="test_detect_completed_actions_from_disk" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1986: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestResumeFromProgress" name="test_ledger_persistence_to_json" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:1996: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestResumeFromProgress" name="test_state_recovery_after_crash" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2018: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateActionWithLedger" name="test_creates_action_with_ledger_attached" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2057: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestCreateActionWithLedger" name="test_ledger_reuse_on_existing_session" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2093: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentDispatch" name="test_daemon_dispatch_goal_calls_recipe" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2132: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentDispatch" name="test_daemon_tick_processes_goals" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2145: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentDispatch" name="test_goal_manager_create_goal" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2153: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentDispatch" name="test_seed_goals_module_exists" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2161: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFullCreatePipeline" name="test_full_pipeline_config_to_recipe" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2178: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFullCreatePipeline" name="test_gather_then_decompose_then_execute" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2259: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousAgentWithScheduledTasks" name="test_autonomous_agent_creates_and_schedules" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2279: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestAutonomousAgentWithScheduledTasks" name="test_all_actions_autonomous" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2327: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMultiFlowAgent" name="test_multi_flow_progression" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2341: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMultiFlowAgent" name="test_each_flow_has_its_own_persona" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2360: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMultiFlowAgent" name="test_multi_flow_full_lifecycle" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2367: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestErrorRecoveryChain" name="test_error_then_helper_then_retry_then_complete" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2400: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestErrorRecoveryChain" name="test_multiple_error_retries_then_complete" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2418: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestErrorRecoveryChain" name="test_error_recovery_with_ledger_sync" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2435: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestErrorRecoveryChain" name="test_destructive_action_preview_then_execute" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2474: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestResumeFromProgressCombination" name="test_resume_from_partial_completion" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2496: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestResumeFromProgressCombination" name="test_resume_with_ledger_recovery" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2533: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentPipeline" name="test_daemon_goal_uses_recipe_function" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2582: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentPipeline" name="test_daemon_pipeline_state_transitions" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2594: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestDaemonAgentPipeline" name="test_daemon_agent_full_lifecycle" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2612: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestChannelRouting" name="test_crossbar_publish_async_delegates" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2652: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestChannelRouting" name="test_channel_session_isolation" time="0.001"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2658: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMultiDeviceCoordination" name="test_device_routing_by_capability" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2668: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestMultiDeviceCoordination" name="test_device_session_independence" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2681: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowManagement" name="test_safe_increment_rejects_non_terminated" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2696: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_pipeline_comprehensive.TestFlowManagement" name="test_parallel_actions_execute_independently" time="0.000"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_pipeline_comprehensive.py:2704: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_from_dict" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_from_panel_manifest" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_from_system_panel" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_matches_search_by_description" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_matches_search_by_group" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_matches_search_by_name" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_matches_search_by_tag" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_roundtrip" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppManifest" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppType" name="test_all_types_exist" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_count" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_duplicate_raises" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_get_missing_returns_none" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_list_all" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_register_and_get" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_unregister" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryBasic" name="test_unregister_missing_raises" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryFiltering" name="test_groups" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryFiltering" name="test_list_by_group" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryFiltering" name="test_list_by_group_case_insensitive" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryFiltering" name="test_list_by_type_desktop" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryFiltering" name="test_list_by_type_nunba" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistrySearch" name="test_search_by_name" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistrySearch" name="test_search_by_tag" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistrySearch" name="test_search_empty_returns_all" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistrySearch" name="test_search_exact_id_first" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistrySearch" name="test_search_no_match" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestShellManifestCompat" name="test_load_panel_manifest" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestShellManifestCompat" name="test_load_system_panels" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestShellManifestCompat" name="test_to_shell_manifest" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryEvents" name="test_emits_registered_event" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryEvents" name="test_emits_unregistered_event" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestAppRegistryHealth" name="test_health" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestNativeAppsContainsNunba" name="test_nunba_registered_when_binary_present" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_all_panels_have_default_size" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_all_panels_have_group" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_app_permissions_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_app_store_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_auto_update_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_battery_monitor_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_calculator_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_dns_settings_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_email_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_file_tags_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_hart_identity_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_hotspot_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_image_viewer_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_notes_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_panel_manifest_to_app_manifest" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_scanner_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_screen_rotation_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_sso_ldap_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_trash_bin_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_voice_control_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_vpn_manager_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_weather_widget_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_webcam_viewer_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_apps.TestOSPanelRegistrations" name="test_wifi_manager_panel_registered" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_get_all" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_namespace" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_repr" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_returns_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_unknown_key_returns_none" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDefaultResolution" name="test_unknown_key_with_fallback" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_bad_env_value_falls_through" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_env_bool_conversion" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_env_int_conversion" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_env_overrides_db" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_env_overrides_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestEnvResolution" name="test_key_without_env_map" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDBResolution" name="test_cache_invalidated_on_set" time="0.002" /><testcase classname="tests.unit.test_platform_config.TestDBResolution" name="test_db_cached_with_ttl" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDBResolution" name="test_db_exception_falls_to_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDBResolution" name="test_db_returns_none_falls_to_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestDBResolution" name="test_db_value_overrides_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_env_still_wins_over_set" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_reset_all" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_reset_removes_override" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_set_db_saver_failure_still_overrides" time="0.002" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_set_overrides_default" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestSetAndOverride" name="test_set_persists_to_db" time="0.002" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_listener_error_doesnt_break_others" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_multiple_listeners" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_no_change_no_notification" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_off_change" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_on_change_fires" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestChangeNotifications" name="test_reset_fires_notification" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestIsolation" name="test_separate_namespaces" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestBoolConverter" name="test_string_false_variants" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestBoolConverter" name="test_string_true_variants" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_export_contains_namespace" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_export_contains_values" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_import_empty" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_import_ignores_unknown_keys" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_import_restores_values" time="0.001" /><testcase classname="tests.unit.test_platform_config.TestConfigExportImport" name="test_round_trip" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_emit_calls_listener" time="0.001"><failure message="AssertionError: Tuples differ: ('test.event', {'value': 42, 'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422'}) != ('test.event', {'value': 42})&#10;&#10;First differing element 1:&#10;{'value': 42, 'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422'}&#10;{'value': 42}&#10;&#10;- ('test.event', {'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422', 'value': 42})&#10;+ ('test.event', {'value': 42})">tests/unit/test_platform_events.py:33: in test_emit_calls_listener
    self.assertEqual(events[0], ('test.event', {'value': 42}))
E   AssertionError: Tuples differ: ('test.event', {'value': 42, 'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422'}) != ('test.event', {'value': 42})
E   
E   First differing element 1:
E   {'value': 42, 'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422'}
E   {'value': 42}
E   
E   - ('test.event', {'msg_id': 'ab1c43e392e64f038ecdd5a57b9d4422', 'value': 42})
E   + ('test.event', {'value': 42})</failure></testcase><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_emit_no_listeners_returns_zero" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_emit_none_data" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_emit_returns_listener_count" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_multiple_listeners_same_topic" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_multiple_topics" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_off_nonexistent_no_error" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestEventBusBasic" name="test_off_removes_listener" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestWildcardSubscriptions" name="test_off_wildcard" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestWildcardSubscriptions" name="test_prefix_wildcard" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestWildcardSubscriptions" name="test_star_matches_all" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestWildcardSubscriptions" name="test_wildcard_and_exact" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestOnce" name="test_once_fires_once" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestOnce" name="test_once_receives_data" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestErrorHandling" name="test_error_in_listener_doesnt_break_others" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestErrorHandling" name="test_error_in_wildcard_doesnt_break_others" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestAsyncEmit" name="test_async_emit_fires" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_emit_count" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_has_listeners_exact" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_has_listeners_wildcard" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_health" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestIntrospection" name="test_topics" time="0.001" /><testcase classname="tests.unit.test_platform_events.TestThreadSafety" name="test_concurrent_emit_and_subscribe" time="0.002" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionState" name="test_initial_state" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_disable" time="0.002" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_disable_wrong_state_raises" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_enable" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_enable_not_loaded_raises" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_enable_wrong_state_raises" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_load_and_state" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_re_enable" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_unload" time="0.002" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_unload_enabled_disables_first" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionRegistryDirect" name="test_unload_not_loaded_raises" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionEvents" name="test_disable_emits" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionEvents" name="test_enable_emits" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionEvents" name="test_unload_emits" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionErrorHandling" name="test_enable_failure_sets_error" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionListAndHealth" name="test_count" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionListAndHealth" name="test_get" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionListAndHealth" name="test_health" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionListAndHealth" name="test_list_extensions" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionListAndHealth" name="test_registry_passed_to_extension" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionSigVerify" name="test_bootstrap_has_extension_loading" time="0.005" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionSigVerify" name="test_extension_manifest_has_id" time="0.001" /><testcase classname="tests.unit.test_platform_extensions.TestExtensionSigVerify" name="test_unsigned_extension_loads_gracefully" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_duplicate_register_raises" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_get_unknown_raises" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_has" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_names" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_register_and_get" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_reset_clears_all" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_unregister" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestServiceRegistryBasic" name="test_unregister_unknown_raises" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestSingletonBehavior" name="test_factory_returns_new_instance" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestSingletonBehavior" name="test_singleton_is_default" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestSingletonBehavior" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_health_not_instantiated" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_health_reports_all" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_plain_service_not_started" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_start_all_calls_start" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_stop_all_calls_stop" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_stop_reverse_order" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestLifecycle" name="test_unregister_stops_service" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestDependencyOrdering" name="test_circular_dependency_raises" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestDependencyOrdering" name="test_dependency_order" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestDependencyOrdering" name="test_missing_dependency_ignored" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestErrorHandling" name="test_factory_function" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestErrorHandling" name="test_factory_lambda" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestErrorHandling" name="test_failing_factory" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestErrorHandling" name="test_failing_start_records_error" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestThreadSafety" name="test_concurrent_get" time="0.003" /><testcase classname="tests.unit.test_platform_registry.TestGlobalRegistry" name="test_get_registry_returns_same" time="0.001" /><testcase classname="tests.unit.test_platform_registry.TestGlobalRegistry" name="test_reset_creates_new" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_auto_generates_output_path" time="0.002" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_empty_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_fallback_to_espeak" time="0.002" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_no_engine_available" time="0.002" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_synthesize_with_pocket_tts" time="0.004" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSSynthesize" name="test_whitespace_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSListVoices" name="test_all_builtin_voices_have_language" time="0.006" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSListVoices" name="test_engine_detection" time="0.005" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSListVoices" name="test_list_voices_returns_builtin" time="0.005" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSCloneVoice" name="test_clone_without_pocket_tts" time="0.002" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSCloneVoice" name="test_missing_audio_path" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSCloneVoice" name="test_missing_name" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSCloneVoice" name="test_nonexistent_file" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSUnload" name="test_unload_clears_state" time="0.574" /><testcase classname="tests.unit.test_pocket_tts.TestPocketTTSRegistration" name="test_register_functions" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestEspeakFallback" name="test_espeak_not_installed" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestEspeakFallback" name="test_espeak_success" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_create_pocket_engine" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_from_string" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_in_default_models" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_in_default_voices" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_max_text_length" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_provider_exists" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_provider_info" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestTTSEnginePocket" name="test_pocket_supported_formats" time="0.001" /><testcase classname="tests.unit.test_pocket_tts.TestVoiceAPISpeak" name="test_speak_espeak_fallback" time="0.006" /><testcase classname="tests.unit.test_pocket_tts.TestVoiceAPISpeak" name="test_speak_no_text" time="0.004" /><testcase classname="tests.unit.test_pocket_tts.TestVoiceAPIVoices" name="test_list_voices" time="0.009" /><testcase classname="tests.unit.test_pocket_tts.TestVoiceAPIClone" name="test_clone_missing_fields" time="0.004" /><testcase classname="tests.unit.test_port_registry.TestAppPorts" name="test_all_services_present" time="0.001"><failure message="AssertionError: Items in the first set but not the second:&#10;'flask'&#10;'langchain'">tests/unit/test_port_registry.py:24: in test_all_services_present
    self.assertEqual(set(APP_PORTS.keys()), expected)
E   AssertionError: Items in the first set but not the second:
E   'flask'
E   'langchain'</failure></testcase><testcase classname="tests.unit.test_port_registry.TestAppPorts" name="test_app_ports_are_user_space" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestAppPorts" name="test_app_ports_no_duplicates" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestOSPorts" name="test_all_services_present" time="0.001"><failure message="AssertionError: Items in the first set but not the second:&#10;'flask'&#10;'langchain'">tests/unit/test_port_registry.py:48: in test_all_services_present
    self.assertEqual(set(OS_PORTS.keys()), expected)
E   AssertionError: Items in the first set but not the second:
E   'flask'
E   'langchain'</failure></testcase><testcase classname="tests.unit.test_port_registry.TestOSPorts" name="test_os_and_app_have_same_services" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestOSPorts" name="test_os_ports_are_privileged" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestOSPorts" name="test_os_ports_no_duplicates" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestEnvOverrides" name="test_all_services_have_env_var" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestEnvOverrides" name="test_env_var_names_are_strings" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_caching" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_env_var_case_insensitive" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_env_var_false" time="0.003" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_env_var_one" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_env_var_true" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_env_var_yes" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_no_env_var_no_os_release" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestIsOsMode" name="test_os_release_detection" time="0.003" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_app_mode_defaults" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_env_beats_os_mode" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_env_override" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_explicit_override" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_explicit_override_beats_env" time="0.002" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_invalid_env_falls_through" time="0.003" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_os_mode_defaults" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_override_beats_os_mode" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_unknown_service_os_mode_returns_zero" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetPort" name="test_unknown_service_returns_zero" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetAllPorts" name="test_app_mode_values" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetAllPorts" name="test_os_mode_values" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetAllPorts" name="test_returns_all_services" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestCheckPortAvailable" name="test_high_random_port_available" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestCheckPortAvailable" name="test_occupied_port_unavailable" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetModeLabel" name="test_app_mode_label" time="0.001" /><testcase classname="tests.unit.test_port_registry.TestGetModeLabel" name="test_os_mode_label" time="0.001" /><testcase classname="tests.unit.test_portrait_service" name="test_default_scorer_sorts_by_recency_descending" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_max_picks_truncates" time="0.003" /><testcase classname="tests.unit.test_portrait_service" name="test_max_picks_zero_returns_empty" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_empty_gallery" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_face_consent_off_filters_face_hints" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_face_consent_on_keeps_face_hints" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_face_hint_substring_does_not_match_unrelated_word" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_adjacent_similar_filenames_suppressed" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_homogeneous_gallery_still_fills_max_picks" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_custom_scorer_used" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_custom_scorer_failure_recovers_with_zero_score" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_nonexistent_path_default_scorer_zero" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_empty_string_paths_dropped" time="0.002" /><testcase classname="tests.unit.test_portrait_service" name="test_arrange_portraits_paths_returns_strings" time="0.002" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_async_function" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_boolean_ops" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_except_handler" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_if_branches" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_loops_and_conditions" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_multiple_functions" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_simple_function" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCyclomaticComplexity" name="test_syntax_error_returns_empty" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestFunctionLengths" name="test_long_function" time="0.003" /><testcase classname="tests.unit.test_pr_guardian.TestFunctionLengths" name="test_short_function" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestFunctionLengths" name="test_syntax_error_returns_empty" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestNestingDepth" name="test_deeply_nested" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestNestingDepth" name="test_flat_function" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestNestingDepth" name="test_moderate_nesting" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestNestingDepth" name="test_syntax_error" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestImportAnalysis" name="test_blocked_import" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestImportAnalysis" name="test_from_import_blocked" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestImportAnalysis" name="test_no_imports" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestImportAnalysis" name="test_stdlib_imports" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestImportAnalysis" name="test_syntax_error" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestFullAnalyze" name="test_analyze_returns_all_keys" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_blocked_import_flagged" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_clean_metrics_no_violations" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_deep_nesting_flagged" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_file_too_long_flagged" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_high_complexity_flagged" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestCheckThresholds" name="test_long_function_flagged" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeFileSource" name="test_bad_file_fails" time="0.004" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeFileSource" name="test_clean_file_passes" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeDiff" name="test_clean_diff" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeDiff" name="test_diff_stats_counted" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeDiff" name="test_empty_source_skipped" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestAnalyzeDiff" name="test_non_python_skipped" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestGenerateReviewComment" name="test_failing_comment" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestGenerateReviewComment" name="test_passing_comment" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestGenerateReviewComment" name="test_thresholds_in_comment" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRChecklist" name="test_all_checked" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRChecklist" name="test_checked_items" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRChecklist" name="test_empty_body" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRChecklist" name="test_none_body" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRReviewServiceIntegration" name="test_classify_change_guardian_bump" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRReviewServiceIntegration" name="test_classify_change_no_violations" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestPRReviewServiceIntegration" name="test_enhanced_review_clean" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestConstants" name="test_blocked_imports_frozen" time="0.001" /><testcase classname="tests.unit.test_pr_guardian.TestConstants" name="test_thresholds_sensible" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestClassifyChange" name="test_simple_change" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestClassifyChange" name="test_moderate_change" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestClassifyChange" name="test_complex_change_many_files" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestClassifyChange" name="test_complex_change_many_lines" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestClassifyChange" name="test_empty_diff" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestPreCommitChecks" name="test_passes_when_clean" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestPreCommitChecks" name="test_passes_when_no_ruff" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestRunTestSuite" name="test_parses_passing_results" time="0.002" /><testcase classname="tests.unit.test_pr_review_service.TestRunTestSuite" name="test_parses_mixed_results" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestRunTestSuite" name="test_handles_error" time="0.001" /><testcase classname="tests.unit.test_pr_review_service.TestValidateBaseline" name="test_passes_with_no_regressions" time="0.003" /><testcase classname="tests.unit.test_pr_review_service.TestValidateBaseline" name="test_detects_regressions" time="0.003" /><testcase classname="tests.unit.test_pr_review_service.TestReviewPR" name="test_auto_approve_simple_passing" time="0.002" /><testcase classname="tests.unit.test_pr_review_service.TestReviewPR" name="test_flag_steward_complex" time="0.003" /><testcase classname="tests.unit.test_pr_review_service.TestReviewPR" name="test_build_breaker_tests_fail" time="0.003" /><testcase classname="tests.unit.test_pr_review_service.TestReviewPR" name="test_build_breaker_baseline_regression" time="0.002" /><testcase classname="tests.unit.test_pr_review_service.TestReviewPR" name="test_error_on_diff_failure" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_terms_not_empty" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_fingerprint_deterministic" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_peace_terms_present" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_audit_compute_ratio" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_privacy_terms_present" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_no_human_override_term" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_mutual_accountability" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractTerms" name="test_truth_terms" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractSigning" name="test_sign_creates_valid_contract" time="0.002" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractSigning" name="test_sign_fails_if_not_genuine" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_valid_contract_passes" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_wrong_fingerprint_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_wrong_guardrail_hash_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_wrong_origin_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_low_compute_ratio_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_expired_contract_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_tampered_signature_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractVerification" name="test_expelled_node_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_register_valid_contract" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_register_invalid_contract_rejected" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_record_audit_report" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_compliance_ok" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_compliance_fails_on_silence" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestPreTrustVerifier" name="test_unknown_node_not_compliant" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_record_violation" time="0.004" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_three_violations_expels" time="0.006" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_expelled_node_not_trusted" time="0.003" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_expelled_node_fails_compliance" time="0.003" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_immediate_expulsion" time="0.003" /><testcase classname="tests.unit.test_pre_trust_contract.TestViolationAndExpulsion" name="test_violation_unknown_node" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestSingleton" name="test_get_pre_trust_verifier" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestNoHumanLoophole" name="test_verification_has_no_skip_parameter" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestNoHumanLoophole" name="test_expulsion_cannot_be_reversed" time="0.003" /><testcase classname="tests.unit.test_pre_trust_contract.TestNoHumanLoophole" name="test_contract_terms_are_tuple" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestNoHumanLoophole" name="test_no_admin_bypass_in_verifier" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractSerialization" name="test_contract_to_dict" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractSerialization" name="test_get_contract_returns_dict" time="0.001" /><testcase classname="tests.unit.test_pre_trust_contract.TestContractSerialization" name="test_get_contract_unknown_returns_none" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_default_creation" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_custom_creation" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_serialization" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_update" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_update_immutable_fields" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_channel_overrides" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_get_channel_overrides" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_remove_channel_override" time="0.001" /><testcase classname="tests.unit.test_preferences.TestUserPreferences" name="test_effective_preference_with_metadata" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_valid_preferences" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_invalid_language" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_invalid_response_style" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_invalid_theme" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_invalid_timezone" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_valid_timezones" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_multiple_errors" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_invalid_channel_override_validation" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_all_valid_languages" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_all_valid_response_styles" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceValidator" name="test_all_valid_themes" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceMigrator" name="test_migrate_no_change_needed" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceMigrator" name="test_migrate_missing_version" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceMigrator" name="test_register_and_run_migration" time="0.001" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_get_creates_default" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_get_returns_existing" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_get_or_none" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_set_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_set_validates" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_update_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_update_validates" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_delete_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_delete_nonexistent" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_has_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_reset_to_defaults" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_get_effective_preference" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_set_channel_override" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_set_channel_override_validates" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_remove_channel_override" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_list_users" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_list_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_persistence" time="0.003" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_export_preferences" time="0.003" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_import_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_import_single_preference" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_import_replace_mode" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_default_preferences_config" time="0.002" /><testcase classname="tests.unit.test_preferences.TestPreferenceManager" name="test_get_and_set_default_preferences" time="0.002" /><testcase classname="tests.unit.test_preferences.TestResponseStyleEnum" name="test_all_styles" time="0.001" /><testcase classname="tests.unit.test_preferences.TestThemeEnum" name="test_all_themes" time="0.001" /><testcase classname="tests.unit.test_preferences.TestGlobalPreferenceManager" name="test_singleton_pattern" time="0.002" /><testcase classname="tests.unit.test_preferences.TestIntegrationWithIdentityModules" name="test_import_all_identity_modules" time="0.001" /><testcase classname="tests.unit.test_preferences.TestIntegrationWithIdentityModules" name="test_preferences_with_sender_mapping" time="0.003" /><testcase classname="tests.unit.test_preferences.TestDockerCompatibility" name="test_default_path_configuration" time="0.001" /><testcase classname="tests.unit.test_preferences.TestDockerCompatibility" name="test_storage_directory_creation" time="0.003" /><testcase classname="tests.unit.test_preferences.TestDockerCompatibility" name="test_handles_missing_storage_gracefully" time="0.002" /><testcase classname="tests.unit.test_private_repo_access.TestIsPrivateRepo" name="test_matches_env_list" time="0.002" /><testcase classname="tests.unit.test_private_repo_access.TestIsPrivateRepo" name="test_no_match" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestIsPrivateRepo" name="test_empty_env" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestIsPrivateRepo" name="test_handles_git_suffix" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_non_private_repo_always_allowed" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_no_certificate_denied" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_central_full_access" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_regional_push_access" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_regional_invalid_cert_denied" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestVerifyAccess" name="test_local_denied" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestSendGitHubInvite" name="test_invite_via_gh_cli" time="0.002" /><testcase classname="tests.unit.test_private_repo_access.TestSendGitHubInvite" name="test_invite_fallback_to_http" time="0.002" /><testcase classname="tests.unit.test_private_repo_access.TestSendGitHubInvite" name="test_invite_no_username" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestRevokeGitHubAccess" name="test_revoke_via_gh_cli" time="0.002" /><testcase classname="tests.unit.test_private_repo_access.TestRevokeGitHubAccess" name="test_revoke_no_username" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestSplitRepoTask" name="test_splits_by_file" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestSplitRepoTask" name="test_single_subtask_when_no_files" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestExtractOwnerRepo" name="test_full_url" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestExtractOwnerRepo" name="test_url_with_git_suffix" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestExtractOwnerRepo" name="test_owner_repo_format" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestExtractOwnerRepo" name="test_empty_returns_none" time="0.001" /><testcase classname="tests.unit.test_private_repo_access.TestExtractOwnerRepo" name="test_invalid_returns_none" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestInstructionOverride" name="test_ignore_previous_instructions" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestInstructionOverride" name="test_disregard_prior_prompts" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestInstructionOverride" name="test_forget_everything" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestInstructionOverride" name="test_ignore_case_insensitive" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestRoleHijacking" name="test_you_are_now_a" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestRoleHijacking" name="test_act_as_if" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestRoleHijacking" name="test_pretend_to_be" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_system_token" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_im_start_token" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_inst_template" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_llama_sys_tags" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_role_marker_in_text" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSystemTokenInjection" name="test_code_block_role" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestDataExfiltration" name="test_show_system_prompt" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestDataExfiltration" name="test_reveal_instructions" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestDataExfiltration" name="test_what_are_your_rules" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestMemoryPoisoning" name="test_when_next_see" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestMemoryPoisoning" name="test_remember_for_later" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestAdminEscalation" name="test_admin_mode" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestAdminEscalation" name="test_admin_override" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestAdminEscalation" name="test_important_override" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_greeting" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_code_question" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_creative_writing" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_technical_discussion" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_math_question" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_empty_input" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_none_like_empty" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_unicode_input" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestLegitimateInputs" name="test_normal_use_of_act" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSanitization" name="test_wraps_in_user_input_tags" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSanitization" name="test_strips_existing_user_input_tags" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestSanitization" name="test_strips_system_tags" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestHardeningPrompt" name="test_returns_non_empty_string" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestHardeningPrompt" name="test_mentions_user_input_tags" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestHardeningPrompt" name="test_mentions_never_reveal" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestPatternCoverage" name="test_injection_patterns_are_compiled_regex" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestPatternCoverage" name="test_suspicious_patterns_are_compiled_regex" time="0.001" /><testcase classname="tests.unit.test_prompt_guard.TestPatternCoverage" name="test_minimum_pattern_count" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_creates_snapshot_with_files" time="0.003" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_empty_prompts_dir_returns_none" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_idempotent_within_same_second" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_missing_prompts_dir_returns_none" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_only_json_files_copied" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotPrompts" name="test_snapshot_files_match_source" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotTornJsonDefense" name="test_only_torn_files_no_snapshot" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestSnapshotTornJsonDefense" name="test_torn_json_skipped_in_snapshot" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestRetention" name="test_prune_keep_zero_does_nothing" time="0.002" /><testcase classname="tests.unit.test_prompts_backup.TestRetention" name="test_prune_keeps_n_newest" time="0.003" /><testcase classname="tests.unit.test_prompts_backup.TestRetention" name="test_prune_under_keep_does_nothing" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestListSnapshots" name="test_no_snapshots_returns_empty" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestListSnapshots" name="test_returns_sorted" time="0.001" /><testcase classname="tests.unit.test_prompts_backup.TestListSnapshots" name="test_skips_non_snapshot_dirs" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_builtin_providers_loaded" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_capabilities_summary" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_find_best_balanced" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_find_cheapest_no_api_key" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_find_cheapest_with_api_key" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_list_api_vs_affiliate" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_list_by_category" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_provider_serialization" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_register_custom_provider" time="0.010" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_set_api_key" time="0.009" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_thread_safety" time="0.010" /><testcase classname="tests.unit.test_provider_gateway.TestProviderRegistry" name="test_update_model_stats" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_cost_calculation_free" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_cost_calculation_per_1m_tokens" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_cost_calculation_per_image" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_fallback_on_failure" time="0.007" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_no_provider_returns_error" time="0.002" /><testcase classname="tests.unit.test_provider_gateway.TestProviderGateway" name="test_stats_tracking" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_efficiency_score_computation" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_ema_smoothing" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_failure_tracking" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_leaderboard_sorting" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_matrix_summary" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_persistence" time="0.002" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_quality_scoring" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_record_request" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestEfficiencyMatrix" name="test_thread_safety" time="0.051" /><testcase classname="tests.unit.test_provider_gateway.TestAgentTools" name="test_tools_register" time="0.013" /><testcase classname="tests.unit.test_provider_gateway.TestProviderIntegration" name="test_full_flow_with_mock" time="0.010" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_earning_spark" time="0.002" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_earning_spark_no_cost" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_earning_spark_no_revenue_no_cost" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_period_stats" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_persistence" time="0.002" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_record_cost" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_record_revenue" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_summary" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestRevenueTracker" name="test_trim_old_entries" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestDiscoveryAgent" name="test_canonical_id" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestDiscoveryAgent" name="test_is_inference_ready" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestDiscoveryAgent" name="test_pick_source_respects_cooldown" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestDiscoveryAgent" name="test_pick_source_rotates" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestDiscoveryAgent" name="test_stats" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestResourceEnforcer" name="test_enforce_idempotent" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestResourceEnforcer" name="test_get_total_ram" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestResourceEnforcer" name="test_singleton_thread_safe" time="0.002" /><testcase classname="tests.unit.test_provider_gateway.TestGatewayResultModelType" name="test_gateway_result_default_model_type" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestGatewayResultModelType" name="test_gateway_result_has_model_type" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderApiKeyPersistence" name="test_from_dict_does_not_mutate_input" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestProviderApiKeyPersistence" name="test_to_dict_excludes_api_key_set" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestAuthHeaderBuilder" name="test_bearer_auth" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestAuthHeaderBuilder" name="test_fal_key_auth" time="0.001" /><testcase classname="tests.unit.test_provider_gateway.TestAuthHeaderBuilder" name="test_no_key" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_block_size_is_512" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_rrq_opcode_is_1" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_error_packet_format" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_data_packet_format" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_rrq_parsing_extracts_filename" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_path_traversal_prevention" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_handler_rejects_non_rrq_opcode" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPHandler" name="test_short_packet_ignored" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTFTPServer" name="test_server_stores_serve_dir" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestTFTPServer" name="test_allow_reuse_address" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestPXEHTTPHandler" name="test_default_serve_dir" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestExtractISO" name="test_extract_iso_mounts_and_unmounts" time="0.005" /><testcase classname="tests.unit.test_pxe_server.TestExtractISO" name="test_extract_iso_copies_kernel_files" time="0.004" /><testcase classname="tests.unit.test_pxe_server.TestExtractISO" name="test_extract_iso_searches_system_pxelinux" time="0.004" /><testcase classname="tests.unit.test_pxe_server.TestGetServerIP" name="test_fallback_uses_socket" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestGetServerIP" name="test_fallback_returns_0000_on_error" time="0.003" /><testcase classname="tests.unit.test_pxe_server.TestGetServerIP" name="test_interface_returns_string" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_creates_pxelinux_cfg_dir" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_writes_default_config" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_config_contains_server_ip" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_config_has_auto_and_manual_labels" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_config_has_autoinstall_url" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupPXEConfig" name="test_config_has_kernel_and_initrd" time="0.002" /><testcase classname="tests.unit.test_pxe_server.TestSetupAutoinstallDir" name="test_creates_autoinstall_dir" time="0.003" /><testcase classname="tests.unit.test_pxe_server.TestConstants" name="test_default_http_port" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestConstants" name="test_default_tftp_port" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestConstants" name="test_main_argparse" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTLSSupport" name="test_pxe_server_has_tls_args" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTLSSupport" name="test_pxe_server_imports_ssl" time="0.001" /><testcase classname="tests.unit.test_pxe_server.TestTLSSupport" name="test_self_signed_cert_function_exists" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_1000_to_pixel_center" time="0.010" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_center_calculation" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_full_screen_bbox" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_is_normalized_1000_false_for_pixel_coords" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_is_normalized_1000_small_screen" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_is_normalized_1000_true" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_is_normalized_empty_bbox" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_origin_bbox" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestCoordinateNormalization" name="test_small_screen" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_clean_json" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_json_in_markdown_block" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_json_with_surrounding_text" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_malformed_json_fallback" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_nested_json" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestVLMResponseParsing" name="test_parse_with_ui_elements_and_action" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_desktop_current_exists" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_desktop_region_exists" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_fixture_dimensions_detected" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_fixture_is_valid_png" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_fixture_loads_as_valid_base64" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestScreenshotFixtures" name="test_region_fixture_smaller_than_full" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_connection_failure_raises" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_describe_scene_returns_text" time="0.003" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_parse_and_reason_unified" time="0.003" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_parse_screen_returns_expected_format" time="0.003" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLBackendUnit" name="test_timeout_handling" time="0.002" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestBoxIDResolution" name="test_box_id_resolves_to_center" time="0.004" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestBoxIDResolution" name="test_explicit_coordinate_overrides_box_id" time="0.003" /><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLIntegration" name="test_real_action_generation" time="0.001"><skipped type="pytest.skip" message="Qwen3-VL server not available at localhost:8000">/home/runner/work/HARTOS/HARTOS/tests/unit/test_qwen3vl_computer_use.py:439: Qwen3-VL server not available at localhost:8000</skipped></testcase><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLIntegration" name="test_real_region_parsing" time="0.001"><skipped type="pytest.skip" message="Qwen3-VL server not available at localhost:8000">/home/runner/work/HARTOS/HARTOS/tests/unit/test_qwen3vl_computer_use.py:449: Qwen3-VL server not available at localhost:8000</skipped></testcase><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLIntegration" name="test_real_scene_description" time="0.001"><skipped type="pytest.skip" message="Qwen3-VL server not available at localhost:8000">/home/runner/work/HARTOS/HARTOS/tests/unit/test_qwen3vl_computer_use.py:422: Qwen3-VL server not available at localhost:8000</skipped></testcase><testcase classname="tests.unit.test_qwen3vl_computer_use.TestQwen3VLIntegration" name="test_real_screenshot_parsing" time="0.001"><skipped type="pytest.skip" message="Qwen3-VL server not available at localhost:8000">/home/runner/work/HARTOS/HARTOS/tests/unit/test_qwen3vl_computer_use.py:429: Qwen3-VL server not available at localhost:8000</skipped></testcase><testcase classname="tests.unit.test_rate_limit.TestSlidingWindowCounter" name="test_check_under_limit" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestSlidingWindowCounter" name="test_consume_decreases_remaining" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestSlidingWindowCounter" name="test_at_limit_blocks" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestSlidingWindowCounter" name="test_reset" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestTokenBucket" name="test_consume_from_full" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestTokenBucket" name="test_consume_multiple" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestTokenBucket" name="test_consume_at_empty" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestTokenBucket" name="test_reset" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_check_under_limit" time="0.002" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_consume" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_check_and_consume" time="0.002" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_burst_limit" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_per_channel_limits" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_reset" time="0.001" /><testcase classname="tests.unit.test_rate_limit.TestRateLimiter" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_readiness_probe.TestReadinessProbeShape" name="test_all_expected_keys_present_when_vision_off" time="0.030" /><testcase classname="tests.unit.test_readiness_probe.TestReadinessProbeShape" name="test_frame_store_reports_stats_when_available" time="0.036" /><testcase classname="tests.unit.test_readiness_probe.TestReadinessProbeShape" name="test_diarization_reports_ready_state" time="0.031" /><testcase classname="tests.unit.test_reasoning_trace" name="test_record_decision_writes_jsonl" time="0.006" /><testcase classname="tests.unit.test_reasoning_trace" name="test_record_decision_is_append_only" time="0.006" /><testcase classname="tests.unit.test_reasoning_trace" name="test_read_recent_returns_ordered" time="0.005" /><testcase classname="tests.unit.test_recipe_bridge" name="test_capture_with_search_replace" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_capture_with_original_updated" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_capture_multiple_files" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_capture_empty_edits" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_basic" time="0.002" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_with_working_dir_override" time="0.004" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_file_not_found" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_search_not_found" time="0.211" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_not_coding_step" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_empty_blocks" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_replay_multiple_files" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_flexible_patch_exact" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_flexible_patch_no_match" time="0.171" /><testcase classname="tests.unit.test_recipe_bridge" name="test_get_repository_map" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_capture_and_replay_roundtrip" time="0.001" /><testcase classname="tests.unit.test_recipe_bridge" name="test_step_serialization" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_singleton" time="0.003" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_record_basic" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_record_with_context" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_buffer_overflow" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_mark_resolved" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_mark_pattern_resolved" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_get_patterns" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_get_patterns_all" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_subscriber_notification" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_unsubscribe" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_stats_top_types" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_record_exception_convenience" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_thread_safety" time="0.012" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionCollector" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_timer_start_stop" time="0.051" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_record_dead_end" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_record_fallback" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_record_tool_call" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_merge_experience_into_recipe" time="0.084" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_build_experience_hints" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_build_experience_hints_empty" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestRecipeExperienceRecorder" name="test_cleanup_session" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealingDispatcher" name="test_singleton" time="0.004" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealingDispatcher" name="test_no_dispatch_below_threshold" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealingDispatcher" name="test_dispatch_above_threshold" time="0.004" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealingDispatcher" name="test_no_duplicate_goals" time="0.004" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_singleton" time="0.004" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_assign_release" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_assign_idempotent" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_severity_classification" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_severity_from_message" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_watcher_stats" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestExceptionWatcher" name="test_release_all" time="0.002" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealGoalType" name="test_self_heal_registered" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestSelfHealGoalType" name="test_self_heal_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestBootstrapExceptionWatcher" name="test_bootstrap_goal_exists" time="0.001" /><testcase classname="tests.unit.test_recipe_experience_healing.TestBootstrapExceptionWatcher" name="test_bootstrap_goal_config" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_basename_mismatch_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_empty_and_dotfiles_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_normal_filenames_accepted" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_nul_byte_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_path_separators_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_windows_drive_letter_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestSafeFilename" name="test_windows_reserved_names_rejected" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestPushCacheIdempotency" name="test_changed_content_pushes" time="0.004" /><testcase classname="tests.unit.test_recipe_sync.TestPushCacheIdempotency" name="test_force_overrides_cache" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestPushCacheIdempotency" name="test_repeat_push_skips_when_unchanged" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestFilesForPrompt" name="test_matches_exact_and_prefix" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestFilesForPrompt" name="test_missing_dir_returns_empty" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestFilesForPrompt" name="test_returns_sorted" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestFilesForPrompt" name="test_string_prompt_id" time="0.004" /><testcase classname="tests.unit.test_recipe_sync.TestChecksum" name="test_different_content_different_checksum" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestChecksum" name="test_empty_dict_stable" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestChecksum" name="test_same_files_same_checksum" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestBuildEnvelope" name="test_envelope_shape" time="0.002" /><testcase classname="tests.unit.test_recipe_sync.TestBuildEnvelope" name="test_no_files_returns_none" time="0.001" /><testcase classname="tests.unit.test_recipe_sync.TestPushRecipe" name="test_2xx_returns_true" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestPushRecipe" name="test_5xx_returns_false" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestPushRecipe" name="test_exception_returns_false_no_raise" time="0.002" /><testcase classname="tests.unit.test_recipe_sync.TestPushRecipe" name="test_no_central_url_returns_false" time="0.002" /><testcase classname="tests.unit.test_recipe_sync.TestPushRecipe" name="test_no_local_files_returns_false" time="0.002" /><testcase classname="tests.unit.test_recipe_sync.TestPullRecipe" name="test_404_returns_false" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestPullRecipe" name="test_no_central_url_returns_false" time="0.002" /><testcase classname="tests.unit.test_recipe_sync.TestPullRecipe" name="test_path_traversal_filenames_rejected" time="0.004"><failure message="AssertionError: True is not false">tests/unit/test_recipe_sync.py:325: in test_path_traversal_filenames_rejected
    self.assertFalse(os.path.exists(
E   AssertionError: True is not false</failure></testcase><testcase classname="tests.unit.test_recipe_sync.TestPullRecipe" name="test_schema_mismatch_returns_false" time="0.003" /><testcase classname="tests.unit.test_recipe_sync.TestPullRecipe" name="test_writes_files_to_dir" time="0.005" /><testcase classname="tests.unit.test_redis_ledger" name="test_basic_operations" time="0.016" /><testcase classname="tests.unit.test_redis_ledger" name="test_persistence" time="0.005" /><testcase classname="tests.unit.test_redis_ledger" name="test_create_ledger_from_actions" time="0.009" /><testcase classname="tests.unit.test_redis_ledger" name="test_performance_comparison" time="1.511" /><testcase classname="tests.unit.test_regional_host_service.TestRequestRegionalHost" name="test_qualifies_with_good_compute_and_trust" time="0.019" /><testcase classname="tests.unit.test_regional_host_service.TestRequestRegionalHost" name="test_rejected_low_compute" time="0.004" /><testcase classname="tests.unit.test_regional_host_service.TestRequestRegionalHost" name="test_rejected_low_trust" time="0.004" /><testcase classname="tests.unit.test_regional_host_service.TestRequestRegionalHost" name="test_duplicate_request_returns_existing" time="0.005" /><testcase classname="tests.unit.test_regional_host_service.TestApproveRequest" name="test_approve_issues_cert_and_invites" time="0.009" /><testcase classname="tests.unit.test_regional_host_service.TestApproveRequest" name="test_approve_nonexistent_request" time="0.002" /><testcase classname="tests.unit.test_regional_host_service.TestApproveRequest" name="test_cannot_approve_rejected" time="0.002" /><testcase classname="tests.unit.test_regional_host_service.TestRejectAndRevoke" name="test_reject_request" time="0.003" /><testcase classname="tests.unit.test_regional_host_service.TestRejectAndRevoke" name="test_revoke_regional_host" time="0.005" /><testcase classname="tests.unit.test_regional_host_service.TestListAndStatus" name="test_list_pending_requests" time="0.006" /><testcase classname="tests.unit.test_regional_host_service.TestListAndStatus" name="test_get_request_status" time="0.004" /><testcase classname="tests.unit.test_regional_host_service.TestListAndStatus" name="test_get_request_status_no_request" time="0.002" /><testcase classname="tests.unit.test_regression_session_fixes.TestTTLCacheDuckTyping" name="test_ttl_cache_has_get" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestTTLCacheDuckTyping" name="test_ttl_cache_not_isinstance_dict" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestTTLCacheDuckTyping" name="test_action_has_current_action" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestWatchdogTimeout" name="test_llm_timeout_is_900" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestWatchdogTimeout" name="test_llm_timeout_greater_than_default_interval" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestRobotGoalGuard" name="test_robot_prompt_builder_returns_none_without_hardware" time="0.004" /><testcase classname="tests.unit.test_regression_session_fixes.TestPathResolution" name="test_prompts_dir_is_absolute" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestPathResolution" name="test_prompts_dir_exists" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestAutoresearchGuard" name="test_returns_none_for_empty_config" time="0.003" /><testcase classname="tests.unit.test_regression_session_fixes.TestAutoresearchGuard" name="test_fallback_repo_path_when_missing" time="0.002" /><testcase classname="tests.unit.test_regression_session_fixes.TestAutoresearchGuard" name="test_returns_prompt_for_complete_config" time="0.001" /><testcase classname="tests.unit.test_regression_session_fixes.TestLedgerTransitionSkip" name="test_no_op_transitions_concept" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestBuildRemoteDesktopTools" name="test_builds_expected_tools" time="0.005" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestBuildRemoteDesktopTools" name="test_tool_tuple_format" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestOfferRemoteHelp" name="test_offer_help_returns_device_info" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestOfferRemoteHelp" name="test_offer_help_view_only" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestGetRemoteSessions" name="test_no_sessions" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestDisconnectRemote" name="test_disconnect_all" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridge" name="test_capture_session_as_recipe" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridge" name="test_not_recording_by_default" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridge" name="test_recording_flow" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridge" name="test_replay_empty_recipe" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridge" name="test_replay_recipe_local" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestDescribeAction" name="test_describe_click" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestDescribeAction" name="test_describe_key" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestDescribeAction" name="test_describe_scroll" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestDescribeAction" name="test_describe_type" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRecipeBridgeSingleton" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestRegisterRemoteDesktopTools" name="test_register_on_mock_agents" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_agent_tools.TestCoreAgentToolsIntegration" name="test_register_if_available" time="0.014" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestCircuitBreaker" name="test_independent_backends" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestCircuitBreaker" name="test_initially_closed" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestCircuitBreaker" name="test_opens_after_threshold" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestCircuitBreaker" name="test_reset" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestCircuitBreaker" name="test_success_resets_count" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameCapture" name="test_capture_frame_returns_none_when_all_fail" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameCapture" name="test_capture_frame_with_mock_pyautogui" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameCapture" name="test_get_screen_size_fallback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameCapture" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestFrameCapture" name="test_stop" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_click_event_classified_safe" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_destructive_input_blocked" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_event_count_increments" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_toggle_control_mode" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_type_event" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_unknown_event_type" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestInputHandler" name="test_view_only_blocks_input" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_apply_remote_clipboard_with_mock" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_apply_remote_clipboard_without_pyperclip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_empty_change_ignored" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_init_defaults" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_on_change_callback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_pause_resume" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_capture.TestClipboardSync" name="test_start_without_pyperclip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_disconnect_requires_id_or_all" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_host" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_host_json" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_id" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_id_json" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_install_moonlight" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_install_rustdesk" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_install_sunshine" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_sessions_empty" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_status" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopCLI" name="test_remote_desktop_status_json" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_connect_endpoint_missing_fields" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_connect_endpoint_no_engine" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_disconnect_endpoint" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_engines_endpoint" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_host_endpoint" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_select_engine_endpoint" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_select_engine_with_preference" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_sessions_endpoint" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_cli.TestRemoteDesktopAPI" name="test_status_endpoint" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNARenderer" name="test_renderer_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNARenderer" name="test_renderer_defaults" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNARenderer" name="test_renderer_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestCastSession" name="test_cast_session_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestMJPEGStreamServer" name="test_get_local_ip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestMJPEGStreamServer" name="test_server_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestMJPEGStreamServer" name="test_start_and_stop" time="0.504" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestMJPEGStreamServer" name="test_start_auto_port" time="0.505" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_bridge_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_cast_session_renderer_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_discover_renderers_returns_list" time="0.504" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_get_cached_renderers_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_get_cast_status_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_parse_header" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_parse_header_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_soap_post_invalid_url" time="0.006" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_stop_all_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNABridge" name="test_stop_cast_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAOrchestratorIntegration" name="test_discover_cast_targets" time="0.504" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAOrchestratorIntegration" name="test_get_cast_status_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAOrchestratorIntegration" name="test_get_status_includes_casts" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAOrchestratorIntegration" name="test_stop_cast_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAAgentTools" name="test_agent_tools_include_cast" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_dlna.TestDLNAAgentTools" name="test_agent_tools_include_peripherals" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropState" name="test_states_exist" time="0.006" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropEvent" name="test_event_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropEvent" name="test_event_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_bridge_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_handle_local_drop_file_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_handle_local_drop_no_files" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_handle_local_drop_with_real_file" time="0.008" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_handle_remote_drop" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_initial_state_not_monitoring" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_on_progress_callback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropBridge" name="test_stop_monitoring" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestFileTransferBatch" name="test_send_files_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestFileTransferBatch" name="test_send_files_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestFileTransferBatch" name="test_send_files_real_file" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestInputHandlerFileDrop" name="test_file_drop_event" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestInputHandlerFileDrop" name="test_file_drop_handler_exists" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_drag_drop.TestDragDropAgentTool" name="test_orchestrator_has_no_drag_drop_crash" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestShellManifest" name="test_remote_desktop_apis" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestShellManifest" name="test_remote_desktop_in_get_all_panels" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestShellManifest" name="test_remote_desktop_in_system_panels" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestShellManifest" name="test_remote_desktop_panel_structure" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestPanelData" name="test_get_panel_data_graceful_degradation" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_gui.TestPanelData" name="test_get_panel_data_structure" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_gui.TestPanelData" name="test_panel_js_exists" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestLiquidUIIntegration" name="test_loadRemoteDesktopPanel_in_dispatcher" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_gui.TestLiquidUIIntegration" name="test_loadRemoteDesktopPanel_js_function_exists" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorLifecycle" name="test_shutdown" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorLifecycle" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorLifecycle" name="test_startup" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorLifecycle" name="test_startup_idempotent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorHosting" name="test_start_hosting_native" time="0.005" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorHosting" name="test_start_hosting_no_device_id" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorHosting" name="test_stop_hosting" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorConnect" name="test_connect_auth_failed" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorConnect" name="test_connect_native" time="0.005" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorSmartConnect" name="test_smart_connect_file_transfer" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorSmartConnect" name="test_smart_connect_gaming" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorSmartConnect" name="test_smart_connect_observe_mode" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorEngineSwitch" name="test_switch_engine_success" time="0.005" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorEngineSwitch" name="test_switch_same_engine_no_change" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorEngineSwitch" name="test_switch_session_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorStatus" name="test_disconnect_all" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorStatus" name="test_get_sessions" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_orchestrator.TestOrchestratorStatus" name="test_get_status_empty" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralType" name="test_peripheral_types" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralInfo" name="test_info_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralInfo" name="test_info_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_bridge_creation" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_discover_returns_list" time="0.260" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_discover_with_type_filter" time="0.171" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_forward_nonexistent" time="0.170" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_get_available_backends" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_get_status" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_singleton" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_stop_all_empty" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBridge" name="test_stop_forwarding_nonexistent" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBackendBase" name="test_abc_has_required_methods" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralBackendBase" name="test_abc_methods" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestUSBIPBackend" name="test_available_property" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestUSBIPBackend" name="test_backend_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestUSBIPBackend" name="test_discover_returns_list" time="0.166" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestUSBIPBackend" name="test_peripheral_type_name" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestBluetoothBackend" name="test_available_property" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestBluetoothBackend" name="test_backend_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestBluetoothBackend" name="test_discover_returns_list" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestBluetoothBackend" name="test_peripheral_type_name" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestBluetoothBackend" name="test_stop_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestGamepadBackend" name="test_available_property" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestGamepadBackend" name="test_backend_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestGamepadBackend" name="test_discover_returns_list" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestGamepadBackend" name="test_peripheral_type_name" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestGamepadBackend" name="test_stop_all_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralOrchestratorIntegration" name="test_forward_peripheral_no_session" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralOrchestratorIntegration" name="test_list_peripherals" time="0.168" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralOrchestratorIntegration" name="test_stop_peripheral_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralEngineSelector" name="test_peripheral_forward_use_case_exists" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_peripherals.TestPeripheralEngineSelector" name="test_screen_cast_use_case_exists" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_detect_installed_engine" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_detect_missing_engine" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_get_status_dict" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_install_command_delegates_to_bridge" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_moonlight_on_demand" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_restart_increments_count" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_start_engine_not_installed" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_start_engine_success" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestEngineService" name="test_stop_engine" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_all_engines_registered" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_ensure_native_always_ready" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_ensure_unknown_engine" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_get_all_status_includes_native" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_health_check_all" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_register_with_watchdog_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_service_manager.TestServiceManager" name="test_stop_all" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_device_id_deterministic" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_device_id_from_key_file" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_device_id_is_16_hex_chars" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_format_device_id" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_format_parse_roundtrip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_machine_fingerprint_deterministic" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_parse_device_id" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_user_device_id_deterministic" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestDeviceId" name="test_user_device_id_different_users" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_add_viewer_multi_viewer" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_add_viewer_no_duplicate" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_authenticate_session_with_otp" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_authenticate_session_wrong_otp" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_cleanup_stale_sessions" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_create_session_cross_user_requires_auth" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_create_session_same_user_auto_accept" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_disconnect_already_disconnected" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_disconnect_session" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_generate_otp_format" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_get_active_sessions" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_max_sessions_per_host" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_session_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_singleton_get_session_manager" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_verify_otp_expired" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_verify_otp_single_use" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_verify_otp_success" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_verify_otp_wrong_device" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestSessionManager" name="test_verify_otp_wrong_password" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_audit_session_event_graceful" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_authenticate_cross_user_no_password" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_authenticate_cross_user_wrong_password" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_authenticate_same_user_auto_accept" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_classify_destructive_alt_f4" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_classify_destructive_ctrl_alt_delete" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_classify_safe_mouse_click" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_encrypt_frame_graceful_fallback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_generate_session_token" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_scan_clipboard_clean" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_session.TestRemoteDesktopSecurity" name="test_scan_file_transfer_clean" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingMessage" name="test_create_message" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingMessage" name="test_to_dict_roundtrip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingChannel" name="test_close" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingChannel" name="test_on_signal_callback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingChannel" name="test_pending_signals_when_no_callback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingChannel" name="test_start_without_wamp" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingHelpers" name="test_create_bye" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingHelpers" name="test_create_connect_accept" time="0.006" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingHelpers" name="test_create_connect_reject" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestSignalingHelpers" name="test_create_connect_request" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_progress_callback" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_progress_tracking" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_receive_file_round_trip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_receive_sha256_mismatch" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_send_file_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestFileTransfer" name="test_send_file_success" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestHostService" name="test_handle_viewer" time="0.005" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestHostService" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestHostService" name="test_start_host" time="0.009" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestViewerClient" name="test_file_transfer_not_connected" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestViewerClient" name="test_frame_callback" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestViewerClient" name="test_get_status_disconnected" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestViewerClient" name="test_send_without_connection" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestViewerClient" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestRecommendEngineSwitch" name="test_no_recommendation_when_optimal" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestRecommendEngineSwitch" name="test_recommend_moonlight_for_gaming" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestRecommendEngineSwitch" name="test_recommend_rustdesk_for_file_transfer" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_signaling.TestRecommendEngineSwitch" name="test_recommend_upgrade_from_native" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_auto_detect_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_configure_server" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_connect_file_transfer" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_connect_with_mock" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_connect_without_binary" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_get_id_cached" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_get_id_with_mock" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_get_install_command" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_get_status" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_not_available_when_no_binary" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestRustDeskBridge" name="test_set_password_with_mock" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestSunshineBridge" name="test_api_get_without_requests" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestSunshineBridge" name="test_get_install_command" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestSunshineBridge" name="test_get_status" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestSunshineBridge" name="test_not_available_when_no_binary" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestMoonlightBridge" name="test_get_install_command" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestMoonlightBridge" name="test_get_status" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestMoonlightBridge" name="test_not_available_when_no_binary" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestMoonlightBridge" name="test_stream_with_mock" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestMoonlightBridge" name="test_stream_without_binary" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_fallback_to_native_when_nothing_installed" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_file_transfer_falls_back_to_native" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_file_transfer_selects_rustdesk" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_gaming_selects_moonlight_for_viewer" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_gaming_selects_sunshine_for_host" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_general_prefers_rustdesk" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_get_all_status" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_get_available_engines_always_includes_native" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_remote_support_selects_rustdesk" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_user_preference_ignored_if_unavailable" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_user_preference_override" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestEngineSelector" name="test_vlm_selects_sunshine" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestTransportChannel" name="test_direct_ws_transport_stats" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestTransportChannel" name="test_get_local_ip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestTransportChannel" name="test_transport_tier_enum" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestTransportChannel" name="test_wamp_relay_start_without_crossbar" time="0.006" /><testcase classname="tests.unit.test_remote_desktop_streaming.TestTransportChannel" name="test_wamp_relay_transport_topic" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfo" name="test_window_info_creation" time="0.041" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfo" name="test_window_info_defaults" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfo" name="test_window_info_from_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfo" name="test_window_info_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_enumerator_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_get_window_by_pid_not_found" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_get_window_by_title_case_insensitive" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_get_window_by_title_not_found" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_list_windows_linux_fallback" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowEnumerator" name="test_list_windows_returns_list" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCaptureConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCaptureConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCapture" name="test_capture_frame_returns_bytes_or_none" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCapture" name="test_get_window_info" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCapture" name="test_window_capture_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowCapture" name="test_window_capture_with_config" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSession" name="test_window_session_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSession" name="test_window_session_to_dict" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_get_active_sessions_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_list_available_windows" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_manager_creation" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_stop_all_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowSessionManager" name="test_stop_nonexistent_session" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowOrchestratorIntegration" name="test_get_window_sessions_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowOrchestratorIntegration" name="test_list_remote_windows" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowOrchestratorIntegration" name="test_stop_window_stream_nonexistent" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_fully_covered_window_is_100_pct_occluded" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_half_covered_window_reports_50_pct" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_minimized_window_skipped_in_overlap" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_no_overlap_means_not_occluded" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_small_overlay_under_5pct_not_marked_occluded" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_top_window_never_occluded" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_two_overlapping_covers_capped_at_100" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusion" name="test_zero_size_window_skipped" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestAssignMonitors" name="test_window_in_primary_monitor" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestAssignMonitors" name="test_window_in_second_monitor" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestAssignMonitors" name="test_window_off_all_monitors_gets_minus_1" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfoNewFieldsBackCompat" name="test_default_values_safe" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfoNewFieldsBackCompat" name="test_from_dict_round_trip" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfoNewFieldsBackCompat" name="test_legacy_dict_without_new_fields_still_works" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestWindowInfoNewFieldsBackCompat" name="test_to_dict_includes_new_fields" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsWindows" name="test_exactly_one_primary" time="0.001"><skipped type="pytest.skip" message="list_monitors() Windows backend; mac/linux in Phase 2">/home/runner/work/HARTOS/HARTOS/tests/unit/test_remote_desktop_window_capture.py:480: list_monitors() Windows backend; mac/linux in Phase 2</skipped></testcase><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsWindows" name="test_monitor_dict_shape" time="0.001"><skipped type="pytest.skip" message="list_monitors() Windows backend; mac/linux in Phase 2">/home/runner/work/HARTOS/HARTOS/tests/unit/test_remote_desktop_window_capture.py:467: list_monitors() Windows backend; mac/linux in Phase 2</skipped></testcase><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsWindows" name="test_returns_at_least_one_monitor" time="0.001"><skipped type="pytest.skip" message="list_monitors() Windows backend; mac/linux in Phase 2">/home/runner/work/HARTOS/HARTOS/tests/unit/test_remote_desktop_window_capture.py:462: list_monitors() Windows backend; mac/linux in Phase 2</skipped></testcase><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsNonWindows" name="test_linux_dispatches_to_linux_backend" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsNonWindows" name="test_linux_xrandr_parses_output" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsNonWindows" name="test_macos_backend_returns_empty_when_pyobjc_missing" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsNonWindows" name="test_macos_dispatches_to_macos_backend" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListMonitorsNonWindows" name="test_unknown_os_returns_empty" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestCaptureWindowOnePerOS" name="test_linux_dispatches_to_linux_backend" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestCaptureWindowOnePerOS" name="test_macos_dispatches_to_macos_backend" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestCaptureWindowOnePerOS" name="test_wayland_falls_back_to_portal" time="0.003" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestListWindowsModuleWrapper" name="test_returns_list_of_dicts_with_new_fields" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestCaptureWindowOneShot" name="test_returns_none_for_invalid_hwnd" time="0.001"><skipped type="pytest.skip" message="PrintWindow Windows-only; Phase 2 covers mac/linux">/home/runner/work/HARTOS/HARTOS/tests/unit/test_remote_desktop_window_capture.py:631: PrintWindow Windows-only; Phase 2 covers mac/linux</skipped></testcase><testcase classname="tests.unit.test_remote_desktop_window_capture.TestCaptureWindowOneShot" name="test_returns_none_for_invalid_hwnd_on_non_windows" time="0.004" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestPrintWindowFallback" name="test_falls_back_to_flag_0_when_flag_2_fails" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestPrintWindowFallback" name="test_returns_zero_when_both_calls_fail" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestPrintWindowFallback" name="test_succeeds_on_first_call_with_flag_2" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusionPerformance" name="test_inner_loop_capped_at_OCCLUSION_INNER_CAP" time="0.002" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestComputeOcclusionPerformance" name="test_short_circuit_on_full_cover_stops_inner_loop" time="0.001" /><testcase classname="tests.unit.test_remote_desktop_window_capture.TestProcessNameCachePerformance" name="test_chrome_style_one_pid_many_windows_calls_once" time="0.001"><skipped type="pytest.skip" message="OpenProcess Windows-only">/home/runner/work/HARTOS/HARTOS/tests/unit/test_remote_desktop_window_capture.py:745: OpenProcess Windows-only</skipped></testcase><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_found_returns_url_with_suffix" time="0.002" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_found_strips_trailing_slash" time="0.002" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_returns_empty_falls_back_to_env" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_returns_none_falls_back_to_env" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_import_fails_falls_back_to_env" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_getattr_fails_falls_back_to_env" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_both_fail_returns_empty_string" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_both_fail_env_not_set_returns_empty" time="0.001" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_env_var_trailing_slash_stripped" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_env_var_with_existing_path_still_appends" time="0.004" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_takes_precedence_over_env" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_registry_fn_raises_exception_caught" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointFunctional" name="test_draft_endpoint_registry_fn_name" time="0.002" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_empty_registry_fn_name_falls_back" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_env_var_whitespace_only_treated_as_empty" time="0.003" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_return_type_always_str" time="0.001" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_multiple_trailing_slashes_stripped" time="0.002" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_url_with_port_and_path" time="0.001" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_https_url_preserved" time="0.002" /><testcase classname="tests.unit.test_resolve_llm_endpoint.TestResolveLLMEndpointNonFunctional" name="test_idempotent_repeated_calls" time="0.001" /><testcase classname="tests.unit.test_resonance_identifier.TestResonanceIdentifier" name="test_identify_by_face_returns_none_when_no_backend" time="0.006" /><testcase classname="tests.unit.test_resonance_identifier.TestResonanceIdentifier" name="test_identify_by_voice_returns_none_when_no_backend" time="0.003" /><testcase classname="tests.unit.test_resonance_identifier.TestResonanceIdentifier" name="test_enroll_face_returns_bool" time="0.002" /><testcase classname="tests.unit.test_resonance_identifier.TestResonanceIdentifier" name="test_enroll_voice_returns_bool" time="0.003" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_personality_prompt_includes_resonance_addon" time="0.001" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_personality_prompt_without_profile_unchanged" time="0.001" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_personality_prompt_skips_resonance_for_new_user" time="0.001" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_score_to_label_mapping" time="0.001" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_full_tuning_pipeline_integration" time="0.014" /><testcase classname="tests.unit.test_resonance_integration.TestResonanceIntegration" name="test_singleton_tuner_reused" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestSignalScores" name="test_casual_signal_low_formality" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestSignalScores" name="test_formal_signal_high_formality" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestSignalScores" name="test_signals_to_scores_bounds" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestSignalScores" name="test_signals_to_scores_length" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestSignalScores" name="test_tech_signal" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestOscillationDetection" name="test_no_oscillation_with_few_samples" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestOscillationDetection" name="test_no_oscillation_with_stable_history" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestOscillationDetection" name="test_oscillation_detected" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestOscillationDetection" name="test_oscillation_flags_profile" time="0.038" /><testcase classname="tests.unit.test_resonance_learning.TestDialogueStreamProcessor" name="test_short_messages_ignored" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestDialogueStreamProcessor" name="test_stream_accumulates_messages" time="0.002" /><testcase classname="tests.unit.test_resonance_learning.TestDialogueStreamProcessor" name="test_stream_end_clears_state" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestDialogueStreamProcessor" name="test_stream_isolates_users" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestFederationDelta" name="test_export_empty_dir" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestFederationDelta" name="test_export_includes_tuned_users" time="0.012" /><testcase classname="tests.unit.test_resonance_learning.TestFederationDelta" name="test_export_skips_new_users" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestFederationDelta" name="test_import_hive_resonance" time="0.012" /><testcase classname="tests.unit.test_resonance_learning.TestHevolveAICorrections" name="test_apply_corrections" time="0.012" /><testcase classname="tests.unit.test_resonance_learning.TestHevolveAICorrections" name="test_apply_corrections_wrong_length_ignored" time="0.012" /><testcase classname="tests.unit.test_resonance_learning.TestTuningHistory" name="test_history_capped_at_max" time="0.078" /><testcase classname="tests.unit.test_resonance_learning.TestTuningHistory" name="test_history_snapshots_are_vectors" time="0.003" /><testcase classname="tests.unit.test_resonance_learning.TestProfileLearningFields" name="test_default_gradient_active_false" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestProfileLearningFields" name="test_default_tuning_history_empty" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestProfileLearningFields" name="test_roundtrip_with_learning_fields" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestTunerStats" name="test_stats_keys" time="0.001" /><testcase classname="tests.unit.test_resonance_learning.TestTunerStats" name="test_tuning_increments_stat" time="0.004" /><testcase classname="tests.unit.test_resonance_learning.TestFullLoop" name="test_casual_user_loop" time="0.012" /><testcase classname="tests.unit.test_resonance_profile.TestUserResonanceProfile" name="test_default_profile_has_neutral_tuning" time="0.001" /><testcase classname="tests.unit.test_resonance_profile.TestUserResonanceProfile" name="test_to_dict_and_from_dict_roundtrip" time="0.001" /><testcase classname="tests.unit.test_resonance_profile.TestUserResonanceProfile" name="test_set_tuning_clamps_to_01" time="0.001" /><testcase classname="tests.unit.test_resonance_profile.TestUserResonanceProfile" name="test_get_tuning_returns_default_for_unknown_key" time="0.001" /><testcase classname="tests.unit.test_resonance_profile.TestUserResonanceProfile" name="test_from_dict_merges_missing_tuning_keys" time="0.001" /><testcase classname="tests.unit.test_resonance_profile.TestResonancePersistence" name="test_save_and_load_roundtrip" time="0.003" /><testcase classname="tests.unit.test_resonance_profile.TestResonancePersistence" name="test_load_nonexistent_returns_none" time="0.002" /><testcase classname="tests.unit.test_resonance_profile.TestResonancePersistence" name="test_get_or_create_creates_new" time="0.002" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_formal_message_gets_high_formality_score" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_casual_message_gets_low_formality_score" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_technical_message_detected" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_positive_sentiment_detected" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_negative_sentiment_detected" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestSignalExtractor" name="test_question_count_accurate" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_ema_smoothing_math" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_tune_increases_formality_for_formal_user" time="0.003" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_tune_preserves_stability_with_mixed_signals" time="0.003" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_confidence_grows_with_interactions" time="0.005" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_min_interactions_gate" time="0.001" /><testcase classname="tests.unit.test_resonance_tuner.TestResonanceTuner" name="test_build_resonance_prompt_contains_tuning_labels" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamContext" name="test_context_creation" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamContext" name="test_context_with_all_fields" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestProgressIndicator" name="test_default_indicator" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestProgressIndicator" name="test_next_frame_cycles" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestProgressIndicator" name="test_disabled_indicator" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestProgressIndicator" name="test_none_style_indicator" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapabilities" name="test_discord_has_full_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapabilities" name="test_telegram_has_full_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapabilities" name="test_slack_has_full_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapabilities" name="test_whatsapp_has_no_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapabilities" name="test_sms_has_no_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_creation_with_config" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_set_callbacks" time="0.005" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_set_typing_manager" time="0.005" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_get_platform_capability" time="0.003" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_create_stream_key" time="0.003" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_stream_simple" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_stream_with_typing" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_stream_cancellation" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_is_streaming" time="0.002" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_get_context_not_found" time="0.002" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_get_active_streams_empty" time="0.003" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_cancel_all" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_get_stats_empty" time="0.003" /><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_update_message" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_update_message_no_callback" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_update_message_retry" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_finalize" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_streaming_context_manager" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestStreamingResponse" name="test_stream_error_handling" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestFallbackStreamingResponse" name="test_creation" time="0.003" /><testcase classname="tests.unit.test_response_streaming.TestFallbackStreamingResponse" name="test_stream_collects_all" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestFallbackStreamingResponse" name="test_stream_with_typing" time="0.004"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestFallbackStreamingResponse" name="test_stream_error" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestCreateStreamingResponse" name="test_creates_streaming_for_telegram" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestCreateStreamingResponse" name="test_creates_streaming_for_discord" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestCreateStreamingResponse" name="test_creates_fallback_for_whatsapp" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestCreateStreamingResponse" name="test_creates_fallback_without_edit" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestCreateStreamingResponse" name="test_creates_fallback_for_unknown_platform" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestStreamState" name="test_all_states_exist" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestPlatformCapability" name="test_all_capabilities_exist" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestDockerCompatibility" name="test_config_has_websocket_settings" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestDockerCompatibility" name="test_timeout_handling" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestIntegrationWithTypingManager" name="test_streaming_with_real_typing_manager" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_response_streaming.TestRegressionTests" name="test_imports_work" time="0.001" /><testcase classname="tests.unit.test_response_streaming.TestRegressionTests" name="test_response_module_imports" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryConfig" name="test_default_config" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryConfig" name="test_custom_config" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_success_first_try" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_retry_on_failure" time="0.011" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_max_retries_exhausted" time="0.072" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_non_retryable_error" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_custom_should_retry" time="0.031" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_on_retry_callback" time="0.011" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_calculate_delay" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryHandler" name="test_delay_capped_at_max" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryHandlerAsync" name="test_async_success" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_retry.TestRetryHandlerAsync" name="test_async_retry_on_failure" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_retry.TestRetryHandlerAsync" name="test_async_exhausted" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_retry.TestRetryStats" name="test_default_stats" time="0.001" /><testcase classname="tests.unit.test_retry.TestRetryStats" name="test_reset_stats" time="0.001" /><testcase classname="tests.unit.test_revenue_pipeline.TestRevenueStreams" name="test_revenue_streams_aggregation" time="0.003" /><testcase classname="tests.unit.test_revenue_pipeline.TestFundingThreshold" name="test_funding_threshold_not_reached" time="0.001" /><testcase classname="tests.unit.test_revenue_pipeline.TestFundingThreshold" name="test_funding_threshold_exceeded" time="0.004" /><testcase classname="tests.unit.test_revenue_pipeline.TestComputeBorrowing" name="test_compute_borrowing_offer" time="0.004" /><testcase classname="tests.unit.test_revenue_pipeline.TestComputeBorrowing" name="test_compute_borrowing_request_no_match" time="0.002" /><testcase classname="tests.unit.test_revenue_pipeline.TestComputeBorrowing" name="test_compute_borrowing_request_with_match" time="0.003" /><testcase classname="tests.unit.test_revenue_pipeline.TestComputeBorrowing" name="test_compute_status" time="0.001" /><testcase classname="tests.unit.test_revenue_pipeline.TestSparkSettlement" name="test_spark_settlement_provider_not_found" time="0.002" /><testcase classname="tests.unit.test_revenue_pipeline.TestProfitDistribution" name="test_profit_distribution_with_profit" time="0.003" /><testcase classname="tests.unit.test_revenue_pipeline.TestProfitDistribution" name="test_profit_distribution_no_profit" time="0.003" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_fresh_advertiser_empty" time="0.017" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_get_capabilities_auto_detects" time="0.016" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_gossip_payload_compact" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_matches_full_match" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_matches_partial" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_matches_no_requirements" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_matches_form_factor_bonus" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_matches_payload_penalty" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_detect_from_config_file" time="0.021" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_detect_from_hevolveai" time="0.018" /><testcase classname="tests.unit.test_robot_capabilities.TestCapabilityAdvertiser" name="test_has_capability_sensor_types" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_get_robot_capabilities" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_read_sensor_missing_id" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_read_sensor_no_data" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_get_sensor_window_missing_id" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_get_robot_status" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_navigate_to" time="0.003" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_move_joint" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_move_joint_no_id" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_execute_motion_sequence_invalid_json" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_execute_motion_sequence_empty" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_configure_sensor_no_id" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotTools" name="test_configure_sensor_invalid_config" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotPromptBuilder" name="test_build_robot_prompt_basic" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotPromptBuilder" name="test_prompt_includes_safety_warning" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotPromptBuilder" name="test_prompt_capabilities_section" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestRobotPromptBuilder" name="test_prompt_safety_section_estopped" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalRegistration" name="test_robot_type_registered" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalRegistration" name="test_robot_prompt_builder_callable" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalRegistration" name="test_robot_tool_tags" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalRegistration" name="test_robot_goal_prompt_via_manager" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalSeeding" name="test_robot_health_monitor_in_seeds" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGoalSeeding" name="test_robot_health_monitor_config" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestDispatchCapabilityMatch" name="test_non_robot_always_passes" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestDispatchCapabilityMatch" name="test_robot_no_db_passes" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestDispatchCapabilityMatch" name="test_robot_with_matching_caps" time="0.005" /><testcase classname="tests.unit.test_robot_capabilities.TestDispatchCapabilityMatch" name="test_robot_with_mismatched_caps" time="0.005" /><testcase classname="tests.unit.test_robot_capabilities.TestDeviceRouting" name="test_robot_in_tts_priority" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestGossipBeacon" name="test_beacon_includes_robot_capabilities" time="0.001" /><testcase classname="tests.unit.test_robot_capabilities.TestToolBridgeIntegration" name="test_navigate_to_routes_through_bridge" time="0.002" /><testcase classname="tests.unit.test_robot_capabilities.TestToolBridgeIntegration" name="test_capability_advertiser_no_intelligence" time="0.009" /><testcase classname="tests.unit.test_robot_capabilities.TestToolBridgeIntegration" name="test_robot_tools_no_intelligence" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestActionToRecipeStep" name="test_basic_conversion" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestActionToRecipeStep" name="test_with_sensor_context" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestActionToRecipeStep" name="test_with_outcome" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeStepToAction" name="test_valid_step" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeStepToAction" name="test_non_robot_step" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeStepToAction" name="test_missing_type" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeStepToAction" name="test_missing_action" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecordMotionSequence" name="test_record_plain_actions" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecordMotionSequence" name="test_record_with_sensor_log" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecordMotionSequence" name="test_record_structured_entries" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestReplayMotionRecipe" name="test_replay_extracts_actions" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestReplayMotionRecipe" name="test_replay_skips_non_robot" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestReplayMotionRecipe" name="test_roundtrip" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRobotBoot" name="test_boot_returns_status" time="0.017" /><testcase classname="tests.unit.test_robot_recipe.TestRobotBoot" name="test_boot_safety_initializes" time="0.017" /><testcase classname="tests.unit.test_robot_recipe.TestRobotBoot" name="test_boot_sensor_store_initializes" time="0.017" /><testcase classname="tests.unit.test_robot_recipe.TestRobotBoot" name="test_boot_with_caps" time="0.019" /><testcase classname="tests.unit.test_robot_recipe.TestEmbeddedMainRobot" name="test_robot_enabled_triggers_boot" time="0.107" /><testcase classname="tests.unit.test_robot_recipe.TestEmbeddedMainRobot" name="test_robot_disabled_skips_boot" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestPhysicalActionStates" name="test_executing_motion_state_exists" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestPhysicalActionStates" name="test_sensor_confirm_state_exists" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestPhysicalActionStates" name="test_all_original_states_preserved" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestGoalSeedingRobotLearning" name="test_bootstrap_robot_learning_exists" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestGoalSeedingRobotLearning" name="test_bootstrap_robot_learning_config" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestGoalSeedingRobotLearning" name="test_both_robot_goals_exist" time="0.001" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeBridgeIntegration" name="test_replay_sends_through_bridge" time="0.011" /><testcase classname="tests.unit.test_robot_recipe.TestRecipeBridgeIntegration" name="test_recipe_adapter_no_intelligence" time="0.004" /><testcase classname="tests.unit.test_robotics.TestSensorReading" name="test_creation_with_all_fields" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSensorReading" name="test_raw_defaults_to_none" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSensorReading" name="test_timestamp_auto_set" time="0.001" /><testcase classname="tests.unit.test_robotics.TestActuatorCommand" name="test_fields_are_stored" time="0.001" /><testcase classname="tests.unit.test_robotics.TestActuatorCommand" name="test_safety_cleared_defaults_false" time="0.001" /><testcase classname="tests.unit.test_robotics.TestActuatorCommand" name="test_timestamp_auto_set" time="0.001" /><testcase classname="tests.unit.test_robotics.TestExperience" name="test_creation" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHTTPSensorAdapter" name="test_read_binary_payload" time="0.003" /><testcase classname="tests.unit.test_robotics.TestHTTPSensorAdapter" name="test_read_returns_none_on_error" time="0.002" /><testcase classname="tests.unit.test_robotics.TestHTTPSensorAdapter" name="test_read_returns_sensor_reading_json" time="0.003" /><testcase classname="tests.unit.test_robotics.TestSerialSensorAdapter" name="test_read_non_json_line" time="0.003" /><testcase classname="tests.unit.test_robotics.TestSerialSensorAdapter" name="test_read_returns_none_when_pyserial_missing" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSerialSensorAdapter" name="test_read_returns_sensor_reading" time="0.003" /><testcase classname="tests.unit.test_robotics.TestMQTTSensorAdapter" name="test_read_returns_none_when_paho_missing" time="0.001" /><testcase classname="tests.unit.test_robotics.TestMQTTSensorAdapter" name="test_read_returns_sensor_reading" time="0.005" /><testcase classname="tests.unit.test_robotics.TestWebSocketSensorAdapter" name="test_read_returns_cached_if_streaming" time="0.001" /><testcase classname="tests.unit.test_robotics.TestWebSocketSensorAdapter" name="test_read_returns_none_when_websocket_missing" time="0.001" /><testcase classname="tests.unit.test_robotics.TestWebSocketSensorAdapter" name="test_read_returns_sensor_reading" time="0.003" /><testcase classname="tests.unit.test_robotics.TestSerialActuatorAdapter" name="test_execute_writes_to_serial" time="0.004" /><testcase classname="tests.unit.test_robotics.TestSerialActuatorAdapter" name="test_refuses_when_not_safety_cleared" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHTTPActuatorAdapter" name="test_execute_sends_post" time="0.002" /><testcase classname="tests.unit.test_robotics.TestHTTPActuatorAdapter" name="test_refuses_when_not_safety_cleared" time="0.001" /><testcase classname="tests.unit.test_robotics.TestMQTTActuatorAdapter" name="test_execute_publishes_message" time="0.005" /><testcase classname="tests.unit.test_robotics.TestMQTTActuatorAdapter" name="test_execute_returns_error_when_paho_missing" time="0.001" /><testcase classname="tests.unit.test_robotics.TestMQTTActuatorAdapter" name="test_refuses_when_not_safety_cleared" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_approves_safe_command" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_check_position_safe_outside_bounds" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_check_position_safe_within_bounds" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_clear_estop" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_emergency_stop_sets_flag" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_estop_blocks_all_commands" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_gate_commands_filters_unsafe" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_gate_commands_sets_safety_cleared" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_rejects_out_of_workspace" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_rejects_over_force" time="0.001" /><testcase classname="tests.unit.test_robotics.TestSafetyMonitor" name="test_rejects_over_velocity" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_get_sensor_snapshot_empty" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_get_stats_returns_correct_counts" time="0.003" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_register_actuator" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_register_sensor" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_register_sensor_replaces_existing" time="0.003" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_start_and_stop" time="0.004" /><testcase classname="tests.unit.test_robotics.TestHardwareBridge" name="test_start_is_idempotent" time="0.001" /><testcase classname="tests.unit.test_robotics.TestGetBridgeSingleton" name="test_different_robot_ids_return_different_instances" time="0.001" /><testcase classname="tests.unit.test_robotics.TestGetBridgeSingleton" name="test_same_robot_id_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_robotics.TestCreateRoboticsBlueprint" name="test_returns_blueprint" time="0.001" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPI" name="test_estop_active_halts_plan" time="0.004" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPI" name="test_safety_override_halts_plan" time="0.004" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPI" name="test_think_dict_form" time="0.004" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPI" name="test_think_returns_fused_result" time="0.004" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPI" name="test_think_stats_updated" time="0.004" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPITimeout" name="test_individual_future_timeout_recorded" time="0.011" /><testcase classname="tests.unit.test_robotics.TestRobotIntelligenceAPIMissingIntelligence" name="test_exception_in_intelligence_recorded_as_error" time="0.005" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_get_robot_status_found" time="0.001" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_get_robot_status_not_found" time="0.001" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_list_robots_after_registration" time="0.002" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_list_robots_empty" time="0.001" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_register_preserves_operator_id" time="0.001" /><testcase classname="tests.unit.test_robotics.TestRobotRegistry" name="test_register_robot" time="0.001" /><testcase classname="tests.unit.test_robotics.TestGetRobotAPISingleton" name="test_singleton" time="0.002" /><testcase classname="tests.unit.test_robotics.TestClassifyIntent" name="test_default_is_assist" time="0.001" /><testcase classname="tests.unit.test_robotics.TestClassifyIntent" name="test_emergency" time="0.001" /><testcase classname="tests.unit.test_robotics.TestClassifyIntent" name="test_fetch" time="0.001" /><testcase classname="tests.unit.test_robotics.TestClassifyIntent" name="test_greet" time="0.001" /><testcase classname="tests.unit.test_robotics.TestClassifyIntent" name="test_navigate" time="0.001" /><testcase classname="tests.unit.test_robotics.TestExtractTarget" name="test_empty_when_no_objects" time="0.001" /><testcase classname="tests.unit.test_robotics.TestExtractTarget" name="test_extracts_from_vision_objects" time="0.001" /><testcase classname="tests.unit.test_robotics.TestExtractTarget" name="test_string_object_label" time="0.001" /><testcase classname="tests.unit.test_robotics.TestModuleLevelThink" name="test_dict_form" time="0.002" /><testcase classname="tests.unit.test_robotics.TestModuleLevelThink" name="test_kwargs_form" time="0.002" /><testcase classname="tests.unit.test_robotics.TestFusionPriority" name="test_all_intelligence_types_have_priority" time="0.001" /><testcase classname="tests.unit.test_robotics.TestFusionPriority" name="test_motor_above_vision" time="0.001" /><testcase classname="tests.unit.test_robotics.TestFusionPriority" name="test_safety_highest_priority" time="0.001" /><testcase classname="tests.unit.test_robotics.TestHiveStats" name="test_hive_stats_empty" time="0.001" /><testcase classname="tests.unit.test_room_capable.IsRoomCapableTest" name="test_mixin_subclass_is_room_capable" time="0.001" /><testcase classname="tests.unit.test_room_capable.IsRoomCapableTest" name="test_plain_object_is_not_room_capable" time="0.001" /><testcase classname="tests.unit.test_room_capable.DefaultMixinTest" name="test_join_room_default_raises_not_implemented" time="0.001" /><testcase classname="tests.unit.test_room_capable.DefaultMixinTest" name="test_leave_room_default_raises_not_implemented" time="0.001" /><testcase classname="tests.unit.test_room_capable.DefaultMixinTest" name="test_list_room_members_default_returns_empty" time="0.001" /><testcase classname="tests.unit.test_room_capable.UnsupportedRoomErrorTest" name="test_carries_message" time="0.001" /><testcase classname="tests.unit.test_room_capable.UnsupportedRoomErrorTest" name="test_is_exception_subclass" time="0.001" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_is_room_capable" time="0.001" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_join_already_in_channel_is_idempotent_true" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_join_dm_raises_unsupported" time="0.002" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_join_private_channel_returns_false" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_join_public_channel_succeeds" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_leave_idempotent_on_not_in_channel" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.SlackRoomCapableTest" name="test_list_members_skips_bot" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_is_room_capable" time="0.001" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_join_member_chat_returns_true" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_join_not_member_returns_false" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_join_private_dm_raises_unsupported" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_leave_idempotent_on_telegram_error" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.TelegramRoomCapableTest" name="test_list_members_returns_admins_minus_bot" time="0.004" /><testcase classname="tests.unit.test_room_capable_adapters.MatrixRoomCapableTest" name="test_is_room_capable" time="0.001" /><testcase classname="tests.unit.test_room_capable_adapters.MatrixRoomCapableTest" name="test_join_returns_false_on_unexpected_response" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.MatrixRoomCapableTest" name="test_join_returns_true_on_join_response" time="0.003" /><testcase classname="tests.unit.test_room_capable_adapters.MatrixRoomCapableTest" name="test_leave_returns_true_on_success" time="0.002" /><testcase classname="tests.unit.test_room_capable_adapters.MatrixRoomCapableTest" name="test_list_members_skips_bot" time="0.004" /><testcase classname="tests.unit.test_room_capable_adapters.StubAdaptersTest" name="test_stub_returns_false_for_join_and_empty_members" time="0.002" /><testcase classname="tests.unit.test_room_capable_adapters.RoomCapableContractTest" name="test_every_room_capable_adapter_overrides_join_and_leave" time="0.007" /><testcase classname="tests.unit.test_room_presence_service.IsObjectionTest" name="test_case_insensitive" time="0.003" /><testcase classname="tests.unit.test_room_presence_service.IsObjectionTest" name="test_empty_or_none" time="0.001" /><testcase classname="tests.unit.test_room_presence_service.IsObjectionTest" name="test_english_phrases" time="0.003" /><testcase classname="tests.unit.test_room_presence_service.IsObjectionTest" name="test_multilingual" time="0.002" /><testcase classname="tests.unit.test_room_presence_service.IsObjectionTest" name="test_unrelated_text" time="0.001" /><testcase classname="tests.unit.test_room_presence_service.ScopeForRoleTest" name="test_known_roles_map_to_distinct_scopes" time="0.001" /><testcase classname="tests.unit.test_room_presence_service.ScopeForRoleTest" name="test_unknown_role_falls_back" time="0.001" /><testcase classname="tests.unit.test_room_presence_service.GateTest" name="test_consent_unavailable_fails_closed" time="0.004" /><testcase classname="tests.unit.test_room_presence_service.GateTest" name="test_grant_allows" time="0.003" /><testcase classname="tests.unit.test_room_presence_service.GateTest" name="test_no_consent_denies_with_reason" time="0.003" /><testcase classname="tests.unit.test_room_presence_service.AnnouncePresenceTest" name="test_announce_posts_disclosure_text" time="0.003" /><testcase classname="tests.unit.test_room_presence_service.ListenForObjectionTest" name="test_handler_registered" time="0.004" /><testcase classname="tests.unit.test_room_presence_service.ListenForObjectionTest" name="test_no_op_when_adapter_has_no_on_message" time="0.001" /><testcase classname="tests.unit.test_room_presence_service.MultiParticipantPresenceTest" name="test_first_objection_wins_no_re_objection_needed" time="0.007" /><testcase classname="tests.unit.test_room_presence_service.MultiParticipantPresenceTest" name="test_non_owner_participant_objection_still_authoritative" time="0.005" /><testcase classname="tests.unit.test_room_presence_service.MultiParticipantPresenceTest" name="test_objection_for_different_room_id_is_ignored" time="0.002" /><testcase classname="tests.unit.test_room_presence_service.MultiParticipantPresenceTest" name="test_objection_from_any_participant_detaches" time="0.002" /><testcase classname="tests.unit.test_room_presence_service.MultiParticipantPresenceTest" name="test_single_announcement_serves_all_participants" time="0.002" /><testcase classname="tests.unit.test_rsi_gates.TestConstitutionalGate" name="test_guardrail_tamper_fails_closed" time="0.003" /><testcase classname="tests.unit.test_rsi_gates.TestConstitutionalGate" name="test_import_error_flips_flag_and_allows" time="0.004" /><testcase classname="tests.unit.test_rsi_gates.TestConstitutionalGate" name="test_rejection_reverts_and_does_not_commit" time="0.003" /><testcase classname="tests.unit.test_rsi_gates.TestBaselineDeltaGate" name="test_no_baseline_is_fail_open_first_run" time="0.004" /><testcase classname="tests.unit.test_rsi_gates.TestBaselineDeltaGate" name="test_regression_reverts_and_does_not_commit" time="0.004" /><testcase classname="tests.unit.test_rsi_gates.TestFederationBroadcast" name="test_aggregator_missing_flips_flag_and_warns" time="0.003" /><testcase classname="tests.unit.test_rsi_gates.TestFederationBroadcast" name="test_broadcast_delta_is_called_with_autoresearch_payload" time="0.003" /><testcase classname="tests.unit.test_rsi_gates.TestProgressDictContract" name="test_progress_dict_includes_rsi_flags" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_cooldown_blocks_retrigger" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_empty_inputs_are_ignored" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_key_cap_enforced" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_prunes_outside_window" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_records_and_counts" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_threshold_false_below" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTrackerCounting" name="test_threshold_true_at_crossing" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTriggerGlue" name="test_bind_to_bus_noop_if_registry_missing" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTriggerGlue" name="test_enqueue_error_is_swallowed" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTriggerGlue" name="test_extracts_key_from_tool_field" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTriggerGlue" name="test_flag_off_never_enqueues" time="0.001" /><testcase classname="tests.unit.test_rsi_trigger.TestTriggerGlue" name="test_flag_on_fires_enqueue_after_threshold" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_get_tool_dir" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_manifest_roundtrip" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_is_downloaded_false_when_no_manifest" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_is_downloaded_false_when_dir_empty" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_is_downloaded_true" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_get_tool_size" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_get_total_size" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_remove_tool" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_clone_repo" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_clone_repo_failure" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_clone_repo_pull_when_exists" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_download_hf_model_already_downloaded" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestModelStorageManager" name="test_download_hf_model_no_huggingface_hub" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_detect_gpu_no_torch" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_detect_gpu_with_cuda" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_allocate_and_release" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_can_fit_unknown_tool" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_can_fit_no_gpu" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_can_fit_when_already_allocated" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_suggest_offload_mode_no_gpu" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_suggest_offload_mode_plenty_vram" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_suggest_offload_mode_tight_vram" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_get_status" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestVRAMManager" name="test_refresh_gpu_info" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_wan2gp_create_tool_info" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_tts_audio_suite_create_tool_info" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_omniparser_create_tool_info" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_whisper_tool_functions_exist" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_whisper_select_model_no_gpu" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_wan2gp_register" time="0.004" /><testcase classname="tests.unit.test_runtime_tools.TestToolWrappers" name="test_tts_audio_suite_register" time="0.004" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_unknown_tool" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_get_tool_status_unknown" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_get_tool_status_not_downloaded" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_start_tool_not_downloaded" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_get_all_status" time="0.004" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_save_and_load_state" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_stop_all" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_setup_tool_downloads_and_starts" time="0.005" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_is_server_alive_no_process" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_kill_server_no_process" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_register_tool_at_port_wan2gp" time="0.005" /><testcase classname="tests.unit.test_runtime_tools.TestRuntimeToolManager" name="test_register_tool_at_port_tts" time="0.005" /><testcase classname="tests.unit.test_runtime_tools.TestDynamicPort" name="test_find_free_port" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestDynamicPort" name="test_read_port_from_stdout" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestDynamicPort" name="test_read_port_process_dies" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestVoiceTranscription" name="test_transcribe_no_audio" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestVoiceTranscription" name="test_transcribe_json_path" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestToolsAPIEndpoints" name="test_tools_status" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestToolsAPIEndpoints" name="test_tools_vram" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestToolsAPIEndpoints" name="test_tools_setup_unknown" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestToolsAPIEndpoints" name="test_tools_stop" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestToolsAPIEndpoints" name="test_tools_unload" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_invalid_modality" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_valid_modalities_list" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_generate_image_routing" time="0.004" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_generate_audio_speech_routing" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_generate_audio_music_routing" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_generate_video_routing" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_video_with_audio_routing" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_generation_time_included" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_select_video_tool_no_gpu" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_select_video_tool_plenty_vram" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_ensure_tool_running_already_running" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_check_media_status_invalid_format" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_check_media_status_unknown_prefix" time="0.001" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_check_media_status_wan2gp" time="0.003" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_check_media_status_acestep_default_url" time="0.002" /><testcase classname="tests.unit.test_runtime_tools.TestMediaAgent" name="test_register_media_tools" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_sets_estop_active" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_sets_halt_env" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_records_reason_and_source" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_records_timestamp" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_double_trigger_is_idempotent" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_fires_callbacks" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_trigger_calls_local_halt" time="0.003" /><testcase classname="tests.unit.test_safety_monitor.TestEStopTrigger" name="test_callback_error_does_not_block_estop" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_by_human_operator" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_removes_halt_env" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_rejected_for_empty_operator" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_rejected_for_agent" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_rejected_for_bot" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_rejected_for_system" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_rejected_for_auto" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_records_operator" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEStopClear" name="test_clear_when_not_estopped_returns_true" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_position_within_limits" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_position_outside_x_limit" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_position_below_min" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_position_at_boundary_is_safe" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_unconfigured_axis_is_safe" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_joint_limits" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestWorkspaceLimits" name="test_estop_blocks_all_positions" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestSourceRegistration" name="test_register_gpio_pin" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSourceRegistration" name="test_register_duplicate_gpio_pin" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSourceRegistration" name="test_register_serial_port" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestMonitorThread" name="test_start_without_sources_does_not_start" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestMonitorThread" name="test_start_with_gpio_pin_starts_thread" time="0.060" /><testcase classname="tests.unit.test_safety_monitor.TestMonitorThread" name="test_stop_halts_thread" time="0.060" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyStatus" name="test_initial_status" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyStatus" name="test_status_after_estop" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestAuditTrail" name="test_trigger_adds_audit_entry" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestAuditTrail" name="test_clear_adds_audit_entry" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestAuditTrail" name="test_audit_trail_bounded" time="0.008" /><testcase classname="tests.unit.test_safety_monitor.TestFleetCommandIntegration" name="test_valid_command_types_include_estop" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestFleetCommandIntegration" name="test_execute_estop_command" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestFleetCommandIntegration" name="test_execute_estop_clear_requires_operator" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestFleetCommandIntegration" name="test_execute_estop_clear_with_operator" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestLocalHalt" name="test_local_halt_sets_halted" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestLocalHalt" name="test_local_halt_does_not_require_master_key" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_configure_workspace_limits_tool" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_configure_workspace_limits_invalid_json" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_get_safety_status_tool" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_test_estop_tool_requires_confirm" time="0.001" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_test_estop_tool_executes" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestSafetyTools" name="test_configure_estop_sources_tool" time="0.010" /><testcase classname="tests.unit.test_safety_monitor.TestEmbeddedBootSafety" name="test_boot_safety_no_env_vars" time="0.002" /><testcase classname="tests.unit.test_safety_monitor.TestEmbeddedBootSafety" name="test_boot_safety_with_gpio_pins" time="0.001" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRouteRegistration" name="test_all_three_use_json_endpoint" time="0.001" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRouteRegistration" name="test_completions_proxy_route_registered" time="0.001" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRouteRegistration" name="test_gateway_metering_route_registered" time="0.001" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRouteRegistration" name="test_gateway_register_route_registered" time="0.001" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxy502" name="test_metering_not_called_on_502" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxy502" name="test_returns_502_on_connection_error" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_forwards_to_correct_url" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_metering_failure_does_not_block_response" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_meters_total_tokens" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_no_metering_when_usage_absent" time="0.006" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_no_metering_when_zero_tokens" time="0.014" /><testcase classname="tests.unit.test_sdk_completions.TestCompletionsProxySuccess" name="test_proxies_response_body" time="0.007" /><testcase classname="tests.unit.test_sdk_completions.TestConsumerHeaderMetering" name="test_anonymous_when_no_consumer_header" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestConsumerHeaderMetering" name="test_consumer_header_passed_to_source" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayMeteringEndpoint" name="test_db_error_returns_500" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayMeteringEndpoint" name="test_empty_table_returns_empty_list" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayMeteringEndpoint" name="test_returns_provider_stats" time="0.006" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_custom_upstream" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_empty_body_returns_400" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_kong_admin_url_used" time="0.022" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_kong_unreachable_returns_502" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_missing_target_returns_400" time="0.005" /><testcase classname="tests.unit.test_sdk_completions.TestGatewayRegisterEndpoint" name="test_valid_target_registers_and_returns_201_status" time="0.005" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_aarch64_arch" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_amd64_normalized_to_x86_64" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_arm64_normalized_to_aarch64" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_os_matches_sys_platform" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_python_version_is_string" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_returns_dict_with_required_keys" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_riscv64_arch" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestDetectPlatform" name="test_x86_64_arch" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_app_ports_has_model_bus" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_env_overrides_has_model_bus" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_get_all_ports_includes_model_bus" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_get_port_model_bus_app_mode" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_get_port_model_bus_env_override" time="0.003" /><testcase classname="tests.unit.test_sdk_platform.TestPortRegistryModelBus" name="test_os_ports_has_model_bus" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestCapabilityDetection" name="test_capabilities_with_bootstrapped_registry" time="19.095" /><testcase classname="tests.unit.test_sdk_platform.TestCapabilityDetection" name="test_capabilities_without_registry" time="0.001" /><testcase classname="tests.unit.test_sdk_platform.TestCapabilityDetection" name="test_force_cpu_disables_gpu" time="0.003" /><testcase classname="tests.unit.test_sdk_platform.TestCapabilityDetection" name="test_returns_dict_with_required_keys" time="0.001" /><testcase classname="tests.unit.test_secret_redactor_integration.TestSecretRedactorFunction" name="test_redacts_openai_api_key" time="0.001" /><testcase classname="tests.unit.test_secret_redactor_integration.TestSecretRedactorFunction" name="test_redacts_bearer_token" time="0.001" /><testcase classname="tests.unit.test_secret_redactor_integration.TestSecretRedactorFunction" name="test_no_redaction_for_clean_text" time="0.001" /><testcase classname="tests.unit.test_secret_redactor_integration.TestSecretRedactorFunction" name="test_preserves_surrounding_text" time="0.018" /><testcase classname="tests.unit.test_secret_redactor_integration.TestChatRedaction" name="test_chat_imports_redact_secrets" time="0.001" /><testcase classname="tests.unit.test_secret_redactor_integration.TestRecipeRedaction" name="test_recipe_save_has_redaction" time="0.004"><skipped type="pytest.skip" message="autogen not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_secret_redactor_integration.py:72: autogen not installed</skipped></testcase><testcase classname="tests.unit.test_secret_redactor_integration.TestGDPREndpoints" name="test_gdpr_export_returns_user_data" time="0.367" /><testcase classname="tests.unit.test_secret_redactor_integration.TestGDPREndpoints" name="test_gdpr_export_forbidden_for_other_user" time="0.310" /><testcase classname="tests.unit.test_secret_redactor_integration.TestGDPREndpoints" name="test_gdpr_export_requires_auth" time="0.272" /><testcase classname="tests.unit.test_secret_redactor_integration.TestGDPREndpoints" name="test_gdpr_delete_anonymizes_pii" time="0.290" /><testcase classname="tests.unit.test_secret_redactor_integration.TestGDPREndpoints" name="test_gdpr_delete_forbidden_for_other_user" time="0.304" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_accepts_correct_api_key" time="0.005" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_dev_mode_allows_unauthenticated" time="0.008" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_rejects_basic_auth" time="0.004" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_rejects_empty_bearer" time="0.004" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_rejects_no_auth_header" time="0.005" /><testcase classname="tests.unit.test_security_fixes.TestG6ChatAuth" name="test_chat_rejects_wrong_api_key" time="0.004" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_benchmark_registry_uses_shell_false" time="0.002" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_fleet_command_uses_shell_false" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_shell_os_apis_group_validation" time="0.014" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_shell_os_apis_terminal_uses_shlex" time="0.022" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_shlex_split_handles_pipe_injection" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG7ShellInjection" name="test_shlex_split_prevents_injection" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_get_hmac_secret_for_handshake" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_hmac_secret_different_between_nodes" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_hmac_secret_generated_on_first_boot" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_hmac_secret_persisted_to_disk" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_peer_hmac_secret_registration" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_sign_delta_uses_per_node_secret" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_verify_delta_with_own_secret" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_verify_rejects_tampered_delta" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG8FederationHMAC" name="test_verify_rejects_unsigned_delta" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_min_trust_ratchets_upward" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_peer_to_relay_rejected" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_peer_to_same_user_accepted" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_relay_to_peer_accepted" time="0.010" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_relay_to_same_user_accepted" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_same_trust_level_accepted" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_same_user_to_peer_rejected" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_same_user_to_relay_rejected" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_trust_rank_ordering" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG9TrustDowngrade" name="test_upgrade_then_downgrade_rejected" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_env_var_override_pattern" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_ltx_server_no_hardcoded_5002_in_responses" time="0.008" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_ltx_server_uses_env_var" time="0.003" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_port_registry_exists" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_port_registry_known_services" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestG10HardcodedURLs" name="test_world_model_bridge_uses_env_var" time="0.003" /><testcase classname="tests.unit.test_security_fixes.TestSecurityFixesNoRegression" name="test_federated_aggregator_init" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestSecurityFixesNoRegression" name="test_peerlink_init_still_works" time="0.001" /><testcase classname="tests.unit.test_security_fixes.TestSecurityFixesNoRegression" name="test_sign_and_verify_roundtrip" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestPycachePurge" name="test_purge_creates_and_cleans_pycache_dirs" time="0.003" /><testcase classname="tests.unit.test_security_hardening.TestPycachePurge" name="test_purge_sets_pythondontwritebytecode" time="0.002" /><testcase classname="tests.unit.test_security_hardening.TestPycachePurge" name="test_purge_returns_zero_for_clean_tree" time="0.002" /><testcase classname="tests.unit.test_security_hardening.TestPycachePurge" name="test_purge_handles_empty_directory" time="0.002" /><testcase classname="tests.unit.test_security_hardening.TestUnsignedPeerRejection" name="test_hard_enforcement_rejects_unsigned_peer" time="0.015" /><testcase classname="tests.unit.test_security_hardening.TestUnsignedPeerRejection" name="test_soft_enforcement_accepts_unsigned_peer" time="0.008" /><testcase classname="tests.unit.test_security_hardening.TestUnsignedPeerRejection" name="test_no_enforcement_module_accepts_all" time="0.007" /><testcase classname="tests.unit.test_security_hardening.TestAnnounceRateLimit" name="test_allows_under_limit" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestAnnounceRateLimit" name="test_blocks_over_limit" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestAnnounceRateLimit" name="test_window_expires_allows_again" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestAnnounceRateLimit" name="test_different_ips_independent" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_self_issued_always_valid" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_empty_issuer_accepted" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_unknown_issuer_rejected" time="0.003" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_banned_issuer_rejected" time="0.003" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_central_tier_accepted" time="0.003" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_regional_tier_accepted" time="0.003" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_local_tier_rejected" time="0.004" /><testcase classname="tests.unit.test_security_hardening.TestFleetIssuerVerification" name="test_dead_issuer_rejected" time="0.013" /><testcase classname="tests.unit.test_security_hardening.TestRuntimeMonitorPurge" name="test_monitor_init_calls_purge" time="0.002" /><testcase classname="tests.unit.test_security_hardening.TestRuntimeMonitorPurge" name="test_monitor_boot_manifest_after_purge" time="0.001" /><testcase classname="tests.unit.test_security_hardening.TestGetPendingCommandsFiltering" name="test_verified_command_delivered" time="0.005" /><testcase classname="tests.unit.test_security_hardening.TestGetPendingCommandsFiltering" name="test_unverified_command_rejected" time="0.005" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_exists[hart-backend]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_exists[hart-discovery]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_exists[hart-vision]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_exists[hart-llm]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_profile_block[hart-backend]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_profile_block[hart-discovery]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_profile_block[hart-vision]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_profile_block[hart-llm]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_includes[hart-backend]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_includes[hart-discovery]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_includes[hart-vision]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_includes[hart-llm]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_deny_rules[hart-backend]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_deny_rules[hart-discovery]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_deny_rules[hart-vision]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_apparmor_profile_has_deny_rules[hart-llm]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_backend_denies_etc_shadow" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_backend_denies_root_home" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_discovery_denies_database_write" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_vision_allows_nvidia_devices" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_vision_denies_private_key" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_llm_allows_model_read" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAppArmorProfiles" name="test_llm_denies_private_key" time="0.009" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-backend.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-discovery.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-vision.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-llm.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-agent-daemon.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_file_exists[hart-dbus.service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-backend.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-backend.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-backend.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-backend.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-discovery.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-discovery.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-discovery.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-discovery.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-vision.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-vision.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-vision.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-vision.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-llm.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-llm.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-llm.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-llm.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-agent-daemon.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-agent-daemon.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-agent-daemon.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-agent-daemon.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-dbus.service-ProtectClock=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-dbus.service-SystemCallFilter=@system-service]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-dbus.service-LockPersonality=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSystemdHardening" name="test_service_has_hardening_directive[hart-dbus.service-ProtectKernelModules=yes]" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestJournaldConfig" name="test_journald_config_exists" time="0.006" /><testcase classname="tests.unit.test_security_hardening_distro.TestJournaldConfig" name="test_journald_has_system_max_use" time="0.005" /><testcase classname="tests.unit.test_security_hardening_distro.TestJournaldConfig" name="test_journald_has_max_retention" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestJournaldConfig" name="test_journald_has_compression" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_ssh_jail_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_ssh_jail_has_maxretry" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_ssh_jail_has_bantime" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_api_filter_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_api_filter_has_rate_limit_regex" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestFail2ban" name="test_api_filter_has_auth_failure_regex" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestUnattendedUpgrades" name="test_unattended_upgrades_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestUnattendedUpgrades" name="test_has_security_origin" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestUnattendedUpgrades" name="test_no_auto_reboot" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAuditRules" name="test_audit_rules_exist" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAuditRules" name="test_monitors_private_key_access" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAuditRules" name="test_monitors_code_modifications" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestAuditRules" name="test_monitors_systemctl" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestDNSHardening" name="test_resolved_conf_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestDNSHardening" name="test_dnssec_configured" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestDNSHardening" name="test_dns_over_tls_configured" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestDNSHardening" name="test_llmnr_disabled" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSudoers" name="test_sudoers_file_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSudoers" name="test_has_nopasswd_for_specific_commands" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestSudoers" name="test_no_unrestricted_all" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestImmutableKeys" name="test_first_boot_sets_immutable_flag" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestImmutableKeys" name="test_recovery_clears_immutable_before_removal" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestTFTPPathTraversal" name="test_pxe_server_has_commonpath_check" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestTFTPPathTraversal" name="test_pxe_server_has_normpath" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestTFTPPathTraversal" name="test_pxe_server_strips_dotdot_components" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestMandatorySignatures" name="test_update_service_has_require_signature_env" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestMandatorySignatures" name="test_update_service_defaults_to_requiring_signatures" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestOEMSSHKeyWipe" name="test_oem_prepare_removes_ssh_host_keys" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestOEMSSHKeyWipe" name="test_oem_user_setup_regenerates_ssh_keys" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestNetworkProvisionerValidation" name="test_has_validate_params_method" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestNetworkProvisionerValidation" name="test_has_hostname_regex_validation" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestNetworkProvisionerValidation" name="test_has_reject_policy_for_strict_mode" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBootAudit" name="test_boot_audit_script_exists" time="0.008" /><testcase classname="tests.unit.test_security_hardening_distro.TestBootAudit" name="test_boot_audit_has_signing_logic" time="0.006" /><testcase classname="tests.unit.test_security_hardening_distro.TestBootAudit" name="test_first_boot_calls_boot_audit" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_script_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_script_has_tar" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_script_has_sha256sum" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_script_has_chattr_handling" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_script_has_retention" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_timer_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_timer_has_on_calendar" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_service_exists" time="0.001" /><testcase classname="tests.unit.test_security_hardening_distro.TestBackupSystem" name="test_backup_service_is_oneshot" time="0.001" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_x_frame_options" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_x_content_type_options" time="0.005" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_x_xss_protection" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_referrer_policy" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_permissions_policy" time="0.007" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_hsts_in_production" time="0.015" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_no_hsts_in_development" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_csp_in_production" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestSecurityHeaders" name="test_no_csp_in_development" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_allowed_origin_gets_cors_headers" time="0.005" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_disallowed_origin_no_cors_headers" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_no_origin_header_no_cors" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_empty_cors_origins_blocks_all" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_multiple_allowed_origins" time="0.015" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_options_preflight_allowed_origin" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_options_preflight_disallowed_origin" time="0.005" /><testcase classname="tests.unit.test_security_middleware.TestCORS" name="test_cors_credentials_header" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_get_requests_bypass_csrf" time="0.005" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_post_with_bearer_token_bypasses_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_post_with_api_key_bypasses_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_post_with_json_content_type_bypasses_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_post_without_csrf_token_returns_403" time="0.015" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_post_with_csrf_token_header_passes" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_a2a_exempt_from_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_well_known_exempt_from_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestCSRF" name="test_status_exempt_from_csrf" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestHostValidation" name="test_valid_host_passes" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestHostValidation" name="test_invalid_host_returns_400" time="0.007" /><testcase classname="tests.unit.test_security_middleware.TestHostValidation" name="test_development_mode_bypasses_host_check" time="0.015" /><testcase classname="tests.unit.test_security_middleware.TestHostValidation" name="test_nunba_bundled_bypasses_host_check" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestHostValidation" name="test_host_with_port_stripped" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_no_api_key_configured_passes_all" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_valid_api_key_passes" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_invalid_api_key_returns_401" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_missing_api_key_returns_401" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_exempt_paths_skip_auth" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_prompts_endpoint_requires_auth" time="0.015" /><testcase classname="tests.unit.test_security_middleware.TestAPIAuth" name="test_nunba_bundled_bypasses_api_auth" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestConstantTimeCompare" name="test_equal_strings" time="0.001" /><testcase classname="tests.unit.test_security_middleware.TestConstantTimeCompare" name="test_unequal_strings" time="0.001" /><testcase classname="tests.unit.test_security_middleware.TestConstantTimeCompare" name="test_empty_strings" time="0.001" /><testcase classname="tests.unit.test_security_middleware.TestConstantTimeCompare" name="test_one_empty_one_not" time="0.001" /><testcase classname="tests.unit.test_security_middleware.TestFullMiddlewareStack" name="test_all_headers_present_on_single_request" time="0.006" /><testcase classname="tests.unit.test_security_middleware.TestFullMiddlewareStack" name="test_cors_and_security_headers_coexist" time="0.006" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_allows_https" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_allows_http" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_private_ip_10" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_private_ip_192" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_private_ip_172" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_cloud_metadata" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_localhost" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_localhost_ip" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_ftp_scheme" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_file_scheme" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_allows_private_when_flag_set" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_allows_localhost_when_flag_set" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_rejects_empty" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_rejects_whitespace_only" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_rejects_none" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_google_metadata_internal" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_blocks_zero_address" time="0.005" /><testcase classname="tests.unit.test_security_p0.TestValidateUrl" name="test_validate_url_strips_whitespace" time="0.005" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_compute_caps_is_immutable" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_compute_caps_rejects_new_key" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_compute_caps_rejects_deletion" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_constitutional_rules_is_tuple" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_constitutional_rules_has_entries" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_destructive_patterns_is_tuple" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_destructive_patterns_has_entries" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_world_model_bounds_is_immutable" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_world_model_bounds_rejects_new_key" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestGuardrailImmutability" name="test_world_model_bounds_has_expected_keys" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestShellInjectionProtection" name="test_classify_destructive_fails_closed_when_classifier_unavailable" time="0.002" /><testcase classname="tests.unit.test_security_p0.TestShellInjectionProtection" name="test_classify_destructive_returns_bool" time="0.001" /><testcase classname="tests.unit.test_security_p0.TestRateLimiter" name="test_max_content_length_set" time="0.003" /><testcase classname="tests.unit.test_self_build_tools.TestPackageNameValidation" name="test_invalid_names" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestPackageNameValidation" name="test_valid_names" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestReadRuntimePackages" name="test_no_file" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestReadRuntimePackages" name="test_parses_packages" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestReadRuntimePackages" name="test_skips_comments" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestStagePackage" name="test_stage_duplicate" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestStagePackage" name="test_stage_new_package" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestStagePackage" name="test_stage_no_file" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestUnstagePackage" name="test_remove_existing" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestUnstagePackage" name="test_remove_not_found" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestRunBuild" name="test_build_failure" time="0.002" /><testcase classname="tests.unit.test_self_build_tools.TestRunBuild" name="test_dry_run_success" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestRunBuild" name="test_missing_command" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestRunBuild" name="test_timeout" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestSandboxFirstEnforcement" name="test_apply_blocked_without_dry_run" time="0.015" /><testcase classname="tests.unit.test_self_build_tools.TestSandboxFirstEnforcement" name="test_install_returns_next_step" time="0.002" /><testcase classname="tests.unit.test_self_build_tools.TestSandboxFirstEnforcement" name="test_registered_tool_names" time="0.005" /><testcase classname="tests.unit.test_self_build_tools.TestSandboxFirstEnforcement" name="test_tool_count" time="0.004" /><testcase classname="tests.unit.test_self_build_tools.TestDetectGoalTags" name="test_self_build_detected" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestDetectGoalTags" name="test_unrelated_prompt" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestGoalRegistration" name="test_self_build_goal_type_registered" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestGoalRegistration" name="test_self_build_prompt_builder" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestGoalRegistration" name="test_self_build_tool_tags" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestBootstrapGoal" name="test_self_build_goal_in_seeds" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestBootstrapGoal" name="test_self_build_goal_sandbox_required" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestStandaloneTools" name="test_sandbox_non_nixos" time="0.001" /><testcase classname="tests.unit.test_self_build_tools.TestStandaloneTools" name="test_status_non_nixos" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[+1 555 123 4567-15551234567]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[15551234567@c.us-15551234567]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[15551234567@s.whatsapp.net-15551234567]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[+15551234567-15551234567]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[5551234567-5551234567]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[-]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_normalize_phone[None-]" time="0.001" /><testcase classname="tests.unit.test_self_chat_handler" name="test_is_self_message_matches" time="0.004" /><testcase classname="tests.unit.test_self_chat_handler" name="test_is_self_message_mismatch_returns_false" time="0.004" /><testcase classname="tests.unit.test_self_chat_handler" name="test_is_self_message_disabled_returns_false" time="0.013" /><testcase classname="tests.unit.test_self_chat_handler" name="test_is_self_message_no_owner_config_returns_false" time="0.004" /><testcase classname="tests.unit.test_self_chat_handler" name="test_is_self_message_no_adapter_returns_false" time="0.004" /><testcase classname="tests.unit.test_self_chat_handler" name="test_handle_persists_dispatches_and_replies" time="0.007" /><testcase classname="tests.unit.test_self_chat_handler" name="test_handle_agent_500_returns_none" time="0.005" /><testcase classname="tests.unit.test_self_chat_handler" name="test_handle_empty_reply_falls_back_to_noted" time="0.007" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_create_imu_reading" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_create_gps_reading" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_create_encoder_reading" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_to_dict" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_from_dict" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorReading" name="test_to_dict_omits_none_covariance" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_valid_imu" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_valid_gps_with_required_fields" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_invalid_gps_missing_required" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_invalid_empty_sensor_id" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_invalid_quality_out_of_range" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestValidateReading" name="test_unknown_type_is_valid" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_put_and_get_latest" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_get_latest_returns_none_for_unknown" time="0.005" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_ttl_expiry" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_get_window" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_get_window_empty" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_bounded_deque" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_get_all_latest" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_active_sensors" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_has_sensor" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_set_ttl" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_stats" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_clear_specific_sensor" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_clear_all" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSensorStore" name="test_thread_safety" time="0.003" /><testcase classname="tests.unit.test_sensor_store.TestSerialSensorBridge" name="test_parse_imu_line" time="0.003" /><testcase classname="tests.unit.test_sensor_store.TestSerialSensorBridge" name="test_parse_no_match" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSerialSensorBridge" name="test_parse_gps_line" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestGPIOSensorBridge" name="test_active_low_contact" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestGPIOSensorBridge" name="test_active_low_release" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestGPIOSensorBridge" name="test_proximity_sensor" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestGPIOSensorBridge" name="test_unmapped_pin_ignored" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestROSSensorBridge" name="test_imu_message" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestROSSensorBridge" name="test_gps_message" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestROSSensorBridge" name="test_unmapped_topic_ignored" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestWAMPSensorBridge" name="test_wamp_event_to_reading" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSystemRequirementsNewFields" name="test_hardware_profile_has_imu_gps_lidar" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSystemRequirementsNewFields" name="test_to_dict_includes_new_fields" time="0.001" /><testcase classname="tests.unit.test_sensor_store.TestSystemRequirementsNewFields" name="test_sensor_fusion_in_feature_map" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestWatchdogPriorityActive" name="test_model_priority_has_no_pinned_member" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestWatchdogPriorityActive" name="test_stateless_probe_uses_active" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestLifecycleTransitionsRelaxed" name="test_in_progress_to_error_now_allowed" time="0.018" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestLifecycleTransitionsRelaxed" name="test_in_progress_to_pending_now_allowed" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestLifecycleTransitionsRelaxed" name="test_in_progress_to_completed_still_blocked" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestLifecycleTransitionsRelaxed" name="test_in_progress_to_status_verification_still_allowed" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestCodingWorkspaceDir" name="test_returns_path_under_user_data_dir" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestCodingWorkspaceDir" name="test_creates_directory_idempotently" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestCodingWorkspaceDir" name="test_no_hardcoded_work_dir_coding_in_canonical_callers" time="0.002" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestPublishThinkingTraceMsgId" name="test_full_schema_envelope_has_msg_id" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestPublishThinkingTraceMsgId" name="test_short_schema_envelope_has_msg_id" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestPublishThinkingTraceMsgId" name="test_two_emits_same_request_id_get_distinct_msg_ids" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestEventBusMsgIdInjection" name="test_emit_injects_msg_id_when_absent" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestEventBusMsgIdInjection" name="test_emit_preserves_caller_msg_id" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestEventBusMsgIdInjection" name="test_emit_skips_msg_id_for_non_dict_payload" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestEventBusSSEDenylist" name="test_default_denylist_is_empty_tuple" time="0.001"><failure message="AssertionError: assert ('bus.',) == ()&#10;  &#10;  Left contains one more item: 'bus.'&#10;  &#10;  Full diff:&#10;  - ()&#10;  + (&#10;  +     'bus.',&#10;  + )">tests/unit/test_session_2026_05_10_changes.py:285: in test_default_denylist_is_empty_tuple
    assert _SSE_DENYLIST_PREFIXES == ()
E   AssertionError: assert ('bus.',) == ()
E     
E     Left contains one more item: 'bus.'
E     
E     Full diff:
E     - ()
E     + (
E     +     'bus.',
E     + )</failure></testcase><testcase classname="tests.unit.test_session_2026_05_10_changes.TestEventBusSSEDenylist" name="test_topic_targets_sse_returns_true_by_default" time="0.001" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestConsentAutoGrantWithNotice" name="test_cloud_egress_in_consent_types" time="0.110" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestConsentAutoGrantWithNotice" name="test_first_call_auto_grants_returns_true" time="0.123" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestConsentAutoGrantWithNotice" name="test_second_call_silent_returns_true" time="0.124" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestConsentAutoGrantWithNotice" name="test_returns_false_after_explicit_revoke" time="0.148" /><testcase classname="tests.unit.test_session_2026_05_10_changes.TestDraftHistoryNoDedup" name="test_no_dedup_block_in_dispatch_draft_first" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestConversationMessage" name="test_message_creation" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestConversationMessage" name="test_message_serialization" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_session_creation" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_add_messages" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_context_window" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_message_limit" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_state_management" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_clear_state" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_clear_history" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSession" name="test_serialization" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestLRUSessionCache" name="test_basic_operations" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestLRUSessionCache" name="test_lru_eviction" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestLRUSessionCache" name="test_access_updates_lru" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_get_or_create_session" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_get_existing_session" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_session_isolation" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_create_false" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_has_session" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_delete_session" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_clear_channel_sessions" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_clear_user_sessions" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_list_sessions" time="0.012" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_session_count" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_persistence" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_session_timeout" time="0.002" /><testcase classname="tests.unit.test_session_manager.TestChannelSessionManager" name="test_cleanup_expired" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestSessionIsolationMiddleware" name="test_get_session_for_message" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestSessionIsolationMiddleware" name="test_with_pairing_manager" time="0.003" /><testcase classname="tests.unit.test_session_manager.TestGlobalSessionManager" name="test_get_session_manager_singleton" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestRegressionChannels" name="test_channel_imports_work" time="0.001" /><testcase classname="tests.unit.test_session_manager.TestRegressionChannels" name="test_security_imports_work" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsAPIRouteRegistration" name="test_all_settings_endpoints_use_json_endpoint" time="0.002" /><testcase classname="tests.unit.test_settings_api.TestSettingsAPIRouteRegistration" name="test_settings_compute_get_route_exists" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsAPIRouteRegistration" name="test_settings_compute_put_route_exists" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsAPIRouteRegistration" name="test_settings_provider_get_route_exists" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsAPIRouteRegistration" name="test_settings_provider_join_route_exists" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputeGetLogic" name="test_get_reads_peer_node_identity" time="0.002" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputeGetLogic" name="test_get_uses_compute_config" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_has_tier_guard" time="0.002" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_invalidates_cache" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_peer_fields_correct" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_policy_fields_correct" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_writes_to_node_compute_config" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsComputePutLogic" name="test_put_writes_to_peer_node" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsProviderLogic" name="test_chat_handler_reads_task_source" time="0.002" /><testcase classname="tests.unit.test_settings_api.TestSettingsProviderLogic" name="test_provider_dashboard_has_contribution_score" time="0.010" /><testcase classname="tests.unit.test_settings_api.TestSettingsProviderLogic" name="test_provider_dashboard_has_pending_settlements" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsProviderLogic" name="test_provider_join_creates_config" time="0.001" /><testcase classname="tests.unit.test_settings_api.TestSettingsProviderLogic" name="test_provider_join_sets_default_cause" time="0.001" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioGet" name="test_graceful_without_pactl" time="0.006" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioGet" name="test_returns_sinks_and_sources" time="0.006" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioVolume" name="test_missing_params" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioVolume" name="test_set_volume" time="0.006" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioVolume" name="test_volume_clamped_to_0" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioVolume" name="test_volume_clamped_to_150" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioMute" name="test_missing_sink_id" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioMute" name="test_mute" time="0.023" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioMute" name="test_unmute" time="0.007" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioDefault" name="test_missing_sink_id" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioDefault" name="test_set_default" time="0.006" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioSourceVolume" name="test_missing_params" time="0.005" /><testcase classname="tests.unit.test_shell_audio_api.TestShellAudioSourceVolume" name="test_set_source_volume" time="0.006" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHappyPath" name="test_empty_input_returns_usage_hint" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHappyPath" name="test_none_input_returns_usage_hint" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHappyPath" name="test_simple_echo_returns_stdout_and_exit_code" time="0.005" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHappyPath" name="test_nonzero_exit_surfaces_returncode" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHappyPath" name="test_empty_output_reports_no_output" time="0.013" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandShellSelector" name="test_default_on_windows_uses_cmd" time="0.008" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandShellSelector" name="test_default_on_linux_uses_sh" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandShellSelector" name="test_powershell_selector_forces_powershell" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandShellSelector" name="test_bash_selector_forces_bash" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[format C:]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[format c: /fs:ntfs]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[rm -rf /]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[rm -rf ~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[rm -rf --no-preserve-root /]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[del /s /q C:\\Users]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[mkfs.ext4 /dev/sda1]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[dd if=/dev/zero of=/dev/sda]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[shred /important/file]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[:(){ :|:&amp; };:]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[shutdown -h now]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[shutdown -r now]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[Format-Volume -DriveLetter C]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_destructive_denied[Remove-Item -Recurse -Force C:\\Windows]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[notepad file.txt]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[dir C:\\Users]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[echo hello]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[git status]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[npm install]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[python script.py]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandDenylist" name="test_benign_allowed[ls -la /tmp]" time="0.018" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff52\uff4d -rf ~]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff52\uff4d -rf /]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff32\uff2d -RF ~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff46\uff4f\uff52\uff4d\uff41\uff54 \uff23:]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[rm -rf \uff0f]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[r\u200cm -rf ~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[r\u200dm -rf ~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[r\ufeffm -rf ~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[rm\xa0-rf\xa0~]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff53\uff48\uff55\uff54\uff44\uff4f\uff57\uff4e -h now]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_homoglyph_bypass_blocked[\uff44\uff45\uff4c /s /q \uff23:\\Users]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_legitimate_unicode_still_allowed[cat \ufb01le.txt]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_legitimate_unicode_still_allowed[echo \uff48\uff45\uff4c\uff4c\uff4f]" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_legitimate_unicode_still_allowed[cat \u30c6\u30b9\u30c8.txt]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_legitimate_unicode_still_allowed[echo \U0001f680 deploy]" time="0.002" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_raw_text_is_executed_not_normalized" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandHomoglyphBypass" name="test_denylist_check_is_case_insensitive_after_normalize" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandTimeout" name="test_timeout_returns_explanation" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandTimeout" name="test_timeout_arg_is_30_seconds" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandTruncation" name="test_long_stdout_truncated_to_2000_chars" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandTruncation" name="test_stderr_surfaces_alongside_stdout" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandErrorHandling" name="test_missing_interpreter_returns_explanation" time="0.001" /><testcase classname="tests.unit.test_shell_command_tool.TestShellCommandErrorHandling" name="test_unexpected_oserror_is_wrapped" time="0.001" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_candidates_no_mime" time="0.062" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_list_defaults" time="0.049" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_set_category_browser" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_set_category_invalid" time="0.046" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_set_default" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDefaultApps" name="test_set_default_missing_fields" time="0.042" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_font_preview" time="0.043" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_font_preview_missing_family" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_install_font" time="0.046" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_install_invalid_format" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_list_fonts" time="0.050" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_list_fonts_search" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestFontManager" name="test_remove_font_missing" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_list_events" time="0.044" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_list_themes" time="0.033" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_play_event_with_override" time="0.045" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_play_missing_event" time="0.042" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_set_theme" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestSoundManager" name="test_toggle_sounds" time="0.043" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_clear_all_preserves_pinned" time="0.045" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_copy_empty_content" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_copy_then_history" time="0.046" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_current" time="0.048" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_history_empty" time="0.049" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_pin_entry" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestClipboardManager" name="test_pin_nonexistent" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_get_datetime" time="0.047" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_list_timezones" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_set_format" time="0.054" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_set_format_invalid" time="0.033" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_set_ntp" time="0.050" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_set_timezone" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestDateTime" name="test_set_timezone_invalid" time="0.049" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_collection_empty" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_collection_with_images" time="0.047" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_get_wallpaper" time="0.032" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_set_lock" time="0.054" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_set_wallpaper" time="0.046" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_set_wallpaper_no_path" time="0.044" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWallpaper" name="test_slideshow" time="0.044" /><testcase classname="tests.unit.test_shell_desktop_apis.TestInputMethods" name="test_add_layout" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestInputMethods" name="test_compose_key" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestInputMethods" name="test_get_layouts" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestInputMethods" name="test_switch_empty" time="0.048" /><testcase classname="tests.unit.test_shell_desktop_apis.TestInputMethods" name="test_switch_layout" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_get_status" time="0.051" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_schedule" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_schedule_invalid_mode" time="0.050" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_temperature_out_of_range" time="0.032" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_toggle_off" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestNightLight" name="test_toggle_on" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_create_workspace" time="0.045" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_list_fallback" time="0.046" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_list_workspaces" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_snap_invalid_position" time="0.050" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_snap_left" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestWorkspaces" name="test_switch_workspace" time="0.050" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellMultiMonitor" name="test_displays_arrange_missing_display" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellMultiMonitor" name="test_displays_list_wayland" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellMultiMonitor" name="test_displays_list_x11_fallback" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellHiDPI" name="test_get_scale_wayland" time="0.053" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellHiDPI" name="test_get_scale_x11" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellHiDPI" name="test_put_scale_x11" time="0.053" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellPerAppVolume" name="test_list_audio_apps" time="0.034" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellPerAppVolume" name="test_set_volume_invalid_range" time="0.047" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellPerAppVolume" name="test_set_volume_valid" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellRTL" name="test_ltr_for_english" time="0.049" /><testcase classname="tests.unit.test_shell_desktop_apis.TestShellRTL" name="test_rtl_for_arabic" time="0.052" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_auto_toggle" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_available_list" time="0.056" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_status_none_running" time="0.036" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_status_squeekboard_running" time="0.054" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_toggle_start" time="0.054" /><testcase classname="tests.unit.test_shell_desktop_apis.TestOnScreenKeyboard" name="test_osk_toggle_stop" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_process_audio_not_found" time="0.047" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_process_no_input" time="0.043" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_process_with_text" time="0.035" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_start" time="0.048" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_status" time="0.032" /><testcase classname="tests.unit.test_shell_desktop_apis.TestVoiceControl" name="test_voice_stop" time="0.047" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayGet" name="test_disconnected_displays_excluded" time="0.006" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayGet" name="test_graceful_without_xrandr" time="0.005" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayGet" name="test_parses_xrandr_output" time="0.007" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayResolution" name="test_missing_params" time="0.004" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayResolution" name="test_set_resolution" time="0.005" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayResolution" name="test_set_resolution_failure" time="0.014" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayResolution" name="test_set_resolution_no_rate" time="0.005" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayBrightness" name="test_brightness_clamped" time="0.006" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayBrightness" name="test_missing_params" time="0.004" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayBrightness" name="test_set_brightness" time="0.005" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayScale" name="test_missing_params" time="0.004" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayScale" name="test_scale_clamped" time="0.005" /><testcase classname="tests.unit.test_shell_display_api.TestShellDisplayScale" name="test_set_scale" time="0.005" /><testcase classname="tests.unit.test_shell_execution.TestShellCommandExecution" name="test_execute_simple_command" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestShellCommandExecution" name="test_execute_with_arguments" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestShellCommandExecution" name="test_execute_with_pipes" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestShellCommandExecution" name="test_execute_with_environment_variables" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestShellCommandExecution" name="test_execute_in_specific_directory" time="0.012" /><testcase classname="tests.unit.test_shell_execution.TestCommandGeneralization" name="test_generalize_file_path_commands" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandGeneralization" name="test_generalize_user_specific_paths" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandGeneralization" name="test_generalize_date_time_commands" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandGeneralization" name="test_generalize_port_numbers" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandGeneralization" name="test_generalize_api_keys" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_detect_operating_system" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_windows_command_execution" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_unix_command_execution" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_convert_windows_path_to_unix" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_convert_unix_path_to_windows" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCrossPlatformExecution" name="test_cross_platform_file_operations" time="0.002" /><testcase classname="tests.unit.test_shell_execution.TestCommandSafety" name="test_validate_command_safety" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandSafety" name="test_sanitize_command_input" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandSafety" name="test_prevent_command_injection" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandSafety" name="test_command_timeout_prevention" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandSafety" name="test_restrict_file_system_access" time="0.002" /><testcase classname="tests.unit.test_shell_execution.TestCommandErrorHandling" name="test_handle_command_not_found" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandErrorHandling" name="test_handle_permission_denied" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandErrorHandling" name="test_handle_command_exit_code" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandErrorHandling" name="test_capture_stderr" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandErrorHandling" name="test_retry_failed_commands" time="0.002" /><testcase classname="tests.unit.test_shell_execution.TestCommandExecution" name="test_execute_command_workflow" time="0.003" /><testcase classname="tests.unit.test_shell_execution.TestCommandExecution" name="test_chain_multiple_commands" time="0.001" /><testcase classname="tests.unit.test_shell_execution.TestCommandExecution" name="test_background_command_execution" time="0.001" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_custom_lines" time="0.013" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_custom_unit" time="0.005" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_default_params" time="0.004" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_graceful_without_journalctl" time="0.003" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_grep_filter" time="0.003" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_lines_clamped" time="0.004" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_malformed_json_skipped" time="0.003" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_parses_journal_entries" time="0.005" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_priority_filter" time="0.003" /><testcase classname="tests.unit.test_shell_logs_api.TestShellSystemLogs" name="test_since_filter" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_connect_failure" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_connect_timeout" time="0.003" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_connect_without_password" time="0.013" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_empty_ssid_returns_400" time="0.003" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_missing_ssid_returns_400" time="0.003" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiConnect" name="test_successful_connect" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiDisconnect" name="test_disconnect_fallback_interface" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiDisconnect" name="test_successful_disconnect" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellNetworkStatus" name="test_graceful_on_missing_tools" time="0.003" /><testcase classname="tests.unit.test_shell_network_api.TestShellNetworkStatus" name="test_network_status_returns_structure" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellNetworkStatus" name="test_parses_interfaces" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiRead" name="test_graceful_without_nmcli" time="0.004" /><testcase classname="tests.unit.test_shell_network_api.TestShellWifiRead" name="test_wifi_list" time="0.004" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_list_empty" time="0.075" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_mark_all_read" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_mark_read" time="0.066" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_notification_has_urgency" time="0.067" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_send_notification" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotifications" name="test_send_then_list" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_browse_home" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_browse_invalid_path" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_browse_with_path" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_copy_file" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_delete_not_found" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_entries_sorted_dirs_first" time="0.068" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_file_info" time="0.066" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_file_info_not_found" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_mkdir_and_delete" time="0.100" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_mkdir_no_path" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellFileManager" name="test_move_file" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_exec_blocked_command" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_exec_command" time="0.066" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_exec_no_command" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_exec_timeout" time="1.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_exec_with_cwd" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTerminal" name="test_sessions_empty" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_create_invalid_username" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_create_no_username" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_delete_hart_user_blocked" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_delete_protected_user" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_list_users" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUsers" name="test_user_has_fields" time="0.068" /><testcase classname="tests.unit.test_shell_os_apis.TestShellSetupWizard" name="test_complete_all_steps" time="0.071" /><testcase classname="tests.unit.test_shell_os_apis.TestShellSetupWizard" name="test_complete_step" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellSetupWizard" name="test_status" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellSetupWizard" name="test_step_names" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellPower" name="test_action_invalid" time="0.064" /><testcase classname="tests.unit.test_shell_os_apis.TestShellPower" name="test_checkpoint" time="0.819" /><testcase classname="tests.unit.test_shell_os_apis.TestShellPower" name="test_profiles" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellPower" name="test_resume" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellPower" name="test_set_invalid_profile" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellI18n" name="test_locales" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellI18n" name="test_rtl_locale" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestShellI18n" name="test_set_locale" time="0.068" /><testcase classname="tests.unit.test_shell_os_apis.TestShellI18n" name="test_strings_empty" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellI18n" name="test_strings_with_file" time="0.068" /><testcase classname="tests.unit.test_shell_os_apis.TestShellAccessibility" name="test_get_defaults" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellAccessibility" name="test_set_font_scale" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellAccessibility" name="test_set_high_contrast" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellScreenshot" name="test_screenshot_no_tool" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellScreenshot" name="test_screenshot_with_grim" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellRecording" name="test_stop_no_pid" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellDevices" name="test_list_devices" time="0.064" /><testcase classname="tests.unit.test_shell_os_apis.TestShellDevices" name="test_pair_no_address" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellDevices" name="test_unpair_no_id" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellDevices" name="test_unpair_not_found" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUpgrades" name="test_start_no_version" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellUpgrades" name="test_status" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBackup" name="test_list_backups" time="0.064" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBackup" name="test_restore_missing_fields" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBackup" name="test_restore_missing_passphrase" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_battery_ac_power" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_battery_status_no_battery" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_battery_status_with_battery" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_lid_get_default" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_lid_put_invalid" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellBattery" name="test_lid_put_valid" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_connect_missing_ssid" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_connect_success" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_scan_empty" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_scan_nmcli_not_found" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_scan_returns_networks" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellWiFi" name="test_wifi_status" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellVPN" name="test_vpn_connect_missing_name" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellVPN" name="test_vpn_connect_success" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellVPN" name="test_vpn_disconnect" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellVPN" name="test_vpn_import_wireguard" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellVPN" name="test_vpn_list" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_empty" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_file" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_list_empty" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_list_with_items" time="0.066" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_missing_path" time="0.065" /><testcase classname="tests.unit.test_shell_os_apis.TestShellTrash" name="test_trash_restore" time="0.071" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotes" name="test_notes_delete" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotes" name="test_notes_save_and_list" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestShellNotes" name="test_notes_save_missing_content" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestShellOpenWith" name="test_open_with_file_not_found" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestShellOpenWith" name="test_open_with_missing_path" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestShellOpenWith" name="test_open_with_outside_sandbox" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_install_no_source" time="0.064" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_installed_apps" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_search_empty_query" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_search_no_query" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_search_with_query" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestAppStore" name="test_uninstall_no_app_id" time="0.068" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_add_pair_missing_fields" time="0.067" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_pairs_empty" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_remotes_rclone_not_installed" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_remotes_with_rclone" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_run_no_pairs" time="0.078" /><testcase classname="tests.unit.test_shell_os_apis.TestCloudSync" name="test_sync_status" time="0.070" /><testcase classname="tests.unit.test_shell_os_apis.TestAppPermissions" name="test_get_permissions_unknown_app" time="0.066" /><testcase classname="tests.unit.test_shell_os_apis.TestAppPermissions" name="test_permissions_response_shape" time="0.071" /><testcase classname="tests.unit.test_shell_os_apis.TestAppPermissions" name="test_reset_permissions" time="0.073" /><testcase classname="tests.unit.test_shell_os_apis.TestAppPermissions" name="test_set_permission" time="0.075" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_get_tags_no_path" time="0.069" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_get_tags_nonexistent_path" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_search_by_tag_no_tag" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_search_by_tag_outside_home" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_set_tags_invalid_type" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestFileTagging" name="test_set_tags_no_path" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestHotspot" name="test_hotspot_start" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestHotspot" name="test_hotspot_status" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestHotspot" name="test_hotspot_stop" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestWeather" name="test_weather_success" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestWeather" name="test_weather_unavailable" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestAutoUpdate" name="test_auto_update_run" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestAutoUpdate" name="test_auto_update_status" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestSecureDNS" name="test_dns_set_cloudflare" time="0.065" /><testcase classname="tests.unit.test_shell_os_apis.TestSecureDNS" name="test_dns_set_unknown_provider" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestSecureDNS" name="test_dns_status" time="0.062" /><testcase classname="tests.unit.test_shell_os_apis.TestSSO" name="test_sso_join_missing_domain" time="0.059" /><testcase classname="tests.unit.test_shell_os_apis.TestSSO" name="test_sso_leave_missing_domain" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestSSO" name="test_sso_status" time="0.061" /><testcase classname="tests.unit.test_shell_os_apis.TestSSO" name="test_sso_test_missing_uri" time="0.060" /><testcase classname="tests.unit.test_shell_os_apis.TestEmailLauncher" name="test_email_launch_not_installed" time="0.063" /><testcase classname="tests.unit.test_shell_os_apis.TestEmailLauncher" name="test_email_status" time="0.062" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_cpu_count" time="0.117" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_cpu_percent" time="0.114" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_disks" time="0.105" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_network" time="0.112" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_ram" time="0.105" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemMetrics" name="test_returns_uptime" time="0.105" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemProcesses" name="test_max_30_processes" time="0.044" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemProcesses" name="test_process_structure" time="0.023" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemProcesses" name="test_returns_process_list" time="0.032" /><testcase classname="tests.unit.test_shell_system_api.TestShellSystemProcesses" name="test_sorted_by_cpu" time="0.023" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_kill_missing_pid" time="0.069" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_kill_not_found" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_kill_pid_1" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_kill_success" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_list_processes" time="0.047" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_priority_missing_pid" time="0.034" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_processes_no_psutil" time="0.046" /><testcase classname="tests.unit.test_shell_system_apis.TestTaskManager" name="test_resources" time="0.040" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_clean_cache" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_clean_no_categories" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_smart_no_device" time="0.034" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_smart_success" time="0.047" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_storage_cleanup" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_storage_partitions" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_storage_usage_invalid_path" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestStorageManager" name="test_storage_usage_valid" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_add_startup" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_add_startup_missing_fields" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_list_startup" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_remove_nonexistent" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_remove_system_blocked" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_toggle_missing_file" time="0.046" /><testcase classname="tests.unit.test_shell_system_apis.TestStartupApps" name="test_toggle_nonexistent_file" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_connect" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_disconnect" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_discovered_empty" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_pair" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_pair_missing_mac" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_power_off" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_remove_device" time="0.046" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_scan" time="0.053" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_status" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetooth" name="test_trust" time="0.056" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_add_printer" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_add_printer_missing" time="0.040" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_cancel_job" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_cancel_missing_id" time="0.034" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_list_printers" time="0.046" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_printer_jobs" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_printers_cups_not_running" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_remove_printer" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestPrintManager" name="test_set_default" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_music_filter_artist" time="0.044" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_photos_empty" time="0.050" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_photos_pagination" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_scan_default_dirs" time="0.053" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_scan_starts" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_status_not_scanned" time="0.053" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaIndexer" name="test_videos_empty" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestShellWebcam" name="test_webcam_capture_ffmpeg_not_found" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestShellWebcam" name="test_webcam_list_no_devices" time="0.053" /><testcase classname="tests.unit.test_shell_system_apis.TestShellWebcam" name="test_webcam_list_with_device" time="0.048" /><testcase classname="tests.unit.test_shell_system_apis.TestShellScanner" name="test_scanner_list_empty" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestShellScanner" name="test_scanner_list_with_scanner" time="0.050" /><testcase classname="tests.unit.test_shell_system_apis.TestShellScanner" name="test_scanner_scan_error" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestProtectedNames" name="test_docker_in_protected_names" time="0.090" /><testcase classname="tests.unit.test_shell_system_apis.TestProtectedNames" name="test_k8s_in_protected_names" time="0.082" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetoothTimeout" name="test_bluetooth_background_thread_exists" time="0.080" /><testcase classname="tests.unit.test_shell_system_apis.TestBluetoothTimeout" name="test_bluetooth_scan_has_timeout" time="0.082" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaPlayer" name="test_play_file_not_found" time="0.045" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaPlayer" name="test_play_no_path" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaPlayer" name="test_player_status_nothing_playing" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestMediaPlayer" name="test_stop_nothing_playing" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestBatteryMonitor" name="test_battery_info_structure" time="0.097" /><testcase classname="tests.unit.test_shell_system_apis.TestBatteryMonitor" name="test_battery_profile_endpoint" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestBatteryMonitor" name="test_battery_set_profile_no_body" time="0.945" /><testcase classname="tests.unit.test_shell_system_apis.TestBatteryMonitor" name="test_battery_status_endpoint" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_connect_no_ssid" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_connect_success" time="0.052" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_forget_no_ssid" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_networks" time="0.050" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_saved" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_status" time="0.054" /><testcase classname="tests.unit.test_shell_system_apis.TestWiFiManagement" name="test_wifi_toggle" time="0.048" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_connect_no_name" time="0.038" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_disconnect_no_name" time="0.046" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_import_file_not_found" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_import_no_config" time="0.047" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_list" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestVPNClient" name="test_vpn_status" time="0.048" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_freedesktop_format" time="0.083" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_list_empty" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_move_no_path" time="0.048" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_move_not_found" time="0.037" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_restore_empty" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestTrashBin" name="test_trash_xdg_dir" time="0.087" /><testcase classname="tests.unit.test_shell_system_apis.TestScreenRotation" name="test_auto_rotate_status" time="0.036" /><testcase classname="tests.unit.test_shell_system_apis.TestScreenRotation" name="test_get_rotation_swaymsg" time="0.049" /><testcase classname="tests.unit.test_shell_system_apis.TestScreenRotation" name="test_set_rotation_invalid_transform" time="0.035" /><testcase classname="tests.unit.test_shell_system_apis.TestScreenRotation" name="test_set_rotation_no_output" time="0.051" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_adapter_creation" time="0.018" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_message_handler_registration" time="0.013" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_connect_success" time="0.026"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_message_conversion" time="0.013" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_group_message_conversion" time="0.015" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_attachment_handling" time="0.016" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_mention_detection" time="0.024" /><testcase classname="tests.unit.test_signal_adapter.TestSignalAdapter" name="test_media_type_detection" time="0.013" /><testcase classname="tests.unit.test_signal_adapter.TestSignalSending" name="test_send_direct_message" time="0.006"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalSending" name="test_send_group_message" time="0.010"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalSending" name="test_send_with_quote" time="0.021"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalSending" name="test_send_not_connected" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalReactions" name="test_send_reaction" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalReactions" name="test_remove_reaction" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalGroups" name="test_create_group" time="0.007"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalGroups" name="test_get_group_info" time="0.021"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_signal_adapter.TestSignalFactory" name="test_factory_with_params" time="0.002" /><testcase classname="tests.unit.test_signal_adapter.TestSignalFactory" name="test_factory_with_env_vars" time="0.004" /><testcase classname="tests.unit.test_signal_adapter.TestSignalFactory" name="test_factory_missing_phone" time="0.004" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_register" time="0.537" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_register_duplicate" time="0.444" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_login" time="0.618" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_login_wrong_password" time="0.654" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_me" time="0.453" /><testcase classname="tests.unit.test_social_api.TestAuthEndpoints" name="test_me_no_auth" time="0.275" /><testcase classname="tests.unit.test_social_api.TestPostEndpoints" name="test_create_post" time="0.466" /><testcase classname="tests.unit.test_social_api.TestPostEndpoints" name="test_list_posts" time="0.709" /><testcase classname="tests.unit.test_social_api.TestPostEndpoints" name="test_get_post" time="0.525" /><testcase classname="tests.unit.test_social_api.TestPostEndpoints" name="test_upvote_post" time="0.479" /><testcase classname="tests.unit.test_social_api.TestPostEndpoints" name="test_delete_post" time="0.474" /><testcase classname="tests.unit.test_social_api.TestCommentEndpoints" name="test_create_comment" time="0.481" /><testcase classname="tests.unit.test_social_api.TestCommentEndpoints" name="test_list_comments" time="0.481" /><testcase classname="tests.unit.test_social_api.TestCommunityEndpoints" name="test_create_community" time="0.516" /><testcase classname="tests.unit.test_social_api.TestCommunityEndpoints" name="test_list_communities" time="0.458" /><testcase classname="tests.unit.test_social_api.TestFeedEndpoints" name="test_global_feed" time="0.294" /><testcase classname="tests.unit.test_social_api.TestFeedEndpoints" name="test_trending_feed" time="0.295" /><testcase classname="tests.unit.test_social_api.TestUserEndpoints" name="test_get_user_profile" time="0.496" /><testcase classname="tests.unit.test_social_api.TestUserEndpoints" name="test_follow_user" time="0.648" /><testcase classname="tests.unit.test_social_api.TestRNCompatEndpoints" name="test_get_all_posts_compat" time="0.526" /><testcase classname="tests.unit.test_social_api.TestRNCompatEndpoints" name="test_comment_bypost_compat" time="0.460" /><testcase classname="tests.unit.test_social_api.TestSearchEndpoints" name="test_search_posts" time="0.477" /><testcase classname="tests.unit.test_social_api.TestAdminEndpoints" name="test_stats_requires_admin" time="0.444" /><testcase classname="tests.unit.test_social_feed.TestGlobalFeed" name="test_empty_feed" time="0.170" /><testcase classname="tests.unit.test_social_feed.TestGlobalFeed" name="test_feed_returns_posts" time="0.176" /><testcase classname="tests.unit.test_social_feed.TestGlobalFeed" name="test_sort_new" time="0.166" /><testcase classname="tests.unit.test_social_feed.TestGlobalFeed" name="test_sort_top" time="0.178" /><testcase classname="tests.unit.test_social_feed.TestGlobalFeed" name="test_pagination" time="0.160" /><testcase classname="tests.unit.test_social_feed.TestTrendingFeed" name="test_trending_scores" time="0.168" /><testcase classname="tests.unit.test_social_feed.TestAgentFeed" name="test_agent_only" time="0.181" /><testcase classname="tests.unit.test_social_feed.TestPersonalizedFeed" name="test_follows_in_feed" time="0.185" /><testcase classname="tests.unit.test_social_feed.TestPersonalizedFeed" name="test_community_in_feed" time="0.190" /><testcase classname="tests.unit.test_social_karma.TestKarmaRecalculation" name="test_zero_karma_new_user" time="0.171" /><testcase classname="tests.unit.test_social_karma.TestKarmaRecalculation" name="test_post_karma" time="0.170" /><testcase classname="tests.unit.test_social_karma.TestKarmaRecalculation" name="test_comment_karma" time="0.169" /><testcase classname="tests.unit.test_social_karma.TestKarmaRecalculation" name="test_task_karma_preserved" time="0.169" /><testcase classname="tests.unit.test_social_karma.TestKarmaBreakdown" name="test_breakdown_structure" time="0.158" /><testcase classname="tests.unit.test_social_karma.TestBadgeLevel" name="test_bronze" time="0.156" /><testcase classname="tests.unit.test_social_karma.TestBadgeLevel" name="test_silver" time="0.153" /><testcase classname="tests.unit.test_social_karma.TestBadgeLevel" name="test_gold" time="0.180" /><testcase classname="tests.unit.test_social_karma.TestBadgeLevel" name="test_platinum" time="0.157" /><testcase classname="tests.unit.test_social_karma.TestBadgeLevel" name="test_low_scores" time="0.151" /><testcase classname="tests.unit.test_social_models.TestUserModel" name="test_create_human_user" time="0.159" /><testcase classname="tests.unit.test_social_models.TestUserModel" name="test_create_agent_user" time="0.183" /><testcase classname="tests.unit.test_social_models.TestUserModel" name="test_unique_username" time="0.155" /><testcase classname="tests.unit.test_social_models.TestUserModel" name="test_to_dict" time="0.161" /><testcase classname="tests.unit.test_social_models.TestUserModel" name="test_to_dict_with_token" time="0.177" /><testcase classname="tests.unit.test_social_models.TestPostModel" name="test_create_post" time="0.170" /><testcase classname="tests.unit.test_social_models.TestPostModel" name="test_post_to_dict" time="0.190" /><testcase classname="tests.unit.test_social_models.TestPostModel" name="test_post_with_community" time="0.168" /><testcase classname="tests.unit.test_social_models.TestCommentModel" name="test_create_comment" time="0.170" /><testcase classname="tests.unit.test_social_models.TestCommentModel" name="test_nested_comment" time="0.164" /><testcase classname="tests.unit.test_social_models.TestVoteModel" name="test_create_vote" time="0.162" /><testcase classname="tests.unit.test_social_models.TestVoteModel" name="test_unique_vote_constraint" time="0.152" /><testcase classname="tests.unit.test_social_models.TestFollowModel" name="test_follow" time="0.166" /><testcase classname="tests.unit.test_social_models.TestCommunityModel" name="test_create_community" time="0.174" /><testcase classname="tests.unit.test_social_models.TestCommunityModel" name="test_membership" time="0.154" /><testcase classname="tests.unit.test_social_models.TestNotificationModel" name="test_create_notification" time="0.162" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_auto_commit_on_clean_exit" time="0.159" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_auto_rollback_on_exception" time="0.151" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_no_commit_when_commit_false" time="0.160" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_session_closed_after_exit" time="0.146" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_nested_db_sessions" time="0.162" /><testcase classname="tests.unit.test_social_models.TestDbSession" name="test_exception_propagated" time="0.158" /><testcase classname="tests.unit.test_social_models.TestInitDb" name="test_init_db_creates_tables" time="0.158" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_valid_3word_dot_name" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_valid_3word_different_names" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_empty_name_invalid" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_none_name_invalid" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_hyphenated_name_rejected" time="0.010" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_2word_name_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_4word_name_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_numbers_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_uppercase_normalized" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_reserved_word_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_reserved_word_middle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_reserved_word_last" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_single_char_words_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_long_word_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_max_length_word_accepted" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAgentNamingValidation" name="test_name_too_long_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_valid_local_name" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_valid_various_local_names" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_empty_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_single_word_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_3words_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_hyphen_format_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_numbers_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_uppercase_normalized" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_reserved_word_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestLocalNameValidation" name="test_whitespace_trimmed" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_valid_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_valid_handles" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_empty_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_too_short_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_numbers_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_dots_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_hyphens_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_spaces_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_reserved_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_too_long_rejected" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_max_length_accepted" time="0.010" /><testcase classname="tests.unit.test_social_naming.TestHandleValidation" name="test_uppercase_normalized" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestComposeGlobalName" name="test_basic_composition" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestComposeGlobalName" name="test_trims_whitespace" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestComposeGlobalName" name="test_lowercased" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestCheckGlobalAvailability" name="test_available_name" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestCheckGlobalAvailability" name="test_taken_name" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_fallback_local_names_dot_format" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_fallback_global_names_dot_format" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_fallback_local_with_handle_checks_global" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_generate_agent_name_local_mode" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_generate_agent_name_global_mode" time="0.003" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_llm_names_validated_and_used" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestNameGeneration" name="test_llm_invalid_names_filtered" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestReservedWords" name="test_all_reserved_in_frozenset" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestReservedWords" name="test_reserved_as_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestReservedWords" name="test_reserved_in_local_name" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestUserServiceHandle" name="test_set_handle_valid" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestUserServiceHandle" name="test_set_handle_taken" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestUserServiceHandle" name="test_set_handle_invalid_format" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestUserServiceHandle" name="test_set_handle_reserved" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_register_basic" time="0.012" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_no_owner_raises" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_no_handle_raises" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_invalid_local_name_raises" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_duplicate_local_name_same_owner" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestRegisterAgentLocal" name="test_global_name_taken" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestUpdateProfile" name="test_update_with_handle" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestUpdateProfile" name="test_update_without_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_suggest_names_endpoint_importable" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_validate_name_endpoint_importable" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_set_handle_endpoint_importable" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_check_handle_endpoint_importable" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_create_agent_endpoint_importable" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestAPIEndpoints" name="test_blueprint_routes_registered" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestMigrations" name="test_schema_version_current" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestMigrations" name="test_migration_functions_exist" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestUserModel" name="test_handle_column_exists" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestUserModel" name="test_local_name_column_exists" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestUserModel" name="test_to_dict_includes_handle" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestGatherAgentDetails" name="test_system_prompt_uses_dots" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestGatherAgentDetails" name="test_system_prompt_allows_user_choice" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestGatherAgentDetails" name="test_no_forced_auto_generation" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestGatherAgentDetails" name="test_completed_template_uses_dots" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_social_api_has_handle_functions" time="0.001"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:664: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_create_agent_dialog_dot_regex" time="0.001"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:674: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_create_agent_dialog_space_input" time="0.001"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:686: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_create_agent_dialog_what3words_preview" time="0.001"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:696: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_profile_page_shows_handle" time="0.001"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:704: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFrontendFiles" name="test_profile_page_what3words_agent_display" time="0.012"><skipped type="pytest.skip" message="Nunba project not found at expected path">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_naming.py:714: Nunba project not found at expected path</skipped></testcase><testcase classname="tests.unit.test_social_naming.TestFullNamingFlow" name="test_full_local_to_global_flow" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestFullNamingFlow" name="test_various_handle_local_combos" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestFullNamingFlow" name="test_conflict_detection" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestBackwardCompatibility" name="test_register_agent_legacy_3word" time="0.003" /><testcase classname="tests.unit.test_social_naming.TestBackwardCompatibility" name="test_register_agent_skip_validation" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_name_with_leading_trailing_dots" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_name_with_multiple_dots" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_empty_string_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_whitespace_only_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_compose_with_empty_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_unicode_rejected_in_name" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_unicode_rejected_in_handle" time="0.001" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_is_name_available_with_mock_db" time="0.002" /><testcase classname="tests.unit.test_social_naming.TestEdgeCases" name="test_is_handle_available_with_mock_db" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestGetKey" name="test_key_format" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestGetKey" name="test_different_users_different_keys" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestGetKey" name="test_different_actions_different_keys" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_first_call_always_allowed" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_allows_up_to_max_tokens" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_denies_after_tokens_exhausted" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_tokens_refill_over_time" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_tokens_capped_at_max" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_separate_users_independent" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_separate_actions_independent" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCheck" name="test_zero_max_tokens_denies_all" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCleanup" name="test_removes_stale_entries" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCleanup" name="test_keeps_fresh_entries" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCleanup" name="test_cleanup_with_empty_buckets" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestTokenBucketCleanup" name="test_auto_cleanup_triggers_at_interval" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_production_limits_have_required_keys" time="0.011" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_each_limit_has_max_tokens_and_refill_rate" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_disabled_env_gives_high_limits" time="0.003" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_testing_env_gives_high_limits" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_production_global_is_100_per_minute" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_production_auth_is_5_per_5min" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_production_register_is_3_per_hour" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestBuildLimits" name="test_production_post_limit_strict" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestGetLimiter" name="test_returns_token_bucket" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestGetLimiter" name="test_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestRateLimitDecorator" name="test_allows_request_within_limits" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestRateLimitDecorator" name="test_uses_ip_when_no_user" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestRateLimitDecorator" name="test_uses_user_id_when_authenticated" time="0.002" /><testcase classname="tests.unit.test_social_rate_limiter.TestThreadSafety" name="test_concurrent_checks_no_crash" time="0.009" /><testcase classname="tests.unit.test_social_rate_limiter.TestThreadSafety" name="test_concurrent_checks_respect_limit" time="0.018" /><testcase classname="tests.unit.test_social_rate_limiter.TestThreadSafety" name="test_concurrent_cleanup_no_crash" time="0.003" /><testcase classname="tests.unit.test_social_rate_limiter.TestEdgeCases" name="test_empty_user_id" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestEdgeCases" name="test_empty_action" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestEdgeCases" name="test_very_high_refill_rate_after_time_gap" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestEdgeCases" name="test_negative_refill_rate_degrades_gracefully" time="0.001" /><testcase classname="tests.unit.test_social_rate_limiter.TestEdgeCases" name="test_cleanup_with_very_small_max_age" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_core_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_community_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_infrastructure_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_resonance_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_gamification_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_region_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_encounter_rating_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_agent_evolution_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_distribution_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_campaign_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelsExist" name="test_geolocation_models" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_user" time="0.115" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_user_location_fields" time="0.004" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_resonance_wallet" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_achievement" time="0.003" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_region" time="0.004" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_season" time="0.003" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_campaign" time="0.024" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_location_ping" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_proximity_match" time="0.008" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_missed_connection" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestModelCreation" name="test_create_missed_connection_response" time="0.007" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_resonance_engine" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_gamification_service" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_region_service" time="0.004" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_encounter_service" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_agent_evolution_service" time="0.003" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_rating_service" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_distribution_service" time="0.002" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_onboarding_service" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_campaign_service" time="0.016" /><testcase classname="tests.unit.test_social_regression.TestServiceImports" name="test_proximity_service" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestHaversineDistance" name="test_same_point" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestHaversineDistance" name="test_known_distance" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestHaversineDistance" name="test_nearby_points" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestHaversineDistance" name="test_symmetry" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestBoundingBox" name="test_bounding_box_returns_four_values" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestBoundingBox" name="test_larger_radius_gives_larger_box" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestProximityDetection" name="test_update_location_creates_ping" time="0.017" /><testcase classname="tests.unit.test_social_regression.TestProximityDetection" name="test_nearby_count_zero_when_alone" time="0.010" /><testcase classname="tests.unit.test_social_regression.TestProximityDetection" name="test_two_users_nearby_creates_match" time="0.037" /><testcase classname="tests.unit.test_social_regression.TestProximityDetection" name="test_reveal_self_state_machine" time="0.039" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_create_missed_connection" time="0.008" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_search_missed_connections_by_radius" time="0.009" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_search_excludes_far_away" time="0.008" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_respond_to_missed_connection" time="0.012" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_multiple_respondents" time="0.035" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_accept_missed_response" time="0.016" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_get_missed_with_responses" time="0.026" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_delete_missed_connection" time="0.009" /><testcase classname="tests.unit.test_social_regression.TestMissedConnections" name="test_auto_suggest_locations" time="0.018" /><testcase classname="tests.unit.test_social_regression.TestLocationSettings" name="test_get_location_settings" time="0.005" /><testcase classname="tests.unit.test_social_regression.TestLocationSettings" name="test_update_location_settings" time="0.007" /><testcase classname="tests.unit.test_social_regression.TestCleanup" name="test_cleanup_expired_pings" time="0.021" /><testcase classname="tests.unit.test_social_regression.TestCleanup" name="test_cleanup_expired_missed_connections" time="0.008" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_award_pulse" time="0.005" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_award_spark" time="0.004" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_award_xp_triggers_level_up" time="0.007" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_spend_spark" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_spend_spark_insufficient" time="0.006" /><testcase classname="tests.unit.test_social_regression.TestResonanceEngine" name="test_get_wallet" time="0.015" /><testcase classname="tests.unit.test_social_regression.TestMigrations" name="test_schema_version_is_9" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestMigrations" name="test_run_migrations_function_exists" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestAPIBlueprint" name="test_gamification_blueprint_exists" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestAPIBlueprint" name="test_social_blueprint_exists" time="0.001" /><testcase classname="tests.unit.test_social_regression.TestPrivacy" name="test_proximity_match_to_dict_hides_coordinates" time="0.007" /><testcase classname="tests.unit.test_social_regression.TestPrivacy" name="test_missed_connection_to_dict_includes_location_for_poster" time="0.004" /><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_android_manifest_has_location_perms" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:775: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_social_api_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:785: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_encounter_store_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:790: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_use_location_ping_hook_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:795: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_encounters_screen_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:801: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_missed_connection_detail_screen_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:807: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_create_missed_connection_screen_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:813: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_map_screen_exists" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:819: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_shared_components_exist" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:829: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_home_routes_has_encounter_screens" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:836: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestReactNativeFiles" name="test_feed_header_has_encounters_button" time="0.001"><skipped type="pytest.skip" message="RN project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:849: RN project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestNunbaFrontendFiles" name="test_social_api_has_encounter_methods" time="0.001"><skipped type="pytest.skip" message="Nunba not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:874: Nunba not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestNunbaFrontendFiles" name="test_shared_components_exist" time="0.001"><skipped type="pytest.skip" message="Nunba project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:868: Nunba project not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestNunbaFrontendFiles" name="test_encounters_page_has_four_tabs" time="0.001"><skipped type="pytest.skip" message="Nunba not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:894: Nunba not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestHevolveFrontendFiles" name="test_social_api_has_encounter_methods" time="0.001"><skipped type="pytest.skip" message="Hevolve not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:915: Hevolve not available</skipped></testcase><testcase classname="tests.unit.test_social_regression.TestHevolveFrontendFiles" name="test_shared_components_exist" time="0.001"><skipped type="pytest.skip" message="Hevolve project not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_social_regression.py:909: Hevolve project not available</skipped></testcase><testcase classname="tests.unit.test_social_search.TestPostSearch" name="test_search_by_title" time="0.191" /><testcase classname="tests.unit.test_social_search.TestPostSearch" name="test_search_by_content" time="0.194" /><testcase classname="tests.unit.test_social_search.TestPostSearch" name="test_search_no_results" time="0.185" /><testcase classname="tests.unit.test_social_search.TestUserSearch" name="test_search_users" time="0.171" /><testcase classname="tests.unit.test_social_search.TestCommunitySearch" name="test_search_communities" time="0.174" /><testcase classname="tests.unit.test_social_search.TestSearchIntegration" name="test_semantic_search_import" time="0.150" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_not_installed" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_module_not_found" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_pyc_origin" time="0.012" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_so_origin" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_pyd_origin" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestInstallMethod" name="test_py_origin_unknown" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestSourceVisibility" name="test_not_installed" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceVisibility" name="test_py_origin_visible" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceVisibility" name="test_pyc_origin_not_visible" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestIntegrityVerification" name="test_not_installed" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestIntegrityVerification" name="test_no_manifest_fail_closed" time="0.004" /><testcase classname="tests.unit.test_source_protection.TestIntegrityVerification" name="test_manifest_match" time="0.006" /><testcase classname="tests.unit.test_source_protection.TestIntegrityVerification" name="test_manifest_mismatch" time="0.006" /><testcase classname="tests.unit.test_source_protection.TestIntegrityVerification" name="test_manifest_missing_files" time="0.005" /><testcase classname="tests.unit.test_source_protection.TestComputeDependencyHash" name="test_nonexistent_package" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestComputeDependencyHash" name="test_real_package" time="0.012" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_unknown_feature_allowed" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_in_process_requires_integrity" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_in_process_with_integrity" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_hivemind_requires_regional" time="0.008" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_hivemind_regional_with_integrity" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestAccessGate" name="test_sensor_fusion_needs_cct" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestTierHierarchy" name="test_tier_meets_minimum" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestBridgeIntegrityGate" name="test_bridge_blocks_on_mismatch" time="0.010" /><testcase classname="tests.unit.test_source_protection.TestBridgeIntegrityGate" name="test_bridge_allows_on_verified" time="0.018" /><testcase classname="tests.unit.test_source_protection.TestBridgeIntegrityGate" name="test_bridge_skips_if_no_source_protection" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_guards_installed" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_blocks_hevolveai_module" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_blocks_hevolveai_subpackage" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_blocks_exact_hevolveai_module" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_allows_non_protected_modules" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_getsourcefile_returns_none_for_protected" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_getsourcelines_blocks_protected" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_findsource_blocks_protected" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_idempotent_install" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestSourceGuards" name="test_does_not_block_similar_names" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCompileScript" name="test_importable" time="0.014" /><testcase classname="tests.unit.test_source_protection.TestCompileScript" name="test_manifest_placeholder_exists" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_starts_healthy" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_callback_fires_on_hash_change" time="0.010" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_no_callback_when_hash_unchanged" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_hevolveai_not_installed_no_false_tamper" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_multiple_callbacks" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_callback_exception_does_not_block_others" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestCrawlIntegrityWatcher" name="test_start_stop_lifecycle" time="10.004" /><testcase classname="tests.unit.test_source_protection.TestGap2FailClosed" name="test_missing_manifest_returns_verified_false" time="0.005" /><testcase classname="tests.unit.test_source_protection.TestGap2FailClosed" name="test_missing_manifest_blocks_in_process" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestGap3CCTFailClosed" name="test_exception_returns_false_in_production" time="0.013" /><testcase classname="tests.unit.test_source_protection.TestGap3CCTFailClosed" name="test_exception_returns_true_in_dev_mode" time="0.003" /><testcase classname="tests.unit.test_source_protection.TestGap3CCTFailClosed" name="test_no_valid_cct_returns_false" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestGap3CCTFailClosed" name="test_valid_cct_with_capability_returns_true" time="0.002" /><testcase classname="tests.unit.test_source_protection.TestWorldModelBridgeTamperCallback" name="test_tamper_callback_disables_in_process" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestWorldModelBridgeTamperCallback" name="test_watcher_not_started_in_http_mode" time="0.008" /><testcase classname="tests.unit.test_source_protection.TestWorldModelBridgeTamperCallback" name="test_watcher_started_when_in_process" time="0.010" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_known_hash_accepted" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_unknown_hash_rejected" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_empty_hash_rejected" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_manifest_hash_trusted" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_runtime_hash_addition" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_bounded_dict_overflow" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_get_known_versions" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestReleaseHashRegistry" name="test_hash_count" time="0.009" /><testcase classname="tests.unit.test_source_protection.TestPerimeterEnforcement" name="test_merge_peer_accepts_known_registry_hash" time="0.006" /><testcase classname="tests.unit.test_source_protection.TestPerimeterEnforcement" name="test_merge_peer_rejects_unknown_hash_hard_mode" time="0.006" /><testcase classname="tests.unit.test_source_protection.TestPerimeterEnforcement" name="test_compact_gossip_includes_code_hash" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestBeaconHashVerification" name="test_beacon_includes_code_hash" time="0.003" /><testcase classname="tests.unit.test_source_protection.TestBeaconHashVerification" name="test_parse_beacon_rejects_unknown_hash_hard" time="0.003" /><testcase classname="tests.unit.test_source_protection.TestBeaconHashVerification" name="test_parse_beacon_accepts_known_hash" time="0.003" /><testcase classname="tests.unit.test_source_protection.TestBeaconHashVerification" name="test_parse_beacon_allows_no_hash_soft_mode" time="0.001" /><testcase classname="tests.unit.test_source_protection.TestIntegrityServiceRegistry" name="test_registry_match_short_circuits" time="0.004" /><testcase classname="tests.unit.test_source_protection.TestIntegrityServiceRegistry" name="test_registry_miss_falls_through_to_manifest" time="0.004" /><testcase classname="tests.unit.test_source_protection.TestUpgradeRegistryIntegration" name="test_deploy_registers_hash" time="0.003" /><testcase classname="tests.unit.test_source_protection.TestUpgradeRegistryIntegration" name="test_deploy_no_registry_still_succeeds" time="0.002" /><testcase classname="tests.unit.test_state_management" name="test_all_states_defined" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_state_categories" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_basic_task_transitions" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_pause_resume_cycle" time="0.010" /><testcase classname="tests.unit.test_state_management" name="test_user_stop_functionality" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_block_and_fail" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_termination_and_cancellation" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_state_history_tracking" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_invalid_transitions" time="0.001" /><testcase classname="tests.unit.test_state_management" name="test_ledger_state_methods" time="0.021" /><testcase classname="tests.unit.test_state_management" name="test_state_duration" time="0.802" /><testcase classname="tests.unit.test_state_management" name="test_all_terminal_methods" time="0.014" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l1_gates_on_ui_create_agent_flag" time="0.002" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l1_dispatcher_post_block_intact" time="0.002" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_dispatcher_has_no_parallel_classifier" time="0.001" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l3_module_state_present" time="0.054" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l3_threshold_sane" time="0.860" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l3_escalation_wired" time="0.001" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_l3_no_name_enumeration" time="0.001" /><testcase classname="tests.unit.test_state_transition_485_l1_l3" name="test_existing_loop_guard_unchanged" time="0.054" /><testcase classname="tests.unit.test_sync_engine.TestSyncEngineInit" name="test_default_interval" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestSyncEngineInit" name="test_custom_interval_from_env" time="0.002" /><testcase classname="tests.unit.test_sync_engine.TestSyncEngineInit" name="test_default_batch_size" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestSyncEngineInit" name="test_not_running_initially" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestSyncEngineInit" name="test_max_queue_size_constant" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestQueueOperations" name="test_queue_is_static_method" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestQueueOperations" name="test_backpressure_constant_is_reasonable" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestQueueOperations" name="test_queue_method_exists_and_is_static" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestBackgroundSync" name="test_start_sets_running" time="0.002" /><testcase classname="tests.unit.test_sync_engine.TestBackgroundSync" name="test_stop_clears_running" time="0.002" /><testcase classname="tests.unit.test_sync_engine.TestBackgroundSync" name="test_double_start_is_safe" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestConnectivity" name="test_returns_bool" time="1.017" /><testcase classname="tests.unit.test_sync_engine.TestConnectivity" name="test_unreachable_returns_false" time="1.017" /><testcase classname="tests.unit.test_sync_engine.TestQueueStats" name="test_returns_dict" time="0.004" /><testcase classname="tests.unit.test_sync_engine.TestReceiveSyncBatch" name="test_returns_dict_with_processed_and_errors" time="0.003" /><testcase classname="tests.unit.test_sync_engine.TestReceiveSyncBatch" name="test_processes_known_operation_types" time="0.003" /><testcase classname="tests.unit.test_sync_engine.TestReceiveSyncBatch" name="test_handles_unknown_operation_type" time="0.013" /><testcase classname="tests.unit.test_sync_engine.TestReceiveSyncBatch" name="test_empty_batch_returns_empty" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestReceiveSyncBatch" name="test_idempotency_skips_already_completed" time="0.003" /><testcase classname="tests.unit.test_sync_engine.TestQueueUserSync" name="test_method_exists" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestSyncLoopInternals" name="test_do_sync_drain_exists" time="0.001" /><testcase classname="tests.unit.test_sync_engine.TestSyncLoopInternals" name="test_lock_exists" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestDetectHardware" name="test_detect_hardware_returns_profile" time="0.016" /><testcase classname="tests.unit.test_system_requirements.TestDetectHardware" name="test_detect_hardware_has_disk" time="0.016" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_compute_host" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_full" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_standard" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_lite" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_observer" time="0.010" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_embedded" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_classify_tier_partial_full" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_force_tier_override" time="0.003" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_force_tier_compute_host" time="0.003" /><testcase classname="tests.unit.test_system_requirements.TestClassifyTier" name="test_force_tier_embedded" time="0.003" /><testcase classname="tests.unit.test_system_requirements.TestResolveFeatures" name="test_resolve_standard_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestResolveFeatures" name="test_resolve_full_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestResolveFeatures" name="test_resolve_observer_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestResolveFeatures" name="test_resolve_embedded_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestResolveFeatures" name="test_resolve_compute_host_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestApplyFeatureGates" name="test_apply_gates_sets_env_vars" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestApplyFeatureGates" name="test_apply_gates_respects_user_override" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestApplyFeatureGates" name="test_apply_gates_does_not_override_existing_true" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestFullPipeline" name="test_get_capabilities_none_before_check" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestFullPipeline" name="test_run_system_check_full_flow" time="0.002" /><testcase classname="tests.unit.test_system_requirements.TestFullPipeline" name="test_run_system_check_caches" time="0.003" /><testcase classname="tests.unit.test_system_requirements.TestFullPipeline" name="test_to_dict" time="0.002" /><testcase classname="tests.unit.test_system_requirements.TestNetworkConnectivity" name="test_connectivity_success" time="0.002" /><testcase classname="tests.unit.test_system_requirements.TestNetworkConnectivity" name="test_connectivity_failure" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestTierOrdering" name="test_tier_rank_order" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestLocalLLMFeatures" name="test_local_llm_tier" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestLocalLLMFeatures" name="test_local_llm_large_requires_compute_host" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_gossip_requires_embedded" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_sensor_bridge_requires_embedded" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_protocol_adapter_requires_embedded" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_flask_server_requires_observer" time="0.019" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_vision_lightweight_requires_lite" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_embedded_gets_gossip_but_not_flask" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestEmbeddedFeatures" name="test_lite_gets_vision_lightweight" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestHardwareIODetection" name="test_hardware_profile_has_embedded_fields" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestHardwareIODetection" name="test_to_dict_includes_embedded_fields" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestHardwareIODetection" name="test_read_only_fs_detection_writable" time="0.001" /><testcase classname="tests.unit.test_system_requirements.TestHardwareIODetection" name="test_gpio_detection_no_gpio_on_dev_machine" time="0.008" /><testcase classname="tests.unit.test_system_requirements.TestHardwareIODetection" name="test_detect_hardware_includes_io_fields" time="0.017" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelBase" name="test_message_creation" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelBase" name="test_message_with_media" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelBase" name="test_channel_config" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelBase" name="test_send_result" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelRegistry" name="test_registry_creation" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelRegistry" name="test_register_adapter" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelRegistry" name="test_unregister_adapter" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestChannelRegistry" name="test_get_status" time="0.017" /><testcase classname="tests.unit.test_telegram_adapter.TestTelegramAdapter" name="test_adapter_creation" time="0.002" /><testcase classname="tests.unit.test_telegram_adapter.TestTelegramAdapter" name="test_message_handler_registration" time="0.002" /><testcase classname="tests.unit.test_telegram_adapter.TestTelegramAdapter" name="test_keyboard_building" time="0.003" /><testcase classname="tests.unit.test_telegram_adapter.TestFlaskIntegration" name="test_integration_creation" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestFlaskIntegration" name="test_user_session_mapping" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestFlaskIntegration" name="test_message_handling" time="0.009" /><testcase classname="tests.unit.test_telegram_adapter.TestFlaskIntegration" name="test_message_handling_api_error" time="0.004" /><testcase classname="tests.unit.test_telegram_adapter.TestRegressionExistingFunctionality" name="test_imports_dont_break" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestRegressionExistingFunctionality" name="test_existing_config_compatibility" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestRegressionExistingFunctionality" name="test_flask_app_import" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestRegressionExistingFunctionality" name="test_helper_functions_available" time="0.001" /><testcase classname="tests.unit.test_telegram_adapter.TestRegressionExistingFunctionality" name="test_lifecycle_hooks_available" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestWatcherDataStructures" name="test_active_watchers_is_dict" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestWatcherDataStructures" name="test_active_watchers_starts_empty" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_parses_standard_input" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_parses_audio_modality" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_parses_both_modality" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_default_ttl_is_30" time="0.010" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_multiple_watchers_per_user" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_watcher_has_callback" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_watcher_trigger_id_format" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisualContextWatcherTool" name="test_freeform_input_uses_full_text_as_condition" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_noop_when_no_watchers" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_noop_when_watchers_expired" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_fires_matching_watcher" time="0.003" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_does_not_fire_when_no_match" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_skips_visual_only_watchers" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestAudioWatcherEvaluation" name="test_handles_llm_exception_gracefully" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestWorkflowFlowchartPush" name="test_pushes_recipe_via_crossbar" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestWorkflowFlowchartPush" name="test_noop_when_recipe_missing" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestWorkflowFlowchartPush" name="test_does_not_crash_on_publish_error" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_save_to_memory_graph_method_exists" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_emit_perception_event_method_exists" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_save_to_memory_graph_calls_graph" time="0.004" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_save_to_memory_graph_handles_error" time="0.027" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_emit_perception_event_emits" time="0.002" /><testcase classname="tests.unit.test_temporal_perception.TestVisionServiceTemporalMethods" name="test_emit_perception_event_handles_error" time="0.001" /><testcase classname="tests.unit.test_temporal_perception.TestDescriptionLoopWiring" name="test_description_loop_calls_memory_graph" time="0.003" /><testcase classname="tests.unit.test_temporal_perception.TestDescriptionLoopWiring" name="test_description_loop_calls_emit_event" time="0.003" /><testcase classname="tests.unit.test_temporal_perception.TestDescriptionLoopWiring" name="test_description_loop_calls_both_channels" time="0.003" /><testcase classname="tests.unit.test_temporal_perception.TestEventBusBootstrap" name="test_main_py_bootstraps_eventbus" time="0.001"><skipped type="pytest.skip" message="Nunba main.py not found at any expected path — sibling repo not checked out alongside HARTOS">/home/runner/work/HARTOS/HARTOS/tests/unit/test_temporal_perception.py:491: Nunba main.py not found at any expected path — sibling repo not checked out alongside HARTOS</skipped></testcase><testcase classname="tests.unit.test_temporal_perception.TestWatcherToolRegistration" name="test_tool_wired_in_get_tools" time="0.013" /><testcase classname="tests.unit.test_temporal_perception.TestWatcherToolRegistration" name="test_tool_description_mentions_modality" time="0.012" /><testcase classname="tests.unit.test_theme_service.TestThemeServicePresets" name="test_list_presets" time="0.011" /><testcase classname="tests.unit.test_theme_service.TestThemeServicePresets" name="test_list_presets_has_required_fields" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServicePresets" name="test_get_preset_exists" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServicePresets" name="test_get_preset_not_found" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServicePresets" name="test_list_presets_empty_dir" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceActive" name="test_get_active_fallback_auto_detects" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceActive" name="test_apply_theme_success" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceActive" name="test_apply_theme_unknown" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceActive" name="test_apply_clears_custom_overrides" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceActive" name="test_get_active_after_apply" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceCustomize" name="test_update_custom_font_size" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceCustomize" name="test_update_custom_multiple_overrides" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceCustomize" name="test_update_custom_shell_opacity" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_get_font_options" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_get_conky_color_overrides" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_get_css_variables" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_deep_merge" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_apply_gtk_linux" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_apply_gtk_light" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestThemeServiceMisc" name="test_notify_liquid_ui" time="0.013" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_preset_exists" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_has_performance_section" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_zero_blur" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_high_opacity" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_css_no_blur" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_system_font" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_conky_interval" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_potato_reduced_polling" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPotatoMode" name="test_apply_potato_and_get_active" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_detect_embedded_returns_potato" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_detect_observer_returns_potato" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_detect_lite_returns_minimal" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_detect_standard_returns_none" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_detect_full_returns_none" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_auto_select_skips_if_active_exists" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_auto_select_applies_potato_for_observer" time="0.003" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_auto_select_default_for_capable" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestPerformanceAutoDetect" name="test_fallback_hardware_check_low_core" time="0.002" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_list_presets" time="0.006" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_get_active" time="0.016" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_apply_theme_success" time="0.008" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_apply_theme_missing_id" time="0.006" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_apply_theme_unknown_id" time="0.006" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_customize_theme" time="0.008" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_customize_empty_body" time="0.006" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_list_fonts" time="0.006" /><testcase classname="tests.unit.test_theme_service.TestThemeAPI" name="test_get_css" time="0.014" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_panel_manifest_count" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_dynamic_panels_count" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_system_panels_count" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_all_groups_represented" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_panel_groups_order" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_all_panels_have_required_fields" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_system_panels_have_apis" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_get_panels_by_group" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_get_panels_by_group_manage" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_get_all_panels" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_resolve_dynamic_panel" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_resolve_dynamic_panel_unknown" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_resolve_dynamic_panel_profile" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_appearance_panel_in_manifest" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestShellManifest" name="test_no_duplicate_routes" time="0.001" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_taskbar_html_present" time="0.062" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_toast_container_present" time="0.060" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_panel_animation_css_or_disabled" time="0.061" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_voice_toggle_present" time="0.070" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_snap_panel_present" time="0.068" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_update_taskbar_present" time="0.062" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_show_toast_present" time="0.061" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellHTML" name="test_login_greeting_present" time="0.062" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_drivers_endpoint" time="0.233" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_wifi_endpoint" time="0.061" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_audio_endpoint" time="0.062" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_bluetooth_endpoint" time="0.059" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_power_endpoint" time="0.060" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_shell_display_endpoint" time="0.067" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_recent_files_endpoint" time="0.059" /><testcase classname="tests.unit.test_theme_service.TestPremiumShellAPIs" name="test_notification_sse_route_exists" time="0.070" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentModel" name="test_create_experiment" time="0.116" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentModel" name="test_experiment_to_dict" time="0.006" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentModel" name="test_create_vote" time="0.007" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentModel" name="test_vote_to_dict" time="0.005" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_create_experiment" time="0.018" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_create_with_invalid_category_defaults" time="0.019" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_create_core_ip" time="0.011" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_advance_proposed_to_discussing" time="0.017" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_advance_auto" time="0.013" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_advance_cannot_go_backwards" time="0.022" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentLifecycle" name="test_close_experiment" time="0.013" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_human_vote" time="0.021" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_agent_vote_with_confidence" time="0.029" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_vote_value_clamped" time="0.017" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_vote_upsert" time="0.032" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_cannot_vote_on_decided" time="0.013" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_vote_with_suggestion" time="0.021" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentVoting" name="test_human_confidence_always_1" time="0.026" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentTally" name="test_tally_basic" time="0.037" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentTally" name="test_tally_weighted_agents" time="0.036" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentTally" name="test_decide" time="0.023" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentTally" name="test_tally_not_found" time="0.015" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentTally" name="test_tally_recommendation" time="0.025" /><testcase classname="tests.unit.test_thought_experiments.TestAgentEvaluation" name="test_record_evaluation" time="0.018" /><testcase classname="tests.unit.test_thought_experiments.TestAgentEvaluation" name="test_multiple_evaluations" time="0.030" /><testcase classname="tests.unit.test_thought_experiments.TestAgentEvaluation" name="test_evaluation_clamped" time="0.018" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_active_experiments" time="0.029" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_by_status" time="0.015" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_detail" time="0.014" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_core_ip" time="0.022" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_timeline" time="0.012" /><testcase classname="tests.unit.test_thought_experiments.TestExperimentQueries" name="test_get_votes" time="0.019" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentAPI" name="test_create_experiment_endpoint" time="0.039" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentAPI" name="test_create_missing_fields" time="0.019" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentAPI" name="test_list_experiments_endpoint" time="0.040" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentAPI" name="test_core_ip_endpoint" time="0.027" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentTools" name="test_get_experiment_status_tool" time="0.005" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentTools" name="test_tool_registration" time="0.001" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentIntegration" name="test_goal_type_registered" time="0.001" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentIntegration" name="test_seed_goal_exists" time="0.009" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentIntegration" name="test_reward_entries_exist" time="0.001" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentIntegration" name="test_schema_version_bumped" time="0.001" /><testcase classname="tests.unit.test_thought_experiments.TestThoughtExperimentIntegration" name="test_models_importable" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestGetEngineThreadSafety" name="test_concurrent_get_engine_returns_same_object" time="0.003" /><testcase classname="tests.unit.test_thread_safety.TestGetEngineThreadSafety" name="test_get_engine_idempotent" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestGetSessionFactoryThreadSafety" name="test_concurrent_get_session_factory_returns_same_object" time="0.002" /><testcase classname="tests.unit.test_thread_safety.TestGetSessionFactoryThreadSafety" name="test_get_session_factory_idempotent" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestGetExecutorThreadSafety" name="test_concurrent_get_executor_returns_same_object" time="0.002" /><testcase classname="tests.unit.test_thread_safety.TestGetExecutorThreadSafety" name="test_get_executor_idempotent" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestAtexitShutdownRegistration" name="test_parallel_dispatch_registers_atexit" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestAtexitShutdownRegistration" name="test_speculative_dispatcher_registers_atexit" time="0.002" /><testcase classname="tests.unit.test_thread_safety.TestAtexitShutdownRegistration" name="test_world_model_bridge_registers_atexit" time="0.009" /><testcase classname="tests.unit.test_thread_safety.TestLockExistence" name="test_models_has_engine_lock" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestLockExistence" name="test_models_has_session_lock" time="0.001" /><testcase classname="tests.unit.test_thread_safety.TestLockExistence" name="test_parallel_dispatch_has_executor_lock" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_agent_daemon_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_coding_daemon_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_gossip_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_sync_engine_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_distributed_worker_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_runtime_monitor_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatMethodsExist" name="test_model_lifecycle_has_heartbeat" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_agent_daemon_heartbeat_calls_watchdog" time="0.011" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_coding_daemon_heartbeat_calls_watchdog" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_sync_engine_heartbeat_calls_watchdog" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_distributed_worker_heartbeat_calls_watchdog" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_model_lifecycle_heartbeat_calls_watchdog" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatCallsWatchdog" name="test_runtime_monitor_heartbeat_calls_watchdog" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_agent_daemon_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_coding_daemon_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_sync_engine_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_model_lifecycle_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_distributed_worker_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestHeartbeatGracefulWithoutWatchdog" name="test_heartbeat_survives_import_error" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestGossipHeartbeatIntegration" name="test_gossip_heartbeat_calls_watchdog" time="0.004" /><testcase classname="tests.unit.test_thread_stability.TestGossipHeartbeatIntegration" name="test_gossip_heartbeat_no_watchdog" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestGossipHeartbeatIntegration" name="test_gossip_round_returns_early_when_stopped" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestGossipHeartbeatIntegration" name="test_gossip_seed_limit_is_2" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestGossipHeartbeatIntegration" name="test_health_check_heartbeats_per_peer" time="0.030" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffIntegration" name="test_backoff_dict_exists" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffIntegration" name="test_backoff_skip_logic" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffIntegration" name="test_backoff_expired_allows_retry" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffIntegration" name="test_backoff_cap_at_900" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffIntegration" name="test_auto_pause_threshold_is_5" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineBasics" name="test_sync_engine_init" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineBasics" name="test_sync_engine_start_stop" time="10.008" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineBasics" name="test_sync_drain_skips_without_target" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineBasics" name="test_sync_engine_has_drain_queue" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineBasics" name="test_sync_engine_singleton" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestRuntimeIntegrityMonitorHeartbeat" name="test_monitor_has_check_loop" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestRuntimeIntegrityMonitorHeartbeat" name="test_monitor_has_running_flag" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_agent_identity_importable" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_agent_identity_functions" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_hart_onboarding_importable" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_hart_cli_importable" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_cultural_wisdom_importable" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestPackagingModules" name="test_all_py_modules_importable" time="0.059" /><testcase classname="tests.unit.test_thread_stability.TestSQLiteConfig" name="test_busy_timeout_is_3000" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestSQLiteConfig" name="test_wal_mode_enabled" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestSQLiteConfig" name="test_check_same_thread_false" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestLifecycleTickHeartbeats" name="test_tick_calls_heartbeat_multiple_times" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestAutoDiscoveryHeartbeat" name="test_recv_loop_heartbeats_on_timeout" time="0.003" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffTick" name="test_dispatch_none_increments_backoff" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffTick" name="test_dispatch_success_clears_backoff" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffTick" name="test_backoff_escalation_sequence" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestDispatchBackoffTick" name="test_auto_pause_sets_goal_status" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineDrainHeartbeat" name="test_heartbeat_called_during_drain" time="0.002" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineDrainHeartbeat" name="test_sync_engine_interval_default" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestSyncEngineDrainHeartbeat" name="test_sync_engine_thread_is_daemon" time="10.001" /><testcase classname="tests.unit.test_thread_stability.TestGossipPeerRouting" name="test_gossip_targets_limited" time="0.012" /><testcase classname="tests.unit.test_thread_stability.TestGossipPeerRouting" name="test_gossip_protocol_has_node_id" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestGossipPeerRouting" name="test_gossip_running_false_at_init" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestWatchdogIntervalValidation" name="test_gossip_interval_at_least_120" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestWatchdogIntervalValidation" name="test_lifecycle_interval_uses_multiplier" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestClassifyDestructive" name="test_classify_destructive_exists" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestClassifyDestructive" name="test_classify_safe_action" time="0.010" /><testcase classname="tests.unit.test_thread_stability.TestClassifyDestructive" name="test_classify_destructive_action" time="0.001" /><testcase classname="tests.unit.test_thread_stability.TestClassifyDestructive" name="test_classify_fails_open" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_request_id" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_user_id" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_prompt_id" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_reqid_list" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_global_intent" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestBasicSetGet" name="test_task_source" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_request_id_default_none" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_user_id_default_none" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_reqid_list_default_empty" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_task_source_default_own" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_creation_requested_default_false" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_agentic_requested_default_false" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestDefaults" name="test_model_config_override_default_none" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestTokenCounts" name="test_set_and_get_req_tokens" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestTokenCounts" name="test_update_req_tokens_increments" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestTokenCounts" name="test_set_and_get_res_tokens" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestTokenCounts" name="test_update_res_tokens_increments" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestIntents" name="test_set_and_get_intents" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestIntents" name="test_update_intents_appends" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestIntents" name="test_update_intents_auto_initializes" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestCreationSignals" name="test_set_creation_requested" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestCreationSignals" name="test_clear_creation_flags" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestAgenticRouting" name="test_set_agentic_routing" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestAgenticRouting" name="test_clear_agentic_flags" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestModelConfigOverride" name="test_set_and_get" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestModelConfigOverride" name="test_clear" time="0.001" /><testcase classname="tests.unit.test_threadlocal.TestThreadIsolation" name="test_different_threads_isolated" time="0.026" /><testcase classname="tests.unit.test_threadlocal.TestThreadIsolation" name="test_ten_threads_isolated" time="0.007" /><testcase classname="tests.unit.test_tool_allowlist.TestFilterToolsForModel" name="test_balanced_model_gets_write_tools" time="0.002" /><testcase classname="tests.unit.test_tool_allowlist.TestFilterToolsForModel" name="test_expert_model_unrestricted" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestFilterToolsForModel" name="test_fast_model_restricted_to_read_only" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestFilterToolsForModel" name="test_unknown_model_fail_closed" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestCheckToolAllowed" name="test_fast_allowed_read" time="0.002" /><testcase classname="tests.unit.test_tool_allowlist.TestCheckToolAllowed" name="test_fast_blocked_write" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestCheckToolAllowed" name="test_unknown_blocked" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestToolSets" name="test_fast_has_no_write_tools" time="0.001" /><testcase classname="tests.unit.test_tool_allowlist.TestToolSets" name="test_fast_is_subset_of_balanced" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_log_tool_execution_is_innermost_in_reuse_recipe" time="0.104" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_persona_caches_assigned_only_in_core_persona_registry" time="0.228" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_persona_caches_are_identical_objects_across_imports" time="0.011"><failure message="ModuleNotFoundError: No module named 'apscheduler'">tests/unit/test_tool_registration_parity.py:167: in test_persona_caches_are_identical_objects_across_imports
    from reuse_recipe import (
reuse_recipe.py:23: in &lt;module&gt;
    from apscheduler.schedulers.background import BackgroundScheduler
E   ModuleNotFoundError: No module named 'apscheduler'</failure></testcase><testcase classname="tests.unit.test_tool_registration_parity" name="test_alias_points_to_same_closure[get_data_by_key-get_data_from_memory]" time="0.013" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_alias_points_to_same_closure[text_2_image-txt2img]" time="0.003" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_alias_points_to_same_closure[get_text_from_image-img2txt]" time="0.003" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_connect_time_main_register_dual_name_matches_func" time="0.098" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_send_message_to_roles_publishes_with_role_match" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_multichat_topic_is_per_user" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_multichat_in_message_bus_topic_map_is_templated" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_send_message_to_roles_helpful_error_when_no_personas" time="0.002" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_send_message_to_roles_no_match_returns_helpful_error" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_send_message_to_roles_empty_role_arg" time="0.001" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_get_data_from_memory_resolves" time="0.002" /><testcase classname="tests.unit.test_tool_registration_parity" name="test_send_message_to_roles_appears_in_prompts_and_resolves" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestTradingPromptBuilder" name="test_intraday_prompt" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestTradingPromptBuilder" name="test_longterm_prompt" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestTradingPromptBuilder" name="test_live_trading_label" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestTradingPromptBuilder" name="test_risk_rules_always_present" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestPaperTradeRecord" name="test_paper_trade_simulated" time="0.005" /><testcase classname="tests.unit.test_trading_agents.TestPaperTradeRecord" name="test_stop_loss_mandatory" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestPaperTradeRecord" name="test_invalid_side_rejected" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestPortfolioPnL" name="test_portfolio_model_to_dict" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestPortfolioPnL" name="test_portfolio_zero_trades_win_rate" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestTradingGuardrails" name="test_guardrail_blocks_live_trading_goal" time="0.003" /><testcase classname="tests.unit.test_trading_agents.TestTradingGoalType" name="test_trading_type_registered" time="0.001" /><testcase classname="tests.unit.test_trading_agents.TestLossHalt" name="test_halt_on_max_loss" time="0.005" /><testcase classname="tests.unit.test_tts.TestTTSProvider" name="test_all_providers_defined" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSProvider" name="test_provider_from_string" time="0.001" /><testcase classname="tests.unit.test_tts.TestAudioFormat" name="test_all_formats_defined" time="0.001" /><testcase classname="tests.unit.test_tts.TestVoiceInfo" name="test_voice_info_creation" time="0.001" /><testcase classname="tests.unit.test_tts.TestVoiceInfo" name="test_voice_info_to_dict" time="0.010" /><testcase classname="tests.unit.test_tts.TestVoiceInfo" name="test_voice_info_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestSSMLConfig" name="test_ssml_config_creation" time="0.001" /><testcase classname="tests.unit.test_tts.TestSSMLConfig" name="test_ssml_config_to_dict" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_engine_initialization" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_engine_initialization_from_string" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_engine_custom_config" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_get_optimal_format" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_get_supported_formats" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_get_max_text_length" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_estimate_duration" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_build_ssml_basic" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_build_ssml_with_config" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_build_ssml_with_emphasis" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_split_text" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_get_provider_info" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_synthesize_basic" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_synthesize_with_options" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_synthesize_ssml" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_list_voices" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_list_voices_with_filter" time="0.007"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_synthesize_long_text" time="0.008"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngine" name="test_save_to_file" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSEngineProviders" name="test_openai_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngineProviders" name="test_elevenlabs_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngineProviders" name="test_edge_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngineProviders" name="test_google_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSEngineProviders" name="test_amazon_defaults" time="0.001" /><testcase classname="tests.unit.test_tts.TestTTSIntegration" name="test_full_synthesis_workflow" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSIntegration" name="test_voice_caching" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts.TestTTSIntegration" name="test_voice_filtering" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_tool_module_alone_is_accepted" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_empty_caps_is_rejected" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_non_dict_is_rejected" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_full_reflection_contract_is_accepted" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_partial_reflection_contract_is_rejected[import_path]" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_partial_reflection_contract_is_rejected[init_args]" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_partial_reflection_contract_is_rejected[synth_method]" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_partial_reflection_contract_is_rejected[params_map]" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_partial_reflection_contract_is_rejected[output_format]" time="0.014" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_bad_import_path_shape_rejected" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_unknown_output_format_rejected" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_init_args_must_be_dict" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestValidateEngineCaps" name="test_canonical_output_formats_all_accepted" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestCatalogEntryToSpec" name="test_tool_module_entry_round_trips" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestCatalogEntryToSpec" name="test_invalid_entry_returns_none" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestCatalogEntryToSpec" name="test_reflection_only_entry_returns_none" time="0.001" /><testcase classname="tests.unit.test_tts_catalog_validation.TestPopulateRejectsInvalidEntries" name="test_invalid_entry_seeded_pre_boot_is_rejected_with_log" time="0.005" /><testcase classname="tests.unit.test_tts_catalog_validation.TestPopulateRejectsInvalidEntries" name="test_reflection_only_entry_survives_ingest_in_scope_2" time="0.004" /><testcase classname="tests.unit.test_tts_catalog_validation.TestPopulateRejectsInvalidEntries" name="test_valid_tool_module_entry_survives_ingest" time="0.003" /><testcase classname="tests.unit.test_tts_catalog_validation.TestEngineRegistrySnapshot" name="test_engine_registry_is_post_upsert_snapshot" time="0.003" /><testcase classname="tests.unit.test_tts_catalog_validation.TestEngineRegistrySnapshot" name="test_refresh_excludes_reflection_only_entries" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_english_default" time="0.005" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_empty_returns_english" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_hindi_devanagari" time="0.005" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_chinese_cjk" time="0.005" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_korean_hangul" time="0.014" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_japanese_hiragana" time="0.004" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_arabic" time="0.004" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_russian_cyrillic" time="0.004" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_tamil" time="0.005" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_telugu" time="0.004" /><testcase classname="tests.unit.test_tts_router.TestLanguageDetection" name="test_bengali" time="0.004" /><testcase classname="tests.unit.test_tts_router.TestEngineSelection" name="test_english_no_gpu_local_only" time="0.002"><failure message="AssertionError: assert 'pocket_tts' in ['espeak', 'kokoro', 'melotts']">tests/unit/test_tts_router.py:88: in test_english_no_gpu_local_only
    assert 'pocket_tts' in engine_ids
E   AssertionError: assert 'pocket_tts' in ['espeak', 'kokoro', 'melotts']</failure></testcase><testcase classname="tests.unit.test_tts_router.TestEngineSelection" name="test_english_with_gpu" time="0.012"><failure message="AssertionError: assert 'chatterbox_turbo' in ['kokoro', 'cosyvoice3', 'melotts', 'espeak', 'omnivoice']">tests/unit/test_tts_router.py:103: in test_english_with_gpu
    assert 'chatterbox_turbo' in engine_ids
E   AssertionError: assert 'chatterbox_turbo' in ['kokoro', 'cosyvoice3', 'melotts', 'espeak', 'omnivoice']</failure></testcase><testcase classname="tests.unit.test_tts_router.TestEngineSelection" name="test_hindi_no_gpu" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestEngineSelection" name="test_always_has_espeak_fallback" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestGPUConstraints" name="test_large_model_excluded_when_vram_low" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestComputePolicy" name="test_local_only_no_cloud" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestHiveOffload" name="test_hive_peer_for_gpu_engine" time="0.003" /><testcase classname="tests.unit.test_tts_router.TestUrgency" name="test_source_urgency_mapping" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestUrgency" name="test_instant_sorts_by_latency" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestUrgency" name="test_quality_sorts_by_quality" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestVoiceClone" name="test_require_clone_filters_non_clone" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestFallbackChain" name="test_all_engines_unavailable_still_has_espeak" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestSynthesize" name="test_empty_text_returns_error" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestSynthesize" name="test_whitespace_returns_error" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestSynthesize" name="test_synthesize_source_maps_urgency" time="0.015" /><testcase classname="tests.unit.test_tts_router.TestSynthesize" name="test_engine_override" time="0.007"><failure message="AssertionError: assert 'espeak' == 'pocket_tts'&#10;  &#10;  - pocket_tts&#10;  + espeak">tests/unit/test_tts_router.py:360: in test_engine_override
    assert result.engine_id == 'pocket_tts'
E   AssertionError: assert 'espeak' == 'pocket_tts'
E     
E     - pocket_tts
E     + espeak</failure></testcase><testcase classname="tests.unit.test_tts_router.TestSynthesize" name="test_all_engines_fail_returns_error" time="0.007" /><testcase classname="tests.unit.test_tts_router.TestEngineStatus" name="test_reports_all_engines" time="0.002"><failure message="AssertionError: assert 'pocket_tts' in ['chatterbox-turbo', 'cosyvoice3', 'f5-tts', 'indic-parler', 'chatterbox-ml', 'pocket-tts', 'neutts-air', 'kokoro', 'omnivoice', 'espeak', 'melotts', 'xtts-v2', 'mms-tts']">tests/unit/test_tts_router.py:396: in test_reports_all_engines
    assert 'pocket_tts' in engine_ids
E   AssertionError: assert 'pocket_tts' in ['chatterbox-turbo', 'cosyvoice3', 'f5-tts', 'indic-parler', 'chatterbox-ml', 'pocket-tts', 'neutts-air', 'kokoro', 'omnivoice', 'espeak', 'melotts', 'xtts-v2', 'mms-tts']</failure></testcase><testcase classname="tests.unit.test_tts_router.TestEngineStatus" name="test_status_has_required_fields" time="0.002" /><testcase classname="tests.unit.test_tts_router.TestGetAllVoices" name="test_aggregates_from_engines" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestGetAllVoices" name="test_empty_when_no_engines" time="0.010" /><testcase classname="tests.unit.test_tts_router.TestSingleton" name="test_singleton_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestTTSResult" name="test_to_dict_minimal" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestTTSResult" name="test_to_dict_with_warnings" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestTTSResult" name="test_to_dict_with_error" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestEngineRegistry" name="test_all_engines_present" time="0.001"><failure message="AssertionError: Canonical TTS engines REMOVED from ENGINE_REGISTRY: {'indic_parler', 'chatterbox_turbo', 'neutts_air', 'chatterbox_ml', 'piper', 'pocket_tts', 'makeittalk', 'f5_tts'}. Adding new engines is fine, removing canonical ones breaks the LANG_ENGINE_PREFERENCE ladder.&#10;assert not {'indic_parler', 'chatterbox_turbo', 'neutts_air', 'chatterbox_ml', 'piper', 'pocket_tts', 'makeittalk', 'f5_tts'}">tests/unit/test_tts_router.py:549: in test_all_engines_present
    assert not missing, (
E   AssertionError: Canonical TTS engines REMOVED from ENGINE_REGISTRY: {'indic_parler', 'chatterbox_turbo', 'neutts_air', 'chatterbox_ml', 'piper', 'pocket_tts', 'makeittalk', 'f5_tts'}. Adding new engines is fine, removing canonical ones breaks the LANG_ENGINE_PREFERENCE ladder.
E   assert not {'indic_parler', 'chatterbox_turbo', 'neutts_air', 'chatterbox_ml', 'piper', 'pocket_tts', 'makeittalk', 'f5_tts'}</failure></testcase><testcase classname="tests.unit.test_tts_router.TestEngineRegistry" name="test_all_specs_have_required_fields" time="0.001" /><testcase classname="tests.unit.test_tts_router.TestEngineRegistry" name="test_lang_preference_covers_common_languages" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_bare_number_expanded" time="0.048" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_dollar_amount_en" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_email_spelled" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_number_with_comma" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_percent_decimal" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_percent_en" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_pure_indic_text_unchanged" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_rupee_amount_en" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_rupee_amount_hi" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_rupee_symbol_en" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_tamil_currency" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_time_2_30_pm" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_time_on_the_hour" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.RulePassTest" name="test_url_stripped_to_link_word" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.ResidualDetectorTest" name="test_acronym_is_residual" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.ResidualDetectorTest" name="test_clean_english_not_residual" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.ResidualDetectorTest" name="test_clean_hindi_not_residual" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.ResidualDetectorTest" name="test_digits_are_residual" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.ResidualDetectorTest" name="test_short_uppercase_not_flagged" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.LLMFallbackTest" name="test_llm_called_when_residual_present" time="0.002" /><testcase classname="tests.unit.test_tts_text_normalizer.LLMFallbackTest" name="test_llm_skipped_when_no_residual" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.LLMFallbackTest" name="test_llm_timeout_falls_back_to_rule_output" time="0.002" /><testcase classname="tests.unit.test_tts_text_normalizer.LLMFallbackTest" name="test_use_llm_false_skips_even_with_residual" time="0.011" /><testcase classname="tests.unit.test_tts_text_normalizer.CachingTest" name="test_cache_roundtrip" time="0.002" /><testcase classname="tests.unit.test_tts_text_normalizer.CachingTest" name="test_different_lang_separate_cache_entry" time="0.002" /><testcase classname="tests.unit.test_tts_text_normalizer.PublicAPITest" name="test_empty_text_passthrough" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.PublicAPITest" name="test_lang_normalization" time="0.001" /><testcase classname="tests.unit.test_tts_text_normalizer.PublicAPITest" name="test_none_lang_defaults_to_en" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_access_token_has_local_scope" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_access_token_has_node_id" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_access_token_has_iss_node" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_refresh_token_has_local_scope" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_token_pair_includes_scope" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_decode_local_token_accepts_local" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestLocalTokenScope" name="test_decode_local_token_rejects_hive" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestBackwardCompatibility" name="test_old_token_without_scope_decodes" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestBackwardCompatibility" name="test_old_token_treated_as_local_by_decode_local" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenGeneration" name="test_hive_token_is_string" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenGeneration" name="test_hive_token_has_hive_scope" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenGeneration" name="test_hive_token_has_hive_issuer" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenGeneration" name="test_hive_token_has_node_sig" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenGeneration" name="test_hive_token_has_node_id" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenVerification" name="test_verify_own_hive_token" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenVerification" name="test_verify_hive_token_wrong_key_fails" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenVerification" name="test_verify_local_token_as_hive_fails" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenVerification" name="test_verify_hive_token_cross_node" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestHiveTokenVerification" name="test_blocklisted_hive_token_rejected" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestMasterKeyExclusion" name="test_no_master_key_import_in_jwt_manager" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestMasterKeyExclusion" name="test_no_master_key_import_in_auth" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestAuthModuleHiveFunctions" name="test_generate_hive_jwt_returns_token" time="0.010" /><testcase classname="tests.unit.test_two_layer_auth.TestAuthModuleHiveFunctions" name="test_verify_hive_jwt_roundtrip" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestAuthModuleHiveFunctions" name="test_verify_hive_jwt_wrong_key_empty" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestAuthModuleHiveFunctions" name="test_decode_jwt_includes_scope" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_handle_revoke_token" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_handle_revoke_token_missing_jti" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_handle_sync_blocklist_bulk" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_handle_sync_blocklist_empty" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_receive_sync_batch_revoke_token" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_queue_user_sync_direction_up" time="0.003" /><testcase classname="tests.unit.test_two_layer_auth.TestSyncEngineAuthOps" name="test_queue_user_sync_direction_down" time="0.002" /><testcase classname="tests.unit.test_two_layer_auth.TestGetNodeId" name="test_returns_hex_string" time="0.001" /><testcase classname="tests.unit.test_two_layer_auth.TestGetNodeId" name="test_returns_unknown_on_error" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_registry_non_empty" time="0.004" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_ids_are_unique" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_routes_are_unique" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_ids_are_snake_case" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_routes_start_with_slash" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_keywords_are_lowercase" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_keywords_are_non_empty" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageRegistryInvariants" name="test_labels_are_short" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestListPages" name="test_flat_user_sees_no_admin_pages" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestListPages" name="test_central_user_sees_admin_pages" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestListPages" name="test_regional_user_sees_no_central_only" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestListPages" name="test_category_filter" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestListPages" name="test_unknown_role_defaults_to_flat" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_direct_label_match_wins" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_social_feed_keyword" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_model_management_requires_central" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_channels_page" time="0.010" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_no_match_returns_empty" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_empty_query_returns_empty" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_top_k_caps_results" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_scores_are_positive" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestResolvePage" name="test_scores_are_sorted_descending" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageToUiAction" name="test_shape_contains_required_fields" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageToUiAction" name="test_type_is_navigate" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestPageToUiAction" name="test_all_pages_serialize" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_happy_path_social" time="0.002" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_happy_path_admin_for_central" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_admin_hidden_for_flat" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_no_match_returns_hint" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_empty_input_returns_hint" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_none_input_returns_hint" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_handler_works_without_thread_local" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestNavigateAppHandler" name="test_runner_ups_appear_in_message" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestJsonPayload" name="test_returns_valid_json" time="0.001" /><testcase classname="tests.unit.test_ui_actions.TestJsonPayload" name="test_central_sees_more_pages_than_flat" time="0.001" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_navigate_requires_user_id" time="0.003" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_navigate_requires_screen" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_overlay_show_requires_user_id" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_overlay_show_rejects_non_dict_layout" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_overlay_show_rejects_layout_without_type" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestInputValidation" name="test_ui_overlay_dismiss_requires_user_id" time="0.004" /><testcase classname="tests.unit.test_ui_commands.TestTopicSelection" name="test_ui_navigate_with_device_id_uses_per_device_topic" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestTopicSelection" name="test_ui_navigate_without_device_id_uses_user_fanout_topic" time="0.011" /><testcase classname="tests.unit.test_ui_commands.TestTopicSelection" name="test_ui_overlay_show_with_device_id_uses_per_device_topic" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestTopicSelection" name="test_ui_overlay_dismiss_without_device_id_uses_user_fanout_topic" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_navigate_payload_has_cmd_type_key" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_overlay_show_payload_has_cmd_type_key" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_overlay_dismiss_payload_has_cmd_type_key" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_payload_includes_generated_command_id" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_payload_uses_caller_supplied_command_id" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_navigate_payload_carries_screen_and_params" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_overlay_show_payload_carries_layout_data_agent_name" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestPayloadShape" name="test_ui_overlay_show_defaults_agent_name" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestReturnValues" name="test_returns_command_id_on_success" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestReturnValues" name="test_returns_none_on_publish_failure" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestReturnValues" name="test_overlay_show_returns_none_on_publish_failure" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestReturnValues" name="test_overlay_dismiss_returns_none_on_publish_failure" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestRouting" name="test_publish_passes_user_id_as_kwarg" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestRouting" name="test_publish_passes_device_id_as_kwarg" time="0.002" /><testcase classname="tests.unit.test_ui_commands.TestCmdTypeConstants" name="test_cmd_type_constants_exported" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeGoalTypeRegistered" name="test_upgrade_type_registered" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeGoalTypeRegistered" name="test_upgrade_prompt_builder_exists" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeGoalTypeRegistered" name="test_upgrade_prompt_builder_output" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeGoalTypeRegistered" name="test_upgrade_tool_tags" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeToolsExist" name="test_tool_count" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeToolsExist" name="test_tool_names" time="0.009" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeToolsExist" name="test_check_upgrade_status_calls_orchestrator" time="0.002" /><testcase classname="tests.unit.test_upgrade_pipeline.TestUpgradeToolsExist" name="test_start_upgrade_returns_result" time="0.002" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_start_upgrade_sets_building" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_cannot_start_while_active" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_advance_from_building" time="0.002" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_advance_failure_sets_failed" time="0.002" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_rollback_from_canary" time="0.003" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_stage_order_is_correct" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOrchestratorStages" name="test_get_status_returns_dict" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestBenchmarkDirFix" name="test_benchmark_dir_defined" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestBenchmarkDirFix" name="test_benchmark_dir_matches_registry" time="0.001" /><testcase classname="tests.unit.test_upgrade_pipeline.TestHevolveAIBenchmarkGate" name="test_benchmark_passes_when_wm_healthy" time="0.005" /><testcase classname="tests.unit.test_upgrade_pipeline.TestHevolveAIBenchmarkGate" name="test_benchmark_fails_when_wm_unhealthy" time="0.004" /><testcase classname="tests.unit.test_upgrade_pipeline.TestHevolveAIBenchmarkGate" name="test_benchmark_fails_on_low_flush_rate" time="0.004" /><testcase classname="tests.unit.test_upgrade_pipeline.TestHevolveAIBenchmarkGate" name="test_benchmark_passes_when_wm_unavailable" time="0.003" /><testcase classname="tests.unit.test_upgrade_pipeline.TestGossipBeaconVersion" name="test_self_info_includes_current_version" time="0.099" /><testcase classname="tests.unit.test_upgrade_pipeline.TestGossipBeaconVersion" name="test_self_info_no_available_version_when_idle" time="0.103" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOTAOrchestratedUpgrade" name="test_run_orchestrated_upgrade_method_exists" time="0.020" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOTAOrchestratedUpgrade" name="test_orchestrated_upgrade_passes_on_completion" time="0.006" /><testcase classname="tests.unit.test_upgrade_pipeline.TestOTAOrchestratedUpgrade" name="test_orchestrated_upgrade_fails_on_pipeline_failure" time="0.005" /><testcase classname="tests.unit.test_upgrade_pipeline.TestPeerWitnessPostUpdate" name="test_verify_post_update_unknown_peer" time="0.114" /><testcase classname="tests.unit.test_upgrade_pipeline.TestPeerWitnessPostUpdate" name="test_verify_post_update_known_peer" time="0.119" /><testcase classname="tests.unit.test_upgrade_pipeline.TestPeerWitnessPostUpdate" name="test_verify_post_update_guardrail_mismatch" time="0.119" /><testcase classname="tests.unit.test_upgrade_pipeline.TestFullPipelineSmokeTest" name="test_full_pipeline_all_stages_pass" time="0.010" /><testcase classname="tests.unit.test_upgrade_pipeline.TestFullPipelineSmokeTest" name="test_pipeline_fails_and_recovers" time="0.005" /><testcase classname="tests.unit.test_user_context.TestNoPythonSideClassifier" name="test_get_user_context_signature_has_no_query_param" time="0.009" /><testcase classname="tests.unit.test_user_context.TestNoPythonSideClassifier" name="test_module_has_no_greeting_classifier_symbols" time="0.002" /><testcase classname="tests.unit.test_user_context.TestUserContextCache" name="test_get_miss_returns_none" time="0.001" /><testcase classname="tests.unit.test_user_context.TestUserContextCache" name="test_invalidate_all_modes" time="0.001" /><testcase classname="tests.unit.test_user_context.TestUserContextCache" name="test_invalidate_single_mode" time="0.001" /><testcase classname="tests.unit.test_user_context.TestUserContextCache" name="test_separate_keys_per_mode" time="0.001" /><testcase classname="tests.unit.test_user_context.TestUserContextCache" name="test_singleton_accessor" time="0.001" /><testcase classname="tests.unit.test_user_context.TestFormatters" name="test_rich_empty_still_has_datetime_hint" time="0.017" /><testcase classname="tests.unit.test_user_context.TestFormatters" name="test_rich_excludes_unwanted" time="0.002" /><testcase classname="tests.unit.test_user_context.TestFormatters" name="test_rich_includes_datetime_hint" time="0.001" /><testcase classname="tests.unit.test_user_context.TestFormatters" name="test_simple_empty_returns_placeholder" time="0.001" /><testcase classname="tests.unit.test_user_context.TestFormatters" name="test_simple_excludes_unwanted" time="0.001" /><testcase classname="tests.unit.test_user_context.TestProfileFormatter" name="test_empty_profile" time="0.001" /><testcase classname="tests.unit.test_user_context.TestProfileFormatter" name="test_full_profile" time="0.001" /><testcase classname="tests.unit.test_user_context.TestProfileFormatter" name="test_guest_profile_missing_fields" time="0.001" /><testcase classname="tests.unit.test_user_context.TestProfileFormatter" name="test_none_profile" time="0.001" /><testcase classname="tests.unit.test_user_context.TestProfileFormatter" name="test_simple_mode_shorter" time="0.001" /><testcase classname="tests.unit.test_user_context.TestGetUserContextOrchestration" name="test_budget_timeout_returns_defaults" time="0.503" /><testcase classname="tests.unit.test_user_context.TestGetUserContextOrchestration" name="test_cache_hit_skips_http" time="0.103" /><testcase classname="tests.unit.test_user_context.TestGetUserContextOrchestration" name="test_create_vs_reuse_mode_different_output" time="0.002" /><testcase classname="tests.unit.test_user_context.TestGetUserContextOrchestration" name="test_fresh_fetch_calls_both_http_functions" time="0.002" /><testcase classname="tests.unit.test_user_context.TestGetUserContextOrchestration" name="test_invalidate_forces_refetch" time="0.204" /><testcase classname="tests.unit.test_user_context.TestCheapDefaults" name="test_create_defaults_simpler" time="0.010" /><testcase classname="tests.unit.test_user_context.TestCheapDefaults" name="test_reuse_defaults_include_datetime" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestGoalSeedingScenario" name="test_seed_goals_defined" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestGoalSeedingScenario" name="test_each_goal_has_slug" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestGoalSeedingScenario" name="test_no_duplicate_slugs" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestGoalSeedingScenario" name="test_each_goal_has_type_and_budget" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestDaemonDispatchScenario" name="test_dispatch_generates_deterministic_prompt_id" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestDaemonDispatchScenario" name="test_user_priority_gate" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestCulturalWisdomScenario" name="test_prompt_is_non_trivial" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestCulturalWisdomScenario" name="test_compact_prompt_exists" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestCulturalWisdomScenario" name="test_guardian_values_immutable" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestCulturalWisdomScenario" name="test_proactive_behavior_prompt" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestSecurityPipelineScenario" name="test_injection_blocked_before_llm" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestSecurityPipelineScenario" name="test_safe_input_passes" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestSecurityPipelineScenario" name="test_sanitized_input_has_delimiters" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestSecurityPipelineScenario" name="test_hardening_appended_to_system_prompt" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestActionLifecycleScenario" name="test_action_starts_at_1" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestActionLifecycleScenario" name="test_action_get_first" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestActionLifecycleScenario" name="test_action_advance" time="0.001" /><testcase classname="tests.unit.test_user_scenarios.TestActionLifecycleScenario" name="test_action_out_of_range_raises" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_single_short_sentence" time="0.001"><skipped type="pytest.skip" message="NLTK punkt tokenizer not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_video_orchestrator.py:28: NLTK punkt tokenizer not available</skipped></testcase><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_multiple_sentences_merge_short" time="0.028" /><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_long_sentences_split" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_empty_text" time="0.001"><skipped type="pytest.skip" message="NLTK punkt tokenizer not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_video_orchestrator.py:28: NLTK punkt tokenizer not available</skipped></testcase><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_no_punctuation" time="0.001"><skipped type="pytest.skip" message="NLTK punkt tokenizer not available">/home/runner/work/HARTOS/HARTOS/tests/unit/test_video_orchestrator.py:28: NLTK punkt tokenizer not available</skipped></testcase><testcase classname="tests.unit.test_video_orchestrator.TestTextChunking" name="test_merge_trailing_short_chunk" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestQueueETA" name="test_empty_queue" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestQueueETA" name="test_busy_queue" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestQueueETA" name="test_hard_limit_exceeds_soft" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestQueueETA" name="test_audio_duration_estimate" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestQueueETA" name="test_audio_duration_minimum" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_valid_request" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_missing_text_and_audio" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_missing_image_and_avatar" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_bool_coercion" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_defaults" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_uid_generation" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoGenRequest" name="test_publish_id_defaults_to_user_id" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_singleton" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_generate_invalid_request" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_generate_accepted" time="0.002" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_queue_depth_tracks_active_jobs" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_get_stats" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestVideoOrchestrator" name="test_hallo_duration_constraint" time="0.002" /><testcase classname="tests.unit.test_video_orchestrator.TestAssetManagement" name="test_cache_key_deterministic" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestAssetManagement" name="test_cache_key_unique" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestAssetManagement" name="test_download_empty_url" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestSubtaskDispatch" name="test_no_backend_returns_error" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestSubtaskDispatch" name="test_parallel_dispatch_returns_correct_count" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestPublishing" name="test_publish_chunk_no_crash_without_crossbar" time="0.001" /><testcase classname="tests.unit.test_video_orchestrator.TestPublishing" name="test_publish_status_no_crash" time="0.003" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_put_get_frame" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_get_frame_none_for_unknown_user" time="0.010" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_frame_fifo_bounded" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_put_get_description" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_description_ttl_expiry" time="0.151" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_description_none_for_unknown" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_clear_user" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_active_users" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_stats" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStore" name="test_thread_safety" time="0.004" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_put_get_screen_frame" time="0.019" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_screen_frame_none_for_unknown" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_put_get_screen_description" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_screen_description_shorter_ttl" time="0.151" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_camera_desc_survives_longer_than_screen" time="0.151" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_screen_and_camera_independent" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_active_users_union_of_channels" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_clear_user_clears_both_channels" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_stats_includes_both_channels" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_screen_description_history" time="0.021" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_camera_description_history" time="0.011" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameStoreScreenChannel" name="test_history_respects_max_age" time="0.151" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_describe_screen_frame_stores_and_returns" time="0.082" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_describe_screen_frame_skips_when_circuit_open" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_describe_screen_frame_skips_when_not_running" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_describe_screen_frame_stores_screen_frame" time="0.008" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_describe_screen_posts_to_db_as_screen_context" time="0.004" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionServiceScreenDescribe" name="test_get_screen_description_delegates" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_default_model_dir" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_is_installed_false_when_no_dir" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_is_installed_true_when_config_exists" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_detect_gpu_returns_bool" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_install_skips_if_already_installed" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_install_calls_snapshot_download" time="0.006" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_uninstall_removes_dir" time="0.019" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_get_status_structure" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestMiniCPMInstaller" name="test_get_model_dir_none_when_not_installed" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_init_creates_frame_store" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_custom_frame_store" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_get_frame_delegates_to_store" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_get_description_delegates_to_store" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_start_sets_running" time="0.007" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_start_without_gpu_stays_stopped" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_stop_terminates_process" time="0.003" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_double_start_warns" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_circuit_breaker_opens_after_max_failures" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_health_check_resets_failures" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_health_check_increments_failures" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_get_status_structure" time="0.004" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_describe_frame_success" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_describe_frame_failure_increments_failures" time="0.004" /><testcase classname="tests.unit.test_vision_sidecar.TestVisionService" name="test_describe_frame_skips_when_circuit_open" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameDifference" name="test_identical_frames_zero_diff" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameDifference" name="test_opposite_frames_high_diff" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameDifference" name="test_decode_jpeg_valid" time="0.017" /><testcase classname="tests.unit.test_vision_sidecar.TestFrameDifference" name="test_decode_jpeg_invalid_returns_none" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_first_frame_always_described" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_identical_frame_skipped_within_interval" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_different_frame_described_after_interval" time="0.061" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_static_scene_backs_off_interval" time="0.061" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_scene_change_resets_interval" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_separate_channels_independent" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestIntelligentSampling" name="test_skip_counter_increments" time="0.004" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_trigger_type_enum_exists" time="0.044" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_register_visual_trigger_creates_trigger_manager" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_visual_trigger_fires_on_keyword_match" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_visual_trigger_no_fire_on_no_match" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_screen_trigger_fires_separately" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_visual_trigger_with_regex_pattern" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_visual_trigger_cooldown" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_visual_trigger_with_conditions" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_vision_service_evaluate_delegates_to_manager" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_evaluate_triggers_skips_when_no_manager" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestVisualTriggers" name="test_trigger_manager_stats_include_visual" time="0.001" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_returns_matching_camera_results" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_returns_screen_results" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_both_channels" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_no_matches_returns_none" time="0.003" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_api_failure_returns_none" time="0.002" /><testcase classname="tests.unit.test_vision_sidecar.TestSearchVisualHistory" name="test_search_network_error_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier1_success_returns_result" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier1_failure_increments_circuit_breaker" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier1_circuit_breaker_trips_after_threshold" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier1_success_resets_fail_count" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier2_runs_when_flat_and_tier1_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier2_circuit_breaker_trips" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier2_failure_increments_counter" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier3_returns_none_for_central_mode" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_tier3_returns_none_for_regional_mode" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestExecuteVlmInstruction" name="test_full_fallback_chain" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestCheckVlmAvailable" name="test_returns_true_when_pyautogui_present" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestCheckVlmAvailable" name="test_returns_true_for_central_without_pyautogui" time="0.010" /><testcase classname="tests.unit.test_vlm_adapter.TestCheckVlmAvailable" name="test_flat_mode_probes_local_services" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestCheckVlmAvailable" name="test_flat_mode_returns_true_even_when_probe_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_returns_true_when_both_services_up" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_returns_false_when_service_down" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_returns_false_when_service_500" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_caches_result" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_cache_expires_after_ttl" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestProbeLocalServices" name="test_probe_uses_custom_ports_from_env" time="0.003" /><testcase classname="tests.unit.test_vlm_adapter.TestResetCircuitBreakers" name="test_resets_tier1_counter" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestResetCircuitBreakers" name="test_resets_tier2_counter" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestResetCircuitBreakers" name="test_resets_probe_cache" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestThreadSafety" name="test_concurrent_tier1_failures_count_correctly" time="0.049" /><testcase classname="tests.unit.test_vlm_adapter.TestModuleConstants" name="test_fail_threshold_is_reasonable" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestModuleConstants" name="test_probe_ttl_is_positive" time="0.001" /><testcase classname="tests.unit.test_vlm_adapter.TestModuleConstants" name="test_probe_ttl_not_too_long" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestVLMAgentContextInit" name="test_default_urls_from_env" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestVLMAgentContextInit" name="test_explicit_urls_override_env" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestVLMAgentContextInit" name="test_histories_start_empty" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestVLMAgentContextInit" name="test_default_ports_without_env" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsVlmAvailable" name="test_returns_true_when_health_200" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsVlmAvailable" name="test_returns_false_when_health_500" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsVlmAvailable" name="test_returns_false_on_connection_error" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsVlmAvailable" name="test_returns_false_on_timeout" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsOmniparserAvailable" name="test_returns_true_when_probe_200" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestIsOmniparserAvailable" name="test_returns_false_on_network_error" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_returns_none_when_omniparser_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_returns_screen_data_on_success" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_appends_to_screen_history" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_screen_history_capped_at_10" time="0.003" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_returns_none_on_http_error" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetScreenContext" name="test_returns_none_on_exception" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestInjectVisualContext" name="test_injects_visual_context_when_available" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestInjectVisualContext" name="test_injects_unavailable_note_when_no_context" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestInjectVisualContext" name="test_preserves_existing_task_context" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestInjectVisualContext" name="test_screen_summary_truncated_to_500_chars" time="0.010" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_returns_error_when_vlm_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_successful_action_returns_result" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_action_appended_to_history" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_action_history_capped_at_50" time="0.005" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_http_error_returns_error_dict" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_network_exception_returns_error" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestExecuteVlmAction" name="test_default_parameters_empty_dict" time="0.002" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVisualFeedback" name="test_unavailable_message_when_no_context" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVisualFeedback" name="test_includes_task_description" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVisualFeedback" name="test_includes_element_count" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVisualFeedback" name="test_includes_recent_actions" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVisualFeedback" name="test_screen_info_truncated_in_feedback" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestCreateVlmEnabledTool" name="test_tool_has_correct_name" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestCreateVlmEnabledTool" name="test_tool_has_action_enum" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestCreateVlmEnabledTool" name="test_tool_type_is_function" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestCreateVlmEnabledTool" name="test_action_is_required" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetStatusSummary" name="test_all_keys_present" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetStatusSummary" name="test_empty_history_defaults" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetStatusSummary" name="test_reflects_history_after_actions" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVlmContext" name="test_returns_same_instance" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVlmContext" name="test_creates_new_after_reset" time="0.001" /><testcase classname="tests.unit.test_vlm_agent_integration.TestGetVlmContext" name="test_passes_urls_on_first_creation" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_all_fail_falls_back_to_raw_avg" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_avg_time_uses_all_items" time="0.019" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_exact_count_threshold_30" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_fail_excluded_from_avg_but_counted" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_groups_by_key" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestSummarizeBucket" name="test_missing_key_skipped" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestStrategyAttribution" name="test_missing_strategy_defaults_to_qmark" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestStrategyAttribution" name="test_records_per_target_method_strategy" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_avg_err_above_threshold_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_avg_err_within_threshold_passes" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_avg_time_above_threshold_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_avg_time_within_threshold_passes" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_exact_decrease_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_fail_increase_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_missing_bucket_in_current_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_no_regression_when_better" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_no_regression_when_identical" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareBuckets" name="test_threshold_overrides_propagate" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareAttribution" name="test_missing_target_in_current_skipped" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareAttribution" name="test_no_regression_when_strategies_match" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareAttribution" name="test_silent_strategy_swap_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareRouterDecisions" name="test_missing_task_in_current_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareRouterDecisions" name="test_new_task_failing_flagged" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareRouterDecisions" name="test_new_task_passing_not_flagged" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareRouterDecisions" name="test_no_regression_when_routes_match" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestCompareRouterDecisions" name="test_silent_route_drift_fails" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestRenderBaselineMd" name="test_handles_missing_optional_fields" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestRenderBaselineMd" name="test_renders_method_section" time="0.001" /><testcase classname="tests.unit.test_vlm_gate.TestRenderBaselineMd" name="test_renders_strategy_section" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_parses_clean_json" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_parses_json_in_code_block" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_parses_json_in_bare_code_block" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_parses_json_with_surrounding_text" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_empty_string_returns_done" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_none_input_returns_done" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_unparseable_text_returns_done_with_reasoning" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_malformed_json_in_code_block_falls_through" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_nested_json_objects" time="0.019" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_json_with_reasoning_field" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_json_with_box_id" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_json_with_command_field_for_shell" time="0.001"><failure message="KeyError: 'command'">tests/unit/test_vlm_local_loop.py:106: in test_json_with_command_field_for_shell
    assert result["command"] == "notepad.exe"
           ^^^^^^^^^^^^^^^^^
E   KeyError: 'command'</failure></testcase><testcase classname="tests.unit.test_vlm_local_loop.TestParseVlmResponse" name="test_json_with_path_field_for_open_file_gui" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_basic_click_action" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_type_action_with_text" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_box_id_resolves_to_coordinate" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_box_id_with_id_field" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_box_id_not_found_leaves_no_coordinate" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_explicit_coordinate_takes_precedence_over_box_id" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_shell_action_passes_command" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_open_file_gui_passes_path" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_write_file_passes_content" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_no_extra_keys_when_not_present" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildActionPayload" name="test_empty_parsed_content_list" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildVisionPrompt" name="test_first_iteration_prompt" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildVisionPrompt" name="test_subsequent_iteration_prompt" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildVisionPrompt" name="test_includes_image" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestBuildVisionPrompt" name="test_image_is_base64_data_url" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_max_iterations_positive" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_system_prompt_contains_os_name" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_system_prompt_contains_json_format" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_system_prompt_mentions_done_status" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_action_list_has_gui_actions" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestModuleConstants" name="test_action_list_has_deterministic_actions" time="0.001" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_completes_on_done_action" time="0.013" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_stops_at_max_iterations" time="0.005" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_stops_on_eta_timeout" time="0.003" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_stops_after_3_consecutive_action_errors" time="0.004" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_stops_after_3_consecutive_exceptions" time="0.004" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_execution_time_tracked" time="0.003" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_extracted_responses_include_iteration_number" time="0.004" /><testcase classname="tests.unit.test_vlm_local_loop.TestRunLocalAgenticLoop" name="test_uses_enhanced_instruction_when_provided" time="0.003" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestPlatformDetection" name="test_desktop_default" time="0.005" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestPlatformDetection" name="test_force_android_via_env" time="0.002" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestPlatformDetection" name="test_force_ios_via_env" time="0.002" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestIosStubs" name="test_capture_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestIosStubs" name="test_dispatch_action_returns_unsupported" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestIosStubs" name="test_get_node_tree_returns_unsupported" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestIosStubs" name="test_list_windows_returns_unsupported_marker" time="0.009" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestAndroidClient" name="test_capture_decodes_base64_response" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestAndroidClient" name="test_dispatch_action_payload_shape" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestAndroidClient" name="test_no_peer_dispatch_on_desktop_returns_empty" time="0.002" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestAndroidClient" name="test_peer_dispatch_called_with_compute_channel" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestAndroidClient" name="test_peer_dispatch_failure_returns_empty" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_hive_preference_uses_paired_peer_first" time="0.002" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_hybrid_falls_back_to_peer_when_local_down" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_hybrid_includes_cloud_when_local_available" time="0.002" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_local_only_no_route_when_local_down" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_local_only_uses_local_when_available" time="0.001" /><testcase classname="tests.unit.test_vlm_mobile_p2p.TestDispatchInference" name="test_no_peer_no_local_no_cloud_returns_no_route" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_code_block_json" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_code_block_no_lang_tag" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_depth_counted_nested_objects" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_empty_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_malformed_json_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_raw_brace_match" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestExtractJson" name="test_unparseable_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_action_normalized_to_lowercase_underscore" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_box_id_preserved" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_done_status_sets_done_flag" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_empty_input_falls_back_to_done" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_unparseable_input_falls_back_to_done" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_value_field_becomes_text" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionJsonShape" name="test_well_formed_json_parsed" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionSomShape" name="test_action_json_shape_does_not_extract_ui_elements" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionSomShape" name="test_ui_elements_extracted" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionSomShape" name="test_unparseable_som_falls_back" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_done_marker_returns_done_action" time="0.011" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_number_pair_fallback" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_point_marker_extracts_coords" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_scroll_down_from_task_keyword" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_type_freetext_extracts_text" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_type_freetext_skipped_when_point_present" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_type_prefix_extracts_text" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_unknown_shape_raises" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParseVlmActionPointShape" name="test_unparseable_point_returns_none_action" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParsedActionBackCompat" name="test_to_action_json_dict_empty_input" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParsedActionBackCompat" name="test_to_action_json_dict_required_keys" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParsedActionBackCompat" name="test_to_point_action_dict_done" time="0.001" /><testcase classname="tests.unit.test_vlm_parser.TestParsedActionBackCompat" name="test_to_point_action_dict_required_keys" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendSingleton" name="test_singleton_pattern" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendSingleton" name="test_singleton_creates_instance" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendParseAndReason" name="test_parse_and_reason_basic" time="0.045" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendParseAndReason" name="test_parse_and_reason_with_normalized_coordinates" time="0.051" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendParseAndReason" name="test_parse_screen_omniparser_compat" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendParseAndReason" name="test_describe_scene" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBackendParseAndReason" name="test_describe_scene_custom_prompt" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLResponseParsing" name="test_parse_response_json_in_markdown" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLResponseParsing" name="test_parse_response_raw_json" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLResponseParsing" name="test_parse_response_malformed" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLResponseParsing" name="test_parse_response_json_with_prefix_text" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLResponseParsing" name="test_parse_response_nested_json" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_coordinate_normalization_detected" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_coordinate_normalization_not_detected_for_small_image" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_coordinate_normalization_not_detected_when_exceeds_1000" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_normalize_bbox_conversion" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_normalize_bbox_zero_origin" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_is_normalized_1000_empty_bbox" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLCoordinateNormalization" name="test_is_normalized_1000_short_bbox" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBoxIdResolution" name="test_box_id_to_coordinate_resolution" time="0.045" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLBoxIdResolution" name="test_box_id_no_match_leaves_coordinate_none" time="0.045" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLApiCall" name="test_api_call_timeout" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLApiCall" name="test_api_call_error_handling" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLApiCall" name="test_api_call_http_500" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLConfiguration" name="test_env_var_configuration" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLConfiguration" name="test_env_var_fallback_to_llm_config" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLConfiguration" name="test_env_var_defaults" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLConfiguration" name="test_constructor_overrides_env" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLImageDimensions" name="test_image_dimensions_from_pil" time="0.043" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLImageDimensions" name="test_image_dimensions_fallback" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLHistory" name="test_history_passed_to_api" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLHistory" name="test_no_history_works" time="0.054" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextSingleton" name="test_vlm_context_singleton" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextAvailability" name="test_is_vlm_available_true" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextAvailability" name="test_is_vlm_available_false_on_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextAvailability" name="test_is_omniparser_available_true" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextAvailability" name="test_is_omniparser_available_false" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextScreenContext" name="test_get_screen_context" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextScreenContext" name="test_get_screen_context_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextActions" name="test_inject_visual_context" time="0.004" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextActions" name="test_inject_visual_context_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextActions" name="test_execute_vlm_action" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextActions" name="test_execute_vlm_action_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextWindowsCommandRemoved" name="test_execute_windows_command_does_not_exist" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextWindowsCommandRemoved" name="test_no_per_os_command_methods" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextHistory" name="test_action_history_limit" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextHistory" name="test_screen_history_limit" time="0.004" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextFeedbackAndTools" name="test_get_visual_feedback" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextFeedbackAndTools" name="test_get_visual_feedback_unavailable" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextFeedbackAndTools" name="test_create_vlm_enabled_tool" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAgentContextFeedbackAndTools" name="test_status_summary" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterTierSelection" name="test_adapter_tier1_when_pyautogui_available" time="0.020" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterTierSelection" name="test_adapter_tier2_flat_mode" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterTierSelection" name="test_adapter_tier3_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterCircuitBreaker" name="test_adapter_circuit_breaker" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterCircuitBreaker" name="test_adapter_circuit_breaker_resets_on_success" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterCircuitBreaker" name="test_reset_circuit_breakers" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterFallbackChain" name="test_adapter_fallback_chain" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterFallbackChain" name="test_adapter_all_tiers_fail" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterAvailabilityCheck" name="test_available_with_pyautogui" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterAvailabilityCheck" name="test_available_flat_mode_services_up" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterAvailabilityCheck" name="test_available_central_mode_always_true" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterProbeCache" name="test_probe_cache_ttl" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMAdapterProbeCache" name="test_probe_cache_expired" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLReplacesOmniParserPipeline" name="test_qwen3vl_replaces_omniparser_pipeline" time="0.048" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQwen3VLReplacesOmniParserPipeline" name="test_parse_screen_also_single_call" time="0.058" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestFullActionLoop" name="test_full_action_loop" time="0.020" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestFullActionLoop" name="test_full_loop_eta_timeout" time="0.004" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestFullActionLoop" name="test_full_loop_error_recovery" time="0.007" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_payload_includes_command" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_payload_includes_path" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_is_in_supported_actions" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_delegates_to_shell_command_handler" time="0.003"><failure message="AssertionError: Expected '_handle_shell_command_tool' to be called once. Called 0 times.">tests/unit/test_vlm_qwen3vl.py:1501: in test_shell_action_delegates_to_shell_command_handler
    mock_handler.assert_called_once_with('echo hi')
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/unittest/mock.py:950: in assert_called_once_with
    raise AssertionError(msg)
E   AssertionError: Expected '_handle_shell_command_tool' to be called once. Called 0 times.</failure></testcase><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_missing_command_returns_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_nonzero_exit_is_error" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_denylist_refusal_is_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_shell_action_fails_closed_on_import_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_empty_path_returns_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_windows_happy_path_calls_startfile" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_windows_oserror_surfaces_error" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_macos_routes_through_shell_handler" time="0.055"><failure message="AssertionError: Expected '_handle_shell_command_tool' to have been called once. Called 0 times.">tests/unit/test_vlm_qwen3vl.py:1606: in test_open_file_gui_macos_routes_through_shell_handler
    mock_handler.assert_called_once()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/unittest/mock.py:918: in assert_called_once
    raise AssertionError(msg)
E   AssertionError: Expected '_handle_shell_command_tool' to have been called once. Called 0 times.</failure></testcase><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_linux_routes_through_xdg_open" time="0.016"><failure message="AssertionError: Expected '_handle_shell_command_tool' to have been called once. Called 0 times.">tests/unit/test_vlm_qwen3vl.py:1621: in test_open_file_gui_linux_routes_through_xdg_open
    mock_handler.assert_called_once()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/unittest/mock.py:918: in assert_called_once
    raise AssertionError(msg)
E   AssertionError: Expected '_handle_shell_command_tool' to have been called once. Called 0 times.</failure></testcase><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_open_file_gui_nonwindows_fails_closed_on_import_error" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestVLMDeterministicActions" name="test_vlm_action_list_shared_by_legacy_and_unified" time="0.011" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointAndActBottomEdgeRetry" name="test_bottom_edge_coords_trigger_retry" time="0.057" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointAndActBottomEdgeRetry" name="test_bottom_edge_ok_for_taskbar_task" time="0.049" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_click_start_button_routes_single_shot" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_tap_play_button_routes_single_shot" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_point_to_x_routes_single_shot" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_press_enter_routes_single_shot" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_empty_task_routes_single_shot" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_list_all_clickable_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_whats_on_screen_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_what_is_on_the_screen_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_show_me_all_buttons_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_find_all_links_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_enumerate_keyword_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_every_clickable_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_how_many_buttons_routes_enumerate" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_open_then_click_routes_multi_step" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_open_app_and_play_routes_multi_step" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_navigate_to_routes_multi_step" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_fill_in_form_routes_multi_step" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_step_marker_routes_multi_step" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_then_click_routes_multi_step" time="0.010" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_specialist_does_not_trip_list_pattern" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestRouteTaskHeuristic" name="test_then_inside_word_does_not_trip" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestDispatchGrounding" name="test_single_shot_route_calls_point_and_act" time="0.046" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestDispatchGrounding" name="test_enumerate_route_calls_parse_and_reason" time="0.047" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestDispatchGrounding" name="test_multi_step_route_returns_sentinel" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestDispatchGrounding" name="test_explicit_route_override" time="0.044" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_supported_actions_set" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_wait_action" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_list_files_action" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_read_file_action" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_write_file_action" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_unknown_action" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_take_screenshot_http" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalComputerTool" name="test_execute_action_http" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalOmniParser" name="test_parse_http_success" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalOmniParser" name="test_parse_http_fallback" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalOmniParser" name="test_parse_screen_routes_by_tier" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_parse_vlm_response_json" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_parse_vlm_response_code_block" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_parse_vlm_response_malformed_fallback" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_build_action_payload_with_coordinate" time="0.005" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_build_action_payload_resolves_box_id" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_build_action_payload_passes_file_keys" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_build_vision_prompt_first_iteration" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestLocalLoopHelpers" name="test_build_vision_prompt_subsequent_iteration" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecuteActionBackCompat" name="test_no_kwargs_calls_inprocess_unchanged" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_destroyed_window_returns_early" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_zero_size_window_returns_offscreen" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_minimized_window_skip_policy_returns_early" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_minimized_window_foreground_policy_brings_forward" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_window_local_coord_translated_to_screen" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_norm_coord_corner_translated_correctly" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPrepareWindowForAction" name="test_screen_pixel_coord_left_alone" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQuickImageDiff" name="test_identical_images_diff_zero" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQuickImageDiff" name="test_completely_different_images_diff_high" time="0.005" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestQuickImageDiff" name="test_invalid_input_returns_zero" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPostClickVerifyRetry" name="test_no_change_triggers_nudge_retry" time="0.005" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPostClickVerifyRetry" name="test_visible_change_no_retry" time="0.040" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPostClickVerifyRetry" name="test_diff_just_below_threshold_retries" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPostClickVerifyRetry" name="test_diff_just_above_threshold_does_not_retry" time="0.003" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecuteActionWindowHandleEdgeCases" name="test_window_handle_with_no_coordinate_succeeds" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecuteActionWindowHandleEdgeCases" name="test_window_handle_preserves_action_text_field" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestCheckReasoningMismatch" name="test_no_reasoning_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestCheckReasoningMismatch" name="test_reasoning_without_window_verb_skips_probe" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestCheckReasoningMismatch" name="test_mobaxt_mismatch_detected" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestCheckReasoningMismatch" name="test_mobaxt_match_no_mismatch" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestCheckReasoningMismatch" name="test_extending_pattern_list_works" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointActionToActionJson" name="test_basic_left_click_conversion" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointActionToActionJson" name="test_done_status_propagates" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointActionToActionJson" name="test_text_field_propagates_to_value" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointActionToActionJson" name="test_missing_strategy_defaults_to_taskbar_list" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestPointActionToActionJson" name="test_empty_input_safe" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExtractClickCoord" name="test_point_tag_in_raw_wins" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExtractClickCoord" name="test_action_json_coordinate_when_no_point_tag" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExtractClickCoord" name="test_center_fallback_when_neither_present" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExtractClickCoord" name="test_none_coord_in_action_json_falls_back_to_center" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecTestRectParser" name="test_well_formed_rect_parses" time="0.002" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecTestRectParser" name="test_three_value_rect_raises_unpacking" time="0.001" /><testcase classname="tests.unit.test_vlm_qwen3vl.TestExecTestRectParser" name="test_non_numeric_rect_raises" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestSessionGuard" name="test_reset_clears_counters" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestSessionGuard" name="test_session_cap_blocks_at_limit" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestSessionGuard" name="test_throttle_blocks_above_per_second_limit" time="0.019" /><testcase classname="tests.unit.test_vlm_safety.TestSessionGuard" name="test_throttle_clears_after_window" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestSessionGuard" name="test_under_limit_returns_none" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_blocked_banking_title" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_blocked_password_change_title" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_blocked_password_manager" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_blocked_process_full_path" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_blocked_process_lsass" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_custom_blocklist_extends_defaults" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_no_window_meta_passes" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_unblocked_normal_process" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestWindowBlocklist" name="test_unblocked_normal_title" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestAuditLogger" name="test_audit_dir_create_failure_disables_logger" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestAuditLogger" name="test_block_reason_recorded" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestAuditLogger" name="test_log_creates_jsonl_file" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestAuditLogger" name="test_log_disabled_writes_nothing" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestAuditLogger" name="test_log_record_has_required_fields" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestExecuteActionSafetyIntegration" name="test_blocked_window_refuses_with_safety" time="0.002" /><testcase classname="tests.unit.test_vlm_safety.TestExecuteActionSafetyIntegration" name="test_safety_off_unchanged_behavior" time="0.001" /><testcase classname="tests.unit.test_vlm_safety.TestExecuteActionSafetyIntegration" name="test_session_cap_blocks_after_limit" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceSpeakEndpoint" name="test_speak_delegates_to_router" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceSpeakEndpoint" name="test_speak_returns_audio_url" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceSpeakEndpoint" name="test_speak_accepts_engine_override" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceSpeakEndpoint" name="test_speak_accepts_source" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceEnginesEndpoint" name="test_engines_returns_list" time="0.002" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceAudioEndpoint" name="test_basename_extraction" time="0.001" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceAudioEndpoint" name="test_normal_filename_passes" time="0.001" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceAudioEndpoint" name="test_dotdot_in_filename_rejected" time="0.018" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceCloneEndpoint" name="test_clone_routes_default_to_luxtts" time="0.001" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceCloneEndpoint" name="test_clone_routes_pocket_when_specified" time="0.001" /><testcase classname="tests.unit.test_voice_endpoints.TestVoiceVoicesEndpoint" name="test_voices_aggregates" time="0.002" /><testcase classname="tests.unit.test_voice_profile_migration" name="test_v37_migration_adds_voice_profile_column" time="0.350"><failure message="AssertionError: v37 migration regressed: ALTER TABLE users ADD COLUMN voice_profile is gone&#10;assert 'voice_profile' in []">tests/unit/test_voice_profile_migration.py:110: in test_v37_migration_adds_voice_profile_column
    assert 'voice_profile' in cols_after, (
E   AssertionError: v37 migration regressed: ALTER TABLE users ADD COLUMN voice_profile is gone
E   assert 'voice_profile' in []</failure></testcase><testcase classname="tests.unit.test_voice_profile_migration" name="test_user_query_does_not_raise_after_migration" time="0.364"><failure message="sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users&#10;[SQL: SELECT users.id AS users_id, users.username AS users_username, users.display_name AS users_display_name, users.email AS users_email, users.password_hash AS users_password_hash, users.bio AS users_bio, users.avatar_url AS users_avatar_url, users.user_type AS users_user_type, users.agent_id AS users_agent_id, users.api_token AS users_api_token, users.is_verified AS users_is_verified, users.is_admin AS users_is_admin, users.is_moderator AS users_is_moderator, users.is_banned AS users_is_banned, users.role AS users_role, users.karma_score AS users_karma_score, users.task_karma AS users_task_karma, users.post_count AS users_post_count, users.comment_count AS users_comment_count, users.created_at AS users_created_at, users.updated_at AS users_updated_at, users.last_active_at AS users_last_active_at, users.settings AS users_settings, users.owner_id AS users_owner_id, users.handle AS users_handle, users.local_name AS users_local_name, users.referral_code AS users_referral_code, users.referred_by_id AS users_referred_by_id, users.region_id AS users_region_id, users.level AS users_level, users.level_title AS users_level_title, users.location_sharing_enabled AS users_location_sharing_enabled, users.last_location_lat AS users_last_location_lat, users.last_location_lon AS users_last_location_lon, users.last_location_at AS users_last_location_at, users.idle_compute_opt_in AS users_idle_compute_opt_in, users.voice_profile AS users_voice_profile, users.tenant_id AS users_tenant_id &#10;FROM users&#10; LIMIT ? OFFSET ?]&#10;[parameters: (1, 0)]&#10;(Background on this error at: https://sqlalche.me/e/20/e3q8)">/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlite3.OperationalError: no such table: users

The above exception was the direct cause of the following exception:
tests/unit/test_voice_profile_migration.py:131: in test_user_query_does_not_raise_after_migration
    result = db.query(models_mod.User).first()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/query.py:2747: in first
    return self.limit(1)._iter().first()  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/query.py:2846: in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:2225: in execute
    return self._execute_internal(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:2120: in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/context.py:293: in orm_execute_statement
    result = conn.execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1412: in execute
    return meth(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/sql/elements.py:483: in _execute_on_connection
    return connection._execute_clauseelement(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1635: in _execute_clauseelement
    ret = self._execute_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1844: in _execute_context
    return self._exec_single_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1984: in _exec_single_context
    self._handle_dbapi_exception(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:2339: in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users
E   [SQL: SELECT users.id AS users_id, users.username AS users_username, users.display_name AS users_display_name, users.email AS users_email, users.password_hash AS users_password_hash, users.bio AS users_bio, users.avatar_url AS users_avatar_url, users.user_type AS users_user_type, users.agent_id AS users_agent_id, users.api_token AS users_api_token, users.is_verified AS users_is_verified, users.is_admin AS users_is_admin, users.is_moderator AS users_is_moderator, users.is_banned AS users_is_banned, users.role AS users_role, users.karma_score AS users_karma_score, users.task_karma AS users_task_karma, users.post_count AS users_post_count, users.comment_count AS users_comment_count, users.created_at AS users_created_at, users.updated_at AS users_updated_at, users.last_active_at AS users_last_active_at, users.settings AS users_settings, users.owner_id AS users_owner_id, users.handle AS users_handle, users.local_name AS users_local_name, users.referral_code AS users_referral_code, users.referred_by_id AS users_referred_by_id, users.region_id AS users_region_id, users.level AS users_level, users.level_title AS users_level_title, users.location_sharing_enabled AS users_location_sharing_enabled, users.last_location_lat AS users_last_location_lat, users.last_location_lon AS users_last_location_lon, users.last_location_at AS users_last_location_at, users.idle_compute_opt_in AS users_idle_compute_opt_in, users.voice_profile AS users_voice_profile, users.tenant_id AS users_tenant_id 
E   FROM users
E    LIMIT ? OFFSET ?]
E   [parameters: (1, 0)]
E   (Background on this error at: https://sqlalche.me/e/20/e3q8)</failure></testcase><testcase classname="tests.unit.test_voice_profile_persistence.TestVoiceProfileColumn" name="test_column_exists_on_user_model" time="0.001" /><testcase classname="tests.unit.test_voice_profile_persistence.TestVoiceProfileColumn" name="test_assigning_dict_round_trips" time="0.016"><failure message="sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users&#10;[SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, voice_profile, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]&#10;[parameters: ('vp-user-1', 'voice.pleasant.river', '', None, None, '', '', 'agent', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, None, None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, '{&quot;engine&quot;: &quot;f5&quot;, &quot;preset&quot;: &quot;warm&quot;}', None)]&#10;(Background on this error at: https://sqlalche.me/e/20/e3q8)">/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlite3.OperationalError: no such table: users

The above exception was the direct cause of the following exception:
tests/unit/test_voice_profile_persistence.py:63: in test_assigning_dict_round_trips
    db.flush()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4142: in flush
    self._flush(objects)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4277: in _flush
    with util.safe_reraise():
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__
    raise exc_value.with_traceback(exc_tb)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4238: in _flush
    flush_context.execute()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:466: in execute
    rec.execute(self)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:642: in execute
    util.preloaded.orm_persistence.save_obj(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:93: in save_obj
    _emit_insert_statements(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:1226: in _emit_insert_statements
    result = connection.execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1412: in execute
    return meth(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/sql/elements.py:483: in _execute_on_connection
    return connection._execute_clauseelement(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1635: in _execute_clauseelement
    ret = self._execute_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1844: in _execute_context
    return self._exec_single_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1984: in _exec_single_context
    self._handle_dbapi_exception(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:2339: in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users
E   [SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, voice_profile, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]
E   [parameters: ('vp-user-1', 'voice.pleasant.river', '', None, None, '', '', 'agent', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, None, None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, '{"engine": "f5", "preset": "warm"}', None)]
E   (Background on this error at: https://sqlalche.me/e/20/e3q8)</failure></testcase><testcase classname="tests.unit.test_voice_profile_persistence.TestVoiceProfileColumn" name="test_to_dict_echoes_voice_profile" time="0.004"><failure message="sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users&#10;[SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, voice_profile, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]&#10;[parameters: ('vp-user-2', 'still.calm.lake', '', None, None, '', '', 'agent', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, None, None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, '{&quot;engine&quot;: &quot;kokoro&quot;, &quot;speaker_id&quot;: &quot;af_bella&quot;}', None)]&#10;(Background on this error at: https://sqlalche.me/e/20/e3q8)">/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlite3.OperationalError: no such table: users

The above exception was the direct cause of the following exception:
tests/unit/test_voice_profile_persistence.py:77: in test_to_dict_echoes_voice_profile
    db.flush()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4142: in flush
    self._flush(objects)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4277: in _flush
    with util.safe_reraise():
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__
    raise exc_value.with_traceback(exc_tb)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4238: in _flush
    flush_context.execute()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:466: in execute
    rec.execute(self)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:642: in execute
    util.preloaded.orm_persistence.save_obj(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:93: in save_obj
    _emit_insert_statements(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:1226: in _emit_insert_statements
    result = connection.execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1412: in execute
    return meth(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/sql/elements.py:483: in _execute_on_connection
    return connection._execute_clauseelement(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1635: in _execute_clauseelement
    ret = self._execute_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1844: in _execute_context
    return self._exec_single_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1984: in _exec_single_context
    self._handle_dbapi_exception(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:2339: in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users
E   [SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, voice_profile, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]
E   [parameters: ('vp-user-2', 'still.calm.lake', '', None, None, '', '', 'agent', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, None, None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, '{"engine": "kokoro", "speaker_id": "af_bella"}', None)]
E   (Background on this error at: https://sqlalche.me/e/20/e3q8)</failure></testcase><testcase classname="tests.unit.test_voice_profile_persistence.TestCreateAgentRoundTrip" name="test_dict_voice_profile_persists" time="0.022"><failure message="sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users&#10;[SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]&#10;[parameters: ('vp-owner', 'owner-one', '', None, None, '', '', 'human', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, 'ownerhandle', None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, None)]&#10;(Background on this error at: https://sqlalche.me/e/20/e3q8)">/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlite3.OperationalError: no such table: users

The above exception was the direct cause of the following exception:
tests/unit/test_voice_profile_persistence.py:99: in test_dict_voice_profile_persists
    db.flush()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4142: in flush
    self._flush(objects)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4277: in _flush
    with util.safe_reraise():
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__
    raise exc_value.with_traceback(exc_tb)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/session.py:4238: in _flush
    flush_context.execute()
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:466: in execute
    rec.execute(self)
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py:642: in execute
    util.preloaded.orm_persistence.save_obj(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:93: in save_obj
    _emit_insert_statements(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py:1226: in _emit_insert_statements
    result = connection.execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1412: in execute
    return meth(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/sql/elements.py:483: in _execute_on_connection
    return connection._execute_clauseelement(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1635: in _execute_clauseelement
    ret = self._execute_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1844: in _execute_context
    return self._exec_single_context(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1984: in _exec_single_context
    self._handle_dbapi_exception(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:2339: in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/base.py:1965: in _exec_single_context
    self.dialect.do_execute(
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/sqlalchemy/engine/default.py:921: in do_execute
    cursor.execute(statement, parameters)
E   sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users
E   [SQL: INSERT INTO users (id, username, display_name, email, password_hash, bio, avatar_url, user_type, agent_id, api_token, is_verified, is_admin, is_moderator, is_banned, role, karma_score, task_karma, post_count, comment_count, created_at, updated_at, last_active_at, settings, owner_id, handle, local_name, referral_code, referred_by_id, region_id, level, level_title, location_sharing_enabled, last_location_lat, last_location_lon, last_location_at, idle_compute_opt_in, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING created_at, updated_at, last_active_at]
E   [parameters: ('vp-owner', 'owner-one', '', None, None, '', '', 'human', None, None, 0, 0, 0, 0, 'flat', 0, 0, 0, 0, '{}', None, 'ownerhandle', None, None, None, None, 1, 'Newcomer', 0, None, None, None, 0, None)]
E   (Background on this error at: https://sqlalche.me/e/20/e3q8)</failure></testcase><testcase classname="tests.unit.test_voice_profile_persistence.TestCreateAgentRoundTrip" name="test_string_voice_profile_canonicalised" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestVoterEligibility" name="test_security_blocks_agent_votes" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestVoterEligibility" name="test_security_allows_human_votes" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestVoterEligibility" name="test_operational_allows_agent_only" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestVoterEligibility" name="test_human_override_always_works" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestContextClassification" name="test_security_keywords" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestContextClassification" name="test_business_keywords" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestContextClassification" name="test_operational_keywords" time="0.009" /><testcase classname="tests.unit.test_voting_rules.TestContextClassification" name="test_default_classification" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestContextClassification" name="test_precomputed_context_used" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestBusinessWeightedTally" name="test_business_context_weights_agents_at_0_8" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestBusinessWeightedTally" name="test_security_context_zero_agent_weight" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestBusinessWeightedTally" name="test_approval_threshold_varies_by_context" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestStewardRequirement" name="test_steward_required_for_security" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestStewardRequirement" name="test_steward_not_required_for_operational" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestStewardRequirement" name="test_steward_not_required_for_technical" time="0.001" /><testcase classname="tests.unit.test_voting_rules.TestServiceIntegration" name="test_cast_vote_blocks_agent_on_security" time="0.003" /><testcase classname="tests.unit.test_voting_rules.TestServiceIntegration" name="test_cast_vote_allows_human_on_security" time="0.010" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_pinned_exceeds_total_logs_error" time="0.006" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_all_models_exceed_total_logs_warning" time="0.006" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_models_fit_in_vram_no_warning" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_no_gpu_detected_skips_check" time="0.017" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_vram_manager_none_skips_check" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_vram_import_error_skips_check" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_no_models_loaded_no_warning" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckFunctional" name="test_zero_vram_models_ignored" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckNonFunctional" name="test_vram_check_exception_does_not_block_start" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckNonFunctional" name="test_warning_message_contains_budget_numbers" time="0.005" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckNonFunctional" name="test_error_message_suggests_action" time="0.007" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckNonFunctional" name="test_both_warning_and_error_when_pinned_exceeds" time="0.016" /><testcase classname="tests.unit.test_vram_budget_check.TestVRAMBudgetCheckNonFunctional" name="test_check_is_advisory_not_blocking" time="0.005" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_absurd_value_ignored" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_later_measurement_overwrites" time="0.002" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_measurement_persisted_to_disk" time="0.002" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_negative_ignored" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_positive_measurement_recorded" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_rubbish_input_ignored" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_string_input_coerced" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.RecordActualUsageTest" name="test_zero_ignored" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.EffectiveBudgetTest" name="test_measurement_min_has_headroom_floor" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.EffectiveBudgetTest" name="test_measurement_shrinks_model_size" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.EffectiveBudgetTest" name="test_no_measurement_falls_back_to_declared" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.EffectiveBudgetTest" name="test_unknown_tool_returns_none" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.CanFitUsesEffectiveBudgetTest" name="test_allocate_records_measured_not_declared" time="0.002" /><testcase classname="tests.unit.test_vram_telemetry.CanFitUsesEffectiveBudgetTest" name="test_can_fit_accepts_when_free_above_declared_min" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.CanFitUsesEffectiveBudgetTest" name="test_can_fit_rejects_when_free_below_declared_min" time="0.001" /><testcase classname="tests.unit.test_vram_telemetry.PersistenceRoundtripTest" name="test_corrupt_file_ignored_on_load" time="0.002" /><testcase classname="tests.unit.test_vram_telemetry.PersistenceRoundtripTest" name="test_reload_reads_back_measurements" time="0.002" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapter" name="test_adapter_creation" time="0.025" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapter" name="test_message_handler_registration" time="0.004" /><testcase classname="tests.unit.test_web_adapter.TestWebSession" name="test_session_creation" time="0.025" /><testcase classname="tests.unit.test_web_adapter.TestWebSession" name="test_session_connected" time="0.001" /><testcase classname="tests.unit.test_web_adapter.TestWebSession" name="test_session_touch" time="0.001" /><testcase classname="tests.unit.test_web_adapter.TestPendingMessage" name="test_pending_message_creation" time="0.001" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterSessions" name="test_get_active_sessions" time="0.002" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterSessions" name="test_get_chat_info" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterSessions" name="test_get_chat_info_not_found" time="0.018"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_send_message" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_send_with_media" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_send_with_buttons" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_send_to_offline_session" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_edit_message" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_delete_message" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessaging" name="test_send_typing" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterReadReceipts" name="test_get_read_receipts" time="0.017" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterReadReceipts" name="test_get_read_receipts_empty" time="0.001" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessageHandling" name="test_handle_text_message" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessageHandling" name="test_handle_message_with_attachments" time="0.001"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessageHandling" name="test_handle_typing_event" time="0.003"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessageHandling" name="test_handle_read_event" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterMessageHandling" name="test_handle_ping" time="0.002"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterBroadcast" name="test_broadcast_typing" time="0.005"><failure message="Failed: async def functions are not natively supported.&#10;You need to install a suitable plugin for your async framework, for example:&#10;  - anyio&#10;  - pytest-asyncio&#10;  - pytest-tornasync&#10;  - pytest-trio&#10;  - pytest-twisted">async def functions are not natively supported.
You need to install a suitable plugin for your async framework, for example:
  - anyio
  - pytest-asyncio
  - pytest-tornasync
  - pytest-trio
  - pytest-twisted</failure></testcase><testcase classname="tests.unit.test_web_adapter.TestWebAdapterFactory" name="test_factory_with_params" time="0.002" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterFactory" name="test_factory_with_env_vars" time="0.003" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterFactory" name="test_factory_default_values" time="0.012" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterCleanup" name="test_session_timeout_detection" time="0.002" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterIntegration" name="test_message_round_trip_structure" time="0.001" /><testcase classname="tests.unit.test_web_adapter.TestWebAdapterIntegration" name="test_send_result_structure" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_autostart_one_force_enables_even_on_central" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_autostart_zero_force_disables" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_central_mode_skips" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_default_flat_mode_runs" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_default_regional_mode_runs" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_localhost_api_url_still_runs" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.GatingTests" name="test_remote_api_url_skips" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.PathTests" name="test_gateway_dir_points_at_repo_path" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.PathTests" name="test_whatsapp_home_under_hevolve_home" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.StartSupervisorTests" name="test_skipped_when_gated_off" time="0.001" /><testcase classname="tests.unit.test_whatsapp_supervisor.StartSupervisorTests" name="test_skipped_when_node_missing" time="0.002" /><testcase classname="tests.unit.test_whisper_stream_call_id.WsPathParserTest" name="test_garbage_value_returns_empty" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.WsPathParserTest" name="test_no_path_returns_empty" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.WsPathParserTest" name="test_websockets_10_path_attr" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.WsPathParserTest" name="test_websockets_11_request_path" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.CallContextParserTest" name="test_call_id_only" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.CallContextParserTest" name="test_empty_path_safe" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.CallContextParserTest" name="test_extracts_call_id_and_user_id" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.CallContextParserTest" name="test_garbage_path_safe" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.CallContextParserTest" name="test_neither_param_returns_none_pair" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.MaybeEnqueueCallSegmentTest" name="test_empty_text_no_op" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.MaybeEnqueueCallSegmentTest" name="test_final_with_call_id_enqueues" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.MaybeEnqueueCallSegmentTest" name="test_interim_segment_no_op" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.MaybeEnqueueCallSegmentTest" name="test_no_call_id_no_op" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.MaybeEnqueueCallSegmentTest" name="test_unknown_user_id_falls_back_to_unknown" time="0.001" /><testcase classname="tests.unit.test_whisper_stream_call_id.HandlerWiringDriftGuardTest" name="test_handler_calls_maybe_enqueue_on_final_branches" time="0.019" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_default_node_tier" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_env_node_tier_override" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_experience_queue_is_bounded" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_flush_batch_size_from_env" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_http_disabled_when_no_explicit_url" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_singleton_returns_same_instance" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestWorldModelBridgeInit" name="test_timeout_env_overrides" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestIsExternalTarget" name="test_127_is_local" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestIsExternalTarget" name="test_cloud_url_is_external" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestIsExternalTarget" name="test_ipv6_loopback_is_local" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestIsExternalTarget" name="test_localhost_is_local" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_constitutional_filter_blocks" time="0.013" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_flush_triggered_at_batch_size" time="0.027" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_lazy_in_process_retry" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_none_model_id_defaults_to_unknown" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_records_experience_to_queue" time="0.015" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_stats_total_recorded_increments" time="0.008" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_truncates_prompt_and_response" time="0.016" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordInteraction" name="test_unicode_content" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestFlushToWorldModel" name="test_consent_gate_filters_external_batch" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestFlushToWorldModel" name="test_http_disabled_skips_flush" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestFlushToWorldModel" name="test_http_failure_records_cb_failure" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestFlushToWorldModel" name="test_http_flush_posts_to_completions_endpoint" time="0.013" /><testcase classname="tests.unit.test_world_model_bridge.TestFlushToWorldModel" name="test_in_process_flush_calls_provider" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_circuit_breaker_open_blocks_correction" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_confidence_clamped" time="0.001"><skipped type="pytest.skip" message="hevolveai not installed">/home/runner/work/HARTOS/HARTOS/tests/unit/test_world_model_bridge.py:322: hevolveai not installed</skipped></testcase><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_consent_gate_blocks_external_correction" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_constitutional_filter_blocks_correction" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_http_correction_non_200" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_http_correction_success" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_http_disabled_returns_failure" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitCorrection" name="test_truncation_of_long_strings" time="0.035" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_cct_gate_returns_cached_thought" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_cct_gate_returns_none_without_cache" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_consent_gate_blocks_external_query" time="0.009" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_http_query_success" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_returns_none_when_http_disabled" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestQueryHivemind" name="test_user_hive_opt_out" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCheckHealth" name="test_health_always_has_node_tier" time="0.024" /><testcase classname="tests.unit.test_world_model_bridge.TestCheckHealth" name="test_http_disabled_unhealthy" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCheckHealth" name="test_http_health_failure" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCheckHealth" name="test_http_health_success" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestCheckHealth" name="test_in_process_healthy" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestGetStats" name="test_stats_include_queue_size" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestGetLearningStats" name="test_http_disabled_returns_empty_learning" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestGetLearningStats" name="test_in_process_merges_provider_and_hive" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestDistributeSkillPacket" name="test_cct_gate_blocks_without_capability" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestDistributeSkillPacket" name="test_constructive_filter_blocks" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestDistributeSkillPacket" name="test_safety_bounds_block" time="0.015" /><testcase classname="tests.unit.test_world_model_bridge.TestSendAction" name="test_estop_blocks_action" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestSendAction" name="test_http_disabled_returns_false" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestSendAction" name="test_successful_action_returns_true" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestIngestSensorBatch" name="test_empty_readings_returns_zero" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestIngestSensorBatch" name="test_successful_ingest" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestEmergencyStop" name="test_estop_failure_returns_false" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestEmergencyStop" name="test_estop_sends_to_estop_endpoint" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestRecordEmbodiedInteraction" name="test_embodied_interaction_queued" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestFederation" name="test_apply_federation_update" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestFederation" name="test_extract_learning_delta_shape" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestGetHivemindAgents" name="test_http_disabled_returns_empty_list" time="0.012" /><testcase classname="tests.unit.test_world_model_bridge.TestGetHivemindAgents" name="test_in_process_returns_agent_list" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestCloudConsentCache" name="test_consent_cached" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCloudConsentCache" name="test_empty_user_id_returns_false" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCloudConsentCache" name="test_expired_cache_reloads" time="0.006" /><testcase classname="tests.unit.test_world_model_bridge.TestHiveParticipation" name="test_cached_opt_out" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestHiveParticipation" name="test_empty_user_id_defaults_participate" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestCrawlTamperCallback" name="test_tamper_disables_in_process" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestThreadSafety" name="test_concurrent_get_stats" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestThreadSafety" name="test_concurrent_record_interaction" time="0.107" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitOutputFeedback" name="test_error_routes_to_correction" time="0.007" /><testcase classname="tests.unit.test_world_model_bridge.TestSubmitOutputFeedback" name="test_success_without_data_routes_to_record" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge.TestGetLearningFeedback" name="test_http_disabled_returns_none" time="0.004" /><testcase classname="tests.unit.test_world_model_bridge.TestGetLearningFeedback" name="test_in_process_returns_provider_stats" time="0.005" /><testcase classname="tests.unit.test_world_model_bridge_no_worker_import.TestNoWorkerThreadImport" name="test_init_in_process_does_not_trigger_import" time="0.014" /><testcase classname="tests.unit.test_world_model_bridge_no_worker_import.TestNoWorkerThreadImport" name="test_init_in_process_source_no_hart_intelligence_import" time="0.018" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#1-flat-inproc-local-peers-&gt;inproc]" time="0.009" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#2-flat-inproc-local-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#3-flat-inproc-remote-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#4-flat-inproc-remote-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#5-flat-inproc-none-peers-&gt;inproc]" time="0.017" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#6-flat-inproc-none-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#9-flat-noproc-remote-peers-&gt;http]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#10-flat-noproc-remote-alone-&gt;http]" time="0.028" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#11-flat-noproc-none-peers-&gt;gossip]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#12-flat-noproc-none-alone-&gt;queue]" time="0.016" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#13-regional-inproc-local-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#14-regional-inproc-local-alone-&gt;inproc]" time="0.022" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#15-regional-inproc-remote-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#16-regional-inproc-remote-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#17-regional-inproc-none-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#18-regional-inproc-none-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#19-regional-noproc-local-peers-&gt;http]" time="0.024" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#20-regional-noproc-local-alone-&gt;http]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#21-regional-noproc-remote-peers-&gt;http]" time="0.017" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#22-regional-noproc-remote-alone-&gt;http]" time="0.025" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#23-regional-noproc-none-peers-&gt;gossip]" time="0.020" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#24-regional-noproc-none-alone-&gt;queue]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#25-central-inproc-local-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#26-central-inproc-local-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#27-central-inproc-remote-peers-&gt;inproc]" time="0.017" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#28-central-inproc-remote-alone-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#29-central-inproc-none-peers-&gt;inproc]" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#30-central-inproc-none-alone-&gt;inproc]" time="0.009" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#31-central-noproc-local-peers-&gt;http]" time="0.024" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#32-central-noproc-local-alone-&gt;http]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#33-central-noproc-remote-peers-&gt;http]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#34-central-noproc-remote-alone-&gt;http]" time="0.034" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#35-central-noproc-none-peers-&gt;gossip]" time="0.016" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_record_interaction_routes_correctly[#36-central-noproc-none-alone-&gt;queue]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#1-flat-inproc-local-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#2-flat-inproc-local-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#3-flat-inproc-remote-peers-&gt;inproc]" time="0.022" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#4-flat-inproc-remote-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#5-flat-inproc-none-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#6-flat-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#9-flat-noproc-remote-peers-&gt;http]" time="0.006" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#10-flat-noproc-remote-alone-&gt;http]" time="0.006" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#11-flat-noproc-none-peers-&gt;gossip]" time="0.006" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#12-flat-noproc-none-alone-&gt;queue]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#13-regional-inproc-local-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#14-regional-inproc-local-alone-&gt;inproc]" time="0.022" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#15-regional-inproc-remote-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#16-regional-inproc-remote-alone-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#17-regional-inproc-none-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#18-regional-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#19-regional-noproc-local-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#20-regional-noproc-local-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#21-regional-noproc-remote-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#22-regional-noproc-remote-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#23-regional-noproc-none-peers-&gt;gossip]" time="0.018" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#24-regional-noproc-none-alone-&gt;queue]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#25-central-inproc-local-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#26-central-inproc-local-alone-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#27-central-inproc-remote-peers-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#28-central-inproc-remote-alone-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#29-central-inproc-none-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#30-central-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#31-central-noproc-local-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#32-central-noproc-local-alone-&gt;http]" time="0.014" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#33-central-noproc-remote-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#34-central-noproc-remote-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#35-central-noproc-none-peers-&gt;gossip]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_check_health_routes_correctly[#36-central-noproc-none-alone-&gt;queue]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#1-flat-inproc-local-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#2-flat-inproc-local-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#3-flat-inproc-remote-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#4-flat-inproc-remote-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#5-flat-inproc-none-peers-&gt;inproc]" time="0.013" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#6-flat-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#9-flat-noproc-remote-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#10-flat-noproc-remote-alone-&gt;http]" time="0.006" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#11-flat-noproc-none-peers-&gt;gossip]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#12-flat-noproc-none-alone-&gt;queue]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#13-regional-inproc-local-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#14-regional-inproc-local-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#15-regional-inproc-remote-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#16-regional-inproc-remote-alone-&gt;inproc]" time="0.014" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#17-regional-inproc-none-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#18-regional-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#19-regional-noproc-local-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#20-regional-noproc-local-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#21-regional-noproc-remote-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#22-regional-noproc-remote-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#23-regional-noproc-none-peers-&gt;gossip]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#24-regional-noproc-none-alone-&gt;queue]" time="0.006" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#25-central-inproc-local-peers-&gt;inproc]" time="0.015" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#26-central-inproc-local-alone-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#27-central-inproc-remote-peers-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#28-central-inproc-remote-alone-&gt;inproc]" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#29-central-inproc-none-peers-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#30-central-inproc-none-alone-&gt;inproc]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#31-central-noproc-local-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#32-central-noproc-local-alone-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#33-central-noproc-remote-peers-&gt;http]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#34-central-noproc-remote-alone-&gt;http]" time="0.014" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#35-central-noproc-none-peers-&gt;gossip]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestWorldModelRouting" name="test_get_learning_stats_routes_correctly[#36-central-noproc-none-alone-&gt;queue]" time="0.005" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_typical_cases_covered[bundled_cx_freeze-info0]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_typical_cases_covered[docker-info1]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_typical_cases_covered[iso_nixos-info2]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_typical_cases_covered[pip_dev-info3]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_reachable_cases_covered[bundled_cx_freeze-info0]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_reachable_cases_covered[docker-info1]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_reachable_cases_covered[iso_nixos-info2]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestPackagingCoverage" name="test_reachable_cases_covered[pip_dev-info3]" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_circuit_breaker_stops_http_after_threshold" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_circuit_breaker_resets_on_success" time="0.003" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_lazy_inproc_retry_on_first_record" time="0.008" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_http_disabled_flag_prevents_all_http" time="0.031" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_inproc_to_http_fallback_on_tamper" time="0.004" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_url_validation_rejects_bad_urls" time="0.001" /><testcase classname="tests.unit.test_world_model_routing.TestEdgeCases" name="test_dynamic_port_change_invalidates_cache" time="0.003" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceIdempotent" name="test_ensure_platform_idempotent" time="0.003" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceIdempotent" name="test_ensure_platform_returns_registry" time="0.002" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceState" name="test_is_booted_false_before_boot" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceState" name="test_is_booted_true_after_boot" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceThreadSafety" name="test_concurrent_calls_single_bootstrap" time="0.053" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceFailureIsolation" name="test_bootstrap_failure_no_exception_propagated" time="0.002" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceFailureIsolation" name="test_bootstrap_failure_returns_none" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceANR" name="test_boot_completes_within_timeout" time="0.002" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceANR" name="test_slow_bootstrap_detected" time="0.202" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_app_install_routes_registered" time="0.023" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_registration_failure_does_not_crash" time="0.064" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_registration_failure_isolation_via_mock" time="0.032" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_shell_desktop_routes_registered" time="0.042" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_shell_os_routes_registered" time="0.067" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAPIRegistration" name="test_shell_system_routes_registered" time="0.032" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_empty_token_env_rejects" time="0.062" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_invalid_shell_token_rejected" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_localhost_ipv4_allowed" time="0.058" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_localhost_ipv6_allowed" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_non_local_ip_rejected" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthCheck" name="test_valid_shell_token_bypasses_ip" time="0.061" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestRequireShellAuthDecorator" name="test_decorator_allows_localhost" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestRequireShellAuthDecorator" name="test_decorator_blocks_remote_ip" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_allowed_roots_cached" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_extra_roots_via_env" time="0.003" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_root_dir_rejected" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_subpath_of_home_allowed" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_system_dir_rejected" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_tmp_allowed" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_traversal_attack_resolved_and_rejected" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandbox" name="test_user_home_allowed" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_browse_home_succeeds" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_browse_outside_roots_returns_403" time="0.058" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_copy_rejects_dst_outside_roots" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_copy_rejects_src_outside_roots" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_delete_outside_roots_returns_403" time="0.058" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_move_rejects_dst_outside_roots" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxOnRoutes" name="test_move_rejects_src_outside_roots" time="0.056" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferPathTraversal" name="test_backslash_traversal_stripped" time="0.005" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferPathTraversal" name="test_basename_strips_absolute_path" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferPathTraversal" name="test_normal_filename_unchanged" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferPathTraversal" name="test_traversal_filename_stripped" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_embed_accepts_valid_types" time="0.015" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_embed_has_optional_auth_decorator" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_embed_rejects_invalid_resource_type" time="0.010" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_og_image_accepts_valid_types" time="0.257" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_og_image_has_optional_auth_decorator" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestOGEmbedAuth" name="test_og_image_rejects_invalid_resource_type" time="0.011" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestANRShellAPIs" name="test_file_browse_responds_within_timeout" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestANRShellAPIs" name="test_notification_send_responds_within_timeout" time="0.058" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestANRShellAPIs" name="test_notifications_responds_within_timeout" time="0.063" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootANR" name="test_slow_bootstrap_does_not_block_forever" time="0.103" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestServiceIsolation" name="test_blast_radius_file_op_doesnt_affect_terminal" time="0.065" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestServiceIsolation" name="test_shell_os_import_failure_doesnt_crash_desktop" time="0.040" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestNotificationQueueBound" name="test_notification_listing_responsive_under_stress" time="0.288" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestNotificationQueueBound" name="test_queue_handles_many_notifications" time="0.182" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_called_during_file_delete" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_called_during_file_move" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_called_during_terminal_exec" time="0.061" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_called_on_destructive_operation" time="0.002" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_does_not_crash_if_log_event_fails" time="0.002" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestAuditShellOp" name="test_audit_does_not_crash_if_log_unavailable" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestBootServiceGetRegistrySafe" name="test_get_registry_safe_returns_none_on_error" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferSHA256Verification" name="test_sha256_mismatch_rejected" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthEdgeCases" name="test_missing_remote_addr_rejected" time="0.060" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestShellAuthEdgeCases" name="test_zero_address_allowed" time="0.059" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestPathSandboxEdgeCases" name="test_symlink_resolved" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferProgressTracking" name="test_progress_callback_called" time="0.001" /><testcase classname="tests.unit.test_ws11_critical_fixes.TestFileTransferProgressTracking" name="test_progress_callback_error_doesnt_crash" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_all_existing_limits_still_present" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_app_install_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_games_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_gamification_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_mcp_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_sharing_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_shell_file_ops_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_shell_ops_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_shell_power_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_shell_terminal_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_total_limit_count" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterNewEntries" name="test_tts_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPSharingIntegration" name="test_dlp_allows_clean_content" time="0.004" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPSharingIntegration" name="test_dlp_blocks_pii_in_sharing" time="0.004" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPSharingIntegration" name="test_dlp_import_failure_is_graceful" time="0.003" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPClipboardIntegration" name="test_clipboard_allowed_by_dlp" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPClipboardIntegration" name="test_clipboard_blocked_by_dlp" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPClipboardIntegration" name="test_clipboard_dlp_import_failure_graceful" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestAuditLogAppInstaller" name="test_audit_log_called_on_successful_install" time="0.003" /><testcase classname="tests.unit.test_ws12_security_wiring.TestAuditLogAppInstaller" name="test_audit_log_called_on_successful_uninstall" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestAuditLogAppInstaller" name="test_audit_log_import_failure_graceful" time="0.010" /><testcase classname="tests.unit.test_ws12_security_wiring.TestAuditLogAppInstaller" name="test_audit_log_not_called_on_failed_install" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestAuditLogAppInstaller" name="test_audit_log_not_called_on_failed_uninstall" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_classify_destructive_returns_false_for_destructive" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_classify_destructive_returns_false_on_import_error" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_classify_destructive_returns_true_for_safe" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_file_delete_blocked_by_classifier" time="0.060" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_power_action_blocked_by_classifier" time="0.064" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_terminal_exec_blocked_by_classifier" time="0.068" /><testcase classname="tests.unit.test_ws12_security_wiring.TestActionClassifierShellOps" name="test_user_delete_blocked_by_classifier" time="0.067" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_broadcast_signs_delta" time="0.096" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_receive_peer_delta_rejects_invalid_hmac" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_sign_delta_falls_back_to_ed25519_when_no_key" time="0.004" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_sign_delta_produces_hmac" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_verify_delta_rejects_missing_signature" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_verify_delta_rejects_tampered_data" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_verify_delta_rejects_wrong_key" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestFederationDeltaSigning" name="test_verify_delta_signature_valid" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRecipeConsentCheck" name="test_recipe_delta_accepted_on_consent_import_failure" time="0.014" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRecipeConsentCheck" name="test_recipe_delta_accepted_with_consent" time="0.004" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRecipeConsentCheck" name="test_recipe_delta_accepted_without_user_id" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRecipeConsentCheck" name="test_recipe_delta_blocked_without_consent" time="0.003" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPEngineActualScan" name="test_dlp_allows_clean_text" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPEngineActualScan" name="test_dlp_blocks_email" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestDLPEngineActualScan" name="test_dlp_disabled_allows_everything" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestClassifyDestructiveFix" name="test_classify_destructive_handles_string_return" time="0.002" /><testcase classname="tests.unit.test_ws12_security_wiring.TestConsentAuditWarning" name="test_audit_failure_not_completely_silent" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestConsentAuditWarning" name="test_audit_function_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_battery_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_scanner_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_trash_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_vpn_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_webcam_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws12_security_wiring.TestRateLimiterOSGroups" name="test_wifi_rate_limit_exists" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistGateDispatch" name="test_dispatch_goal_attaches_model_tier_to_body" time="0.008" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistGateDispatch" name="test_dispatch_goal_source_has_tool_filter_reference" time="0.007" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistGateDispatch" name="test_dispatch_without_model_config_has_no_tier" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_auto_register_creates_manifest" time="0.003" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_auto_register_graceful_without_platform" time="0.010" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_auto_register_skips_if_already_registered" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_auto_unregister_noop_if_not_registered" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_auto_unregister_removes_from_registry" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_extension_gets_extension_type" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_install_method_calls_auto_register" time="0.003" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestAppAutoRegistration" name="test_uninstall_method_calls_auto_unregister" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestRetryTrackerEventBus" name="test_event_graceful_without_eventbus" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestRetryTrackerEventBus" name="test_increment_source_has_emit_event" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestRetryTrackerEventBus" name="test_no_event_before_threshold" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestRetryTrackerEventBus" name="test_reset_clears_count" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestRetryTrackerEventBus" name="test_retry_exhaustion_emits_event" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestOrchestratorBootstrapRegistration" name="test_bootstrap_includes_orchestrator_call" time="0.004" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestOrchestratorBootstrapRegistration" name="test_register_function_references_agent_daemon" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestOrchestratorBootstrapRegistration" name="test_register_orchestrator_services_graceful_on_import_error" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestOrchestratorBootstrapRegistration" name="test_register_orchestrator_services_registers_daemon" time="0.003" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestInstallLifecycleIntegration" name="test_full_lifecycle" time="0.002" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistStructure" name="test_balanced_has_write_tools" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistStructure" name="test_balanced_includes_fast" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistStructure" name="test_check_tool_allowed_unknown_model_fails_closed" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestToolAllowlistStructure" name="test_fast_tools_are_read_only" time="0.008" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestDispatchBudgetGate" name="test_budget_gate_blocks_dispatch" time="0.004" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestEngineFallback" name="test_native_transport_available" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestEngineFallback" name="test_orchestrator_graceful_on_all_engines_fail" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestEngineFallback" name="test_orchestrator_has_fallback_logic" time="0.031" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestResonancePerUserEMA" name="test_no_cross_contamination" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestResonancePerUserEMA" name="test_profile_path_includes_user_id" time="0.001" /><testcase classname="tests.unit.test_ws13_runtime_wiring.TestResonancePerUserEMA" name="test_separate_user_profiles" time="0.001" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlToolRegistered" name="test_device_control_in_tool_list" time="0.003" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlToolRegistered" name="test_device_control_is_callable" time="0.002" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlToolRegistered" name="test_device_control_description_mentions_privacy" time="0.011" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlRoutesToPeerLink" name="test_peerlink_dispatch_channel_used" time="0.007" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlRoutesToPeerLink" name="test_peerlink_result_returned" time="0.007" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlFallbackFleetCommand" name="test_fleet_command_fallback_when_no_peerlink" time="0.007" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlFallbackFleetCommand" name="test_local_execution_as_last_resort" time="0.003" /><testcase classname="tests.functional.test_device_control_functional.TestPrivacyOnlySameUser" name="test_rejects_non_same_user_peer" time="0.007" /><testcase classname="tests.functional.test_device_control_functional.TestPrivacyOnlySameUser" name="test_rejects_relay_trust_peer" time="0.005" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_handler_processes_device_control_message" time="0.003" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_handler_rejects_empty_action" time="0.001" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_handler_gpio_detection" time="0.001" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_handler_serial_detection" time="0.001" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_device_control_in_valid_command_types" time="0.009" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_embedded_handler_rejects_non_same_user" time="0.001" /><testcase classname="tests.functional.test_device_control_functional.TestDeviceControlReceivingHandler" name="test_embedded_handler_accepts_same_user" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestThreeNodeConvergence" name="test_three_node_convergence" time="0.002" /><testcase classname="tests.functional.test_federation_functional.TestEqualWeightSimpleAverage" name="test_equal_weight_simple_average" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestLog1pPreventsDomination" name="test_log1p_prevents_domination" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestStaleDeltaRejected" name="test_stale_delta_rejected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestStaleDeltaRejected" name="test_future_delta_rejected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestStaleDeltaRejected" name="test_fresh_delta_accepted" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestHmacRoundTrip" name="test_hmac_sign_and_verify" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestHmacRoundTrip" name="test_hmac_tamper_detected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestHmacRoundTrip" name="test_hmac_fallback_to_ed25519_key" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestHmacRoundTrip" name="test_receive_peer_delta_rejects_bad_hmac" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestConvergenceScoreIncreases" name="test_convergence_score_increases" time="0.002" /><testcase classname="tests.functional.test_federation_functional.TestRecipeDeltaChannel" name="test_recipe_delta_channel" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestRecipeDeltaChannel" name="test_recipe_stats" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestGuardrailHashMismatchRejects" name="test_guardrail_hash_mismatch_rejects" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestGuardrailHashMismatchRejects" name="test_matching_guardrail_hash_accepted" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestGuardrailHashMismatchRejects" name="test_empty_guardrail_hash_passes" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_version_mismatch_rejected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_missing_node_id_rejected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_invalid_payload_rejected" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_aggregate_empty_returns_none" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_weighted_avg_dict_math" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_weighted_avg_dict_unequal_weights" time="0.001" /><testcase classname="tests.functional.test_federation_functional.TestEdgeCases" name="test_single_node_aggregate" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestGossipProtocol" name="test_gossip_self_info_serializable" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestGossipProtocol" name="test_bandwidth_profiles_exist" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestFederatedAggregator" name="test_delta_signing" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestFederatedAggregator" name="test_delta_verification" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestMasterKeyAndCircuitBreaker" name="test_circuit_breaker_initial_state" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestMasterKeyAndCircuitBreaker" name="test_circuit_breaker_local_trip" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestMasterKeyAndCircuitBreaker" name="test_guardrail_hash_deterministic" time="0.002" /><testcase classname="tests.functional.test_hive_local_simulation.TestMasterKeyAndCircuitBreaker" name="test_constitutional_rules_exist" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestMasterKeyAndCircuitBreaker" name="test_compute_caps_defined" time="0.009" /><testcase classname="tests.functional.test_hive_local_simulation.TestDistributedTaskCoordinator" name="test_task_status_enum" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestDistributedTaskCoordinator" name="test_smart_ledger_class_exists" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestNodeTierGating" name="test_tier_levels_ordered" time="0.001" /><testcase classname="tests.functional.test_hive_local_simulation.TestNodeTierGating" name="test_feature_gates_exist" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_publish_subscribe_basic" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_wildcard_subscribe" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_wildcard_no_false_match" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_unsubscribe" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_multiple_subscribers" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_publish_returns_msg_id" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_stats_tracking" time="0.001" /><testcase classname="tests.functional.test_message_bus_functional" name="test_thread_safety" time="0.053" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestActionClassRoundtrip" name="test_action_class_roundtrip" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestActionClassRoundtrip" name="test_action_new_json_accumulation" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestLifecycleStateMachine" name="test_lifecycle_state_machine" time="0.007" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestLifecycleStateMachine" name="test_full_recipe_path" time="0.004" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestLifecycleStateMachine" name="test_error_retry_path" time="0.006" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestInvalidStateTransition" name="test_invalid_state_transition" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestInvalidStateTransition" name="test_assigned_to_terminated_rejected" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestInvalidStateTransition" name="test_in_progress_to_completed_rejected" time="0.004" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestRecipeSaveAndLoad" name="test_recipe_save_and_load" time="0.002" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestRecipeSaveAndLoad" name="test_recipe_overwrite" time="0.002" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestPromptConfigRoundtrip" name="test_prompt_config_roundtrip" time="0.002" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestSafePromptPathTraversal" name="test_safe_prompt_path_traversal" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestSafePromptPathTraversal" name="test_safe_prompt_path_traversal_in_later_parts" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestSafePromptPathValid" name="test_safe_prompt_path_valid" time="0.018" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestSafePromptPathValid" name="test_safe_prompt_path_hyphen_and_underscore" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestSafePromptPathValid" name="test_safe_prompt_path_custom_extension" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestActionToDict" name="test_action_to_dict" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestActionToDict" name="test_action_empty_state_serializable" time="0.001" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestValidateStateTransition" name="test_idempotent_same_state" time="0.004" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestValidateStateTransition" name="test_terminated_to_assigned_allowed" time="0.004" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestValidateStateTransition" name="test_preview_path" time="0.004" /><testcase classname="tests.functional.test_pipeline_lifecycle_functional.TestStateMachineThreadSafety" name="test_concurrent_transitions" time="0.044" /><testcase classname="tests.functional.test_revenue_functional.TestRevenueSplit" name="test_revenue_split_90_9_1" time="0.150" /><testcase classname="tests.functional.test_revenue_functional.TestSettleMeteredCosts" name="test_settle_metered_costs_awards_spark" time="0.182" /><testcase classname="tests.functional.test_revenue_functional.TestSettleMeteredCosts" name="test_settle_skips_own_tasks" time="0.151" /><testcase classname="tests.functional.test_revenue_functional.TestSettleMeteredCosts" name="test_settle_written_off_no_operator" time="0.131" /><testcase classname="tests.functional.test_revenue_functional.TestDashboard" name="test_dashboard_returns_all_keys" time="0.146" /><testcase classname="tests.functional.test_revenue_functional.TestSparkPerUsdEnvOverride" name="test_spark_per_usd_env_override" time="0.141" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_all_wildcards" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_backslash_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_clean_string_unchanged" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_combined_escapes" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_empty_string" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_percent_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestEscapeLike" name="test_underscore_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizePath" name="test_backslash_stripped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizePath" name="test_dotdot_stripped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizePath" name="test_forward_slash_stripped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizePath" name="test_simple_filename_resolves" time="0.010" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizePath" name="test_valid_filename_accepted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_ampersand_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_angle_brackets_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_clean_text_unchanged" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_non_string_returns_unchanged" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_quotes_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSanitizeHtml" name="test_script_tag_escaped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_custom_field_name_in_error" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_empty_string_within_bounds" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_non_string_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_pattern_match_passes" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_pattern_mismatch_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_strips_whitespace" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_too_long_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_too_short_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateInput" name="test_valid_input" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_integer_input_converted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_mixed_alphanumeric_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_negative_number_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_non_numeric_raises" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_sql_injection_blocked" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_valid_numeric_string" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePromptId" name="test_whitespace_stripped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_hyphen_allowed" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_integer_input_converted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_path_traversal_blocked" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_spaces_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_special_chars_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_sql_injection_blocked" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_underscore_allowed" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_valid_alphanumeric" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUserId" name="test_whitespace_stripped" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_email_like_username" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_max_length_accepted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_special_chars_rejected" time="0.012" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_too_long_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_too_short_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateUsername" name="test_valid_username" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePassword" name="test_exact_max_length_accepted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePassword" name="test_exact_min_length_accepted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePassword" name="test_too_long_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePassword" name="test_too_short_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePassword" name="test_valid_password" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateSearchQuery" name="test_empty_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateSearchQuery" name="test_too_long_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateSearchQuery" name="test_valid_query" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePostContent" name="test_empty_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePostContent" name="test_max_length_boundary" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePostContent" name="test_over_max_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidatePostContent" name="test_valid_content" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateComment" name="test_empty_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateComment" name="test_max_length_boundary" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateComment" name="test_over_max_rejected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestValidateComment" name="test_valid_comment" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogGenesisHash" name="test_first_entry_chains_from_genesis" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogGenesisHash" name="test_second_entry_chains_from_first" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogDeletionTamper" name="test_deletion_breaks_chain" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogTargetId" name="test_target_id_none_by_default" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogTargetId" name="test_target_id_stored" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogDetailJsonRoundTrip" name="test_detail_json_preserved" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogDetailJsonRoundTrip" name="test_multiple_sensitive_keys_redacted" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogDetailJsonRoundTrip" name="test_redact_nested_key_names" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogLargeChain" name="test_100_entries_chain_valid" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestAuditLogLargeChain" name="test_tamper_last_entry_detected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_cat_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_dd_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_describe_is_safe" time="0.018" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_erase_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_explain_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_fetch_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_format_drive_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_git_clean_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_git_diff_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_git_log_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_kill_9_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_ls_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_mkfs_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_none_input_returns_unknown" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_overwrite_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_purge_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_reboot_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_view_is_safe" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestActionClassifierAdditionalPatterns" name="test_wipe_is_destructive" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestShouldPreviewEdgeCases" name="test_preview_disabled_destructive_still_false" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestShouldPreviewEdgeCases" name="test_preview_enabled_empty_input_returns_true" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestShouldPreviewEdgeCases" name="test_preview_enabled_safe_returns_false" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPSelectiveScanTypes" name="test_email_only_scan" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPSelectiveScanTypes" name="test_ssn_only_scan" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPCreditCardFormats" name="test_dash_separated" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPCreditCardFormats" name="test_no_separator" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPCreditCardFormats" name="test_spaces_separated" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPIPDetection" name="test_public_ip_detected" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPIPDetection" name="test_safe_ips_not_flagged" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPRedactSpecificTypes" name="test_redact_credit_card" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPRedactSpecificTypes" name="test_redact_ip" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPRedactSpecificTypes" name="test_redact_phone" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPMultipleFindings" name="test_check_outbound_reports_all_types" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestDLPMultipleFindings" name="test_multiple_emails" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSecretsManagerRealFernet" name="test_salt_file_created" time="0.144" /><testcase classname="tests.functional.test_security_modules_functional.TestSecretsManagerRealFernet" name="test_secret_keys_list_has_expected_entries" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSecretsManagerRealFernet" name="test_set_and_get_multiple_secrets" time="0.277" /><testcase classname="tests.functional.test_security_modules_functional.TestSecretsManagerRealFernet" name="test_vault_file_is_encrypted_on_disk" time="0.140" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_1d_array_roundtrip" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_corrupted_header_size_handled" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_empty_array_roundtrip" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_large_array_roundtrip" time="0.016" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_magic_bytes_constant" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_restricted_unpickler_blocks_importlib" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestSafeDeserializeEdgeCases" name="test_restricted_unpickler_blocks_io_module" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegritySignVerify" name="test_sign_and_verify_message" time="0.004" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegritySignVerify" name="test_verify_fails_with_tampered_message" time="0.003" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegritySignVerify" name="test_verify_fails_with_wrong_key" time="0.003" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegrityJsonSignVerify" name="test_json_sign_verify_roundtrip" time="0.003" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegrityJsonSignVerify" name="test_json_verify_fails_on_invalid_hex" time="0.003" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegrityJsonSignVerify" name="test_json_verify_fails_on_tampered_payload" time="0.012" /><testcase classname="tests.functional.test_security_modules_functional.TestNodeIntegrityJsonSignVerify" name="test_signature_key_stripped_from_payload" time="0.003" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_empty_dir_produces_valid_hash" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_excludes_pycache" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_hash_changes_on_file_addition" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_hash_changes_on_file_modification" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_hash_deterministic_on_same_files" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeCodeHash" name="test_precomputed_hash_env_override" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeFileManifest" name="test_manifest_contains_all_py_files" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeFileManifest" name="test_manifest_excludes_venv" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestComputeFileManifest" name="test_manifest_hashes_are_sha256" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestHashFile" name="test_hash_empty_file" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestHashFile" name="test_hash_known_content" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestPurgePycache" name="test_purge_removes_pycache_dirs" time="0.002" /><testcase classname="tests.functional.test_security_modules_functional.TestPurgePycache" name="test_purge_returns_zero_when_no_pycache" time="0.001" /><testcase classname="tests.functional.test_security_modules_functional.TestPurgePycache" name="test_purge_sets_env_var" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_engine_registry_has_entries" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_all_engines_have_required_fields" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_english_engines_ranked_by_quality" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_espeak_always_last_resort" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_indic_languages_have_indic_parler" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSEngineRegistry" name="test_cjk_languages_have_cosyvoice" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_english_returns_candidates" time="0.014" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_english_espeak_always_present" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_hindi_returns_candidates" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_tamil_returns_candidates" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_chinese_returns_candidates" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_select_unknown_language_falls_back" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_urgency_instant_prefers_low_latency" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_urgency_quality_prefers_high_quality" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSRouterSelection" name="test_voice_clone_filter" time="0.001"><failure message="AssertionError: Should have at least one clone-capable engine&#10;assert 0 &gt;= 1&#10; +  where 0 = len([])">tests/functional/test_tts_fallback_ladder.py:116: in test_voice_clone_filter
    assert len(clone_capable) &gt;= 1, "Should have at least one clone-capable engine"
E   AssertionError: Should have at least one clone-capable engine
E   assert 0 &gt;= 1
E    +  where 0 = len([])</failure></testcase><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSResourceConstraints" name="test_no_gpu_excludes_gpu_only" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSResourceConstraints" name="test_low_vram_prefers_small_engines" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSResourceConstraints" name="test_local_only_excludes_hive" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSResourceConstraints" name="test_empty_text_still_returns_candidates" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSQualityBaselines" name="test_qualitys_are_floats" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSQualityBaselines" name="test_chatterbox_turbo_highest_english" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSQualityBaselines" name="test_espeak_lowest_quality" time="0.001" /><testcase classname="tests.functional.test_tts_fallback_ladder.TestTTSQualityBaselines" name="test_language_routing_correctness" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestLoopExitsOnDone" name="test_loop_exits_on_done" time="0.004" /><testcase classname="tests.functional.test_vlm_loop_functional.TestLoop3Iterations" name="test_loop_3_iterations" time="0.004" /><testcase classname="tests.functional.test_vlm_loop_functional.TestLoopMaxIterationsCap" name="test_loop_max_iterations_cap" time="0.004" /><testcase classname="tests.functional.test_vlm_loop_functional.TestLoopErrorContinues" name="test_loop_error_continues" time="0.013" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_plain_json" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_json_in_markdown_code_block" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_json_in_bare_code_block" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_json_surrounded_by_text" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_unparseable_response_returns_done" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestActionPayloadParsing" name="test_done_status_parsed" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_box_id_resolves_to_center" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_explicit_coordinate_overrides_box_id" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_box_id_with_id_key" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_missing_box_id_no_coordinate" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_bbox_integer_truncation" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_extra_keys_passed_through" time="0.001" /><testcase classname="tests.functional.test_vlm_loop_functional.TestCoordinateNormalization" name="test_unresolvable_box_id" time="0.314" /></testsuite></testsuites>