Coverage report: 91%

Files Functions Classes

coverage.py v7.10.7, created at 2026-02-25 14:49 -0300

File function statements missing excluded coverage
bot/access_control.py is_owner 1 0 0 100%
bot/access_control.py is_moderator 1 0 0 100%
bot/access_control.py is_trusted_curator 1 0 0 100%
bot/access_control.py (no function) 4 0 0 100%
bot/autonomy_logic.py _clip_line 4 1 0 75%
bot/autonomy_logic.py generate_goal_text 5 0 0 100%
bot/autonomy_logic.py process_autonomy_goal 16 0 0 100%
bot/autonomy_logic.py _handle_auto_chat 20 5 0 75%
bot/autonomy_logic.py _handle_clip_candidate 13 0 0 100%
bot/autonomy_logic.py _handle_generic_suggestion 6 0 0 100%
bot/autonomy_logic.py (no function) 17 0 0 100%
bot/autonomy_runtime.py AutonomyRuntime.__init__ 6 0 0 100%
bot/autonomy_runtime.py AutonomyRuntime.bind 5 0 0 100%
bot/autonomy_runtime.py AutonomyRuntime.unbind 10 1 0 90%
bot/autonomy_runtime.py AutonomyRuntime._ensure_loop_task 12 1 0 92%
bot/autonomy_runtime.py AutonomyRuntime._heartbeat_loop 18 6 0 67%
bot/autonomy_runtime.py AutonomyRuntime._run_tick 16 0 0 100%
bot/autonomy_runtime.py AutonomyRuntime._get_auto_chat_dispatcher 2 0 0 100%
bot/autonomy_runtime.py AutonomyRuntime.run_manual_tick 11 3 0 73%
bot/autonomy_runtime.py (no function) 22 0 0 100%
bot/bootstrap_runtime.py get_secret 5 0 0 100%
bot/bootstrap_runtime.py require_env 4 0 0 100%
bot/bootstrap_runtime.py resolve_irc_channel_logins 11 1 0 91%
bot/bootstrap_runtime.py resolve_client_secret_for_irc_refresh 8 0 0 100%
bot/bootstrap_runtime.py build_irc_token_manager 10 0 0 100%
bot/bootstrap_runtime.py run_irc_mode 9 0 0 100%
bot/bootstrap_runtime.py run_irc_mode.run_with_channel_control 14 14 0 0%
bot/bootstrap_runtime.py run_irc_mode.run_with_channel_control._check_clips_auth 9 9 0 0%
bot/bootstrap_runtime.py run_irc_mode.run_with_channel_control.verify_clips_auth_loop 4 4 0 0%
bot/bootstrap_runtime.py run_irc_mode.run_with_channel_control.send_autonomy_chat 1 1 0 0%
bot/bootstrap_runtime.py run_eventsub_mode 7 0 0 100%
bot/bootstrap_runtime.py (no function) 17 0 0 100%
bot/byte_semantics.py (no function) 6 0 0 100%
bot/byte_semantics_base.py compact_message 11 1 0 91%
bot/byte_semantics_base.py normalize_text_for_scene 4 1 0 75%
bot/byte_semantics_base.py format_chat_reply 2 0 0 100%
bot/byte_semantics_base.py parse_byte_prompt 10 2 0 80%
bot/byte_semantics_base.py is_movie_fact_sheet_prompt 2 0 0 100%
bot/byte_semantics_base.py is_intro_prompt 7 1 0 86%
bot/byte_semantics_base.py build_intro_reply 3 3 0 0%
bot/byte_semantics_base.py is_current_events_prompt 2 0 0 100%
bot/byte_semantics_base.py is_high_risk_current_events_prompt 2 0 0 100%
bot/byte_semantics_base.py is_serious_technical_prompt 8 0 0 100%
bot/byte_semantics_base.py is_follow_up_prompt 15 3 0 80%
bot/byte_semantics_base.py (no function) 15 0 0 100%
bot/byte_semantics_constants.py (no function) 36 0 0 100%
bot/byte_semantics_current_events.py build_server_time_anchor_instruction 5 0 0 100%
bot/byte_semantics_current_events.py build_verifiable_prompt 10 1 0 90%
bot/byte_semantics_current_events.py _extract_reference_utc_iso 5 0 0 100%
bot/byte_semantics_current_events.py _extract_grounding_queries 6 1 0 83%
bot/byte_semantics_current_events.py _extract_grounding_source_urls 6 0 0 100%
bot/byte_semantics_current_events.py _build_grounding_source_line 18 0 0 100%
bot/byte_semantics_current_events.py _is_confidence_line 2 0 0 100%
bot/byte_semantics_current_events.py _is_source_line 2 0 0 100%
bot/byte_semantics_current_events.py _is_temporal_line 2 0 0 100%
bot/byte_semantics_current_events.py _split_non_empty_lines 2 0 0 100%
bot/byte_semantics_current_events.py _is_canonical_high_risk_fallback 13 2 0 85%
bot/byte_semantics_current_events.py _fit_high_risk_current_events_reply 23 11 0 52%
bot/byte_semantics_current_events.py normalize_current_events_reply_contract 43 2 0 95%
bot/byte_semantics_current_events.py build_current_events_safe_fallback_reply 6 0 0 100%
bot/byte_semantics_current_events.py has_current_events_source_anchor 2 0 0 100%
bot/byte_semantics_current_events.py has_current_events_confidence_label 2 0 0 100%
bot/byte_semantics_current_events.py has_current_events_temporal_anchor 2 0 0 100%
bot/byte_semantics_current_events.py has_current_events_uncertainty 2 0 0 100%
bot/byte_semantics_current_events.py is_canonical_high_risk_fallback 1 0 0 100%
bot/byte_semantics_current_events.py (no function) 25 0 0 100%
bot/byte_semantics_quality.py build_research_priority_instruction 3 0 0 100%
bot/byte_semantics_quality.py build_anti_generic_contract_instruction 4 1 0 75%
bot/byte_semantics_quality.py build_direct_answer_instruction 14 2 0 86%
bot/byte_semantics_quality.py build_adaptive_ai_instruction 8 1 0 88%
bot/byte_semantics_quality.py _quality_tokenize 7 0 0 100%
bot/byte_semantics_quality.py _extract_focus_terms 12 3 0 75%
bot/byte_semantics_quality.py _count_focus_overlap 13 1 0 92%
bot/byte_semantics_quality.py build_quality_prompt_script 16 1 0 94%
bot/byte_semantics_quality.py is_low_quality_answer 55 9 0 84%
bot/byte_semantics_quality.py build_quality_rewrite_prompt 6 0 0 100%
bot/byte_semantics_quality.py build_llm_enhanced_prompt 32 2 0 94%
bot/byte_semantics_quality.py (no function) 15 0 0 100%
bot/byte_semantics_reply.py split_text_for_chat 29 4 0 86%
bot/byte_semantics_reply.py extract_multi_reply_parts 9 4 0 56%
bot/byte_semantics_reply.py extract_movie_title 16 1 0 94%
bot/byte_semantics_reply.py build_movie_fact_sheet_query 1 0 0 100%
bot/byte_semantics_reply.py (no function) 7 0 0 100%
bot/channel_control.py extract_admin_token 19 1 0 95%
bot/channel_control.py is_dashboard_admin_authorized 7 0 0 100%
bot/channel_control.py parse_terminal_command 13 0 0 100%
bot/channel_control.py IrcChannelControlBridge.__init__ 4 0 0 100%
bot/channel_control.py IrcChannelControlBridge.bind 3 0 0 100%
bot/channel_control.py IrcChannelControlBridge.unbind 3 3 0 0%
bot/channel_control.py IrcChannelControlBridge._snapshot 2 0 0 100%
bot/channel_control.py IrcChannelControlBridge._submit 9 3 0 67%
bot/channel_control.py IrcChannelControlBridge.execute 19 4 0 79%
bot/channel_control.py IrcChannelControlBridge._safe_call 10 10 0 0%
bot/channel_control.py (no function) 22 0 0 100%
bot/channel_status.py normalize_channel_login 6 1 0 83%
bot/channel_status.py parse_channel_logins 9 0 0 100%
bot/channel_status.py format_status_channels 11 4 0 64%
bot/channel_status.py compose_status_line 1 0 0 100%
bot/channel_status.py (no function) 6 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime.__init__ 6 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime._load_from_store 8 2 0 75%
bot/clip_jobs_runtime.py ClipJobsRuntime.bind_token_provider 2 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime.start 4 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime.stop 4 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime.get_jobs 2 0 0 100%
bot/clip_jobs_runtime.py ClipJobsRuntime._process_loop 10 4 0 60%
bot/clip_jobs_runtime.py ClipJobsRuntime._sync_from_queue 15 1 0 93%
bot/clip_jobs_runtime.py ClipJobsRuntime._advance_jobs 14 4 0 71%
bot/clip_jobs_runtime.py ClipJobsRuntime._get_token 3 1 0 67%
bot/clip_jobs_runtime.py ClipJobsRuntime._handle_queued 35 3 0 91%
bot/clip_jobs_runtime.py ClipJobsRuntime._handle_polling 20 4 0 80%
bot/clip_jobs_runtime.py ClipJobsRuntime._handle_download_fetch 21 4 0 81%
bot/clip_jobs_runtime.py ClipJobsRuntime._update_job 7 1 0 86%
bot/clip_jobs_runtime.py (no function) 30 0 0 100%
bot/clip_jobs_store.py SupabaseJobStore.__init__ 5 0 0 100%
bot/clip_jobs_store.py SupabaseJobStore._get_connection 14 0 0 100%
bot/clip_jobs_store.py SupabaseJobStore._ensure_table 10 1 0 90%
bot/clip_jobs_store.py SupabaseJobStore.save_job 14 0 0 100%
bot/clip_jobs_store.py SupabaseJobStore.load_active_jobs 21 0 0 100%
bot/clip_jobs_store.py SupabaseJobStore.get_job 18 9 0 50%
bot/clip_jobs_store.py (no function) 16 0 0 100%
bot/config.py _env_flag 2 0 0 100%
bot/config.py _env_text 1 0 0 100%
bot/config.py ConfigManager.__new__ 4 0 0 100%
bot/config.py ConfigManager.__init__ 4 1 0 75%
bot/config.py ConfigManager._load_env 40 1 0 98%
bot/config.py ConfigManager.get 1 1 0 0%
bot/config.py __getattr__ 4 1 0 75%
bot/config.py (no function) 16 0 1 100%
bot/control_plane.py ControlPlaneState.__init__ 2 0 0 100%
bot/control_plane.py ControlPlaneState.get_config 1 0 0 100%
bot/control_plane.py ControlPlaneState.update_config 1 0 0 100%
bot/control_plane.py ControlPlaneState.set_loop_running 1 0 0 100%
bot/control_plane.py ControlPlaneState.touch_heartbeat 1 1 0 0%
bot/control_plane.py ControlPlaneState.register_tick 1 1 0 0%
bot/control_plane.py ControlPlaneState.register_goal_run 1 0 0 100%
bot/control_plane.py ControlPlaneState.register_budget_block 1 0 0 100%
bot/control_plane.py ControlPlaneState.register_dispatch_failure 1 0 0 100%
bot/control_plane.py ControlPlaneState.can_send_auto_chat 1 1 0 0%
bot/control_plane.py ControlPlaneState.register_auto_chat_sent 1 1 0 0%
bot/control_plane.py ControlPlaneState.consume_due_goals 1 1 0 0%
bot/control_plane.py ControlPlaneState.enqueue_action 1 0 0 100%
bot/control_plane.py ControlPlaneState.decide_action 1 0 0 100%
bot/control_plane.py ControlPlaneState.list_actions 1 0 0 100%
bot/control_plane.py ControlPlaneState.build_capabilities 9 2 0 78%
bot/control_plane.py ControlPlaneState.runtime_snapshot 5 0 0 100%
bot/control_plane.py (no function) 25 0 0 100%
bot/control_plane_actions.py ControlPlaneActionQueue.__init__ 5 0 0 100%
bot/control_plane_actions.py ControlPlaneActionQueue._expire_pending_actions_locked 16 7 0 56%
bot/control_plane_actions.py ControlPlaneActionQueue._summary_locked 2 0 0 100%
bot/control_plane_actions.py ControlPlaneActionQueue.enqueue_action 16 3 0 81%
bot/control_plane_actions.py ControlPlaneActionQueue.decide_action 20 4 0 80%
bot/control_plane_actions.py ControlPlaneActionQueue.list_actions 17 3 0 82%
bot/control_plane_actions.py ControlPlaneActionQueue.runtime_snapshot 23 1 0 96%
bot/control_plane_actions.py (no function) 14 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.__init__ 5 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.get_config 2 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.update_config 34 5 0 85%
bot/control_plane_config.py ControlPlaneConfigRuntime.set_loop_running 2 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.touch_heartbeat 3 3 0 0%
bot/control_plane_config.py ControlPlaneConfigRuntime.register_tick 5 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.register_goal_run 6 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.register_budget_block 5 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.register_dispatch_failure 5 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.can_send_auto_chat 17 6 0 65%
bot/control_plane_config.py ControlPlaneConfigRuntime.register_auto_chat_sent 5 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.consume_due_goals 29 4 0 86%
bot/control_plane_config.py ControlPlaneConfigRuntime.action_ignore_after_seconds 2 0 0 100%
bot/control_plane_config.py ControlPlaneConfigRuntime.runtime_base_snapshot 6 0 0 100%
bot/control_plane_config.py (no function) 23 0 0 100%
bot/control_plane_config_helpers.py normalize_goal 12 0 0 100%
bot/control_plane_config_helpers.py normalize_goals 11 2 0 82%
bot/control_plane_config_helpers.py prune_auto_chat_history 3 1 0 67%
bot/control_plane_config_helpers.py budget_usage 13 0 0 100%
bot/control_plane_config_helpers.py runtime_base_snapshot 1 0 0 100%
bot/control_plane_config_helpers.py (no function) 8 0 0 100%
bot/control_plane_constants.py utc_iso 1 0 0 100%
bot/control_plane_constants.py clip_text 4 1 0 75%
bot/control_plane_constants.py to_int 5 2 0 60%
bot/control_plane_constants.py default_goals_copy 1 0 0 100%
bot/control_plane_constants.py (no function) 14 0 0 100%
bot/dashboard_server.py HealthHandler._check_rate_limit 11 0 0 100%
bot/dashboard_server.py HealthHandler._send_cors_headers 3 0 0 100%
bot/dashboard_server.py HealthHandler._send_bytes 7 0 0 100%
bot/dashboard_server.py HealthHandler._send_json 2 0 0 100%
bot/dashboard_server.py HealthHandler._send_text 1 1 0 0%
bot/dashboard_server.py HealthHandler._dashboard_authorized 15 0 0 100%
bot/dashboard_server.py HealthHandler._send_dashboard_auth_challenge 8 0 0 100%
bot/dashboard_server.py HealthHandler._send_forbidden 1 0 0 100%
bot/dashboard_server.py HealthHandler._read_json_payload 23 4 0 83%
bot/dashboard_server.py HealthHandler._send_dashboard_asset 12 4 0 67%
bot/dashboard_server.py HealthHandler._build_observability_payload 1 1 0 0%
bot/dashboard_server.py HealthHandler._handle_channel_control 21 0 0 100%
bot/dashboard_server.py HealthHandler.do_OPTIONS 3 0 0 100%
bot/dashboard_server.py HealthHandler.do_GET 4 0 0 100%
bot/dashboard_server.py HealthHandler.do_PUT 4 4 0 0%
bot/dashboard_server.py HealthHandler.do_POST 4 2 0 50%
bot/dashboard_server.py HealthHandler.log_message 1 0 0 100%
bot/dashboard_server.py run_server 2 0 0 100%
bot/dashboard_server.py (no function) 32 0 0 100%
bot/dashboard_server_routes.py _is_api_route 1 0 0 100%
bot/dashboard_server_routes.py build_observability_payload 10 0 0 100%
bot/dashboard_server_routes.py _dashboard_asset_route 17 0 0 100%
bot/dashboard_server_routes.py handle_get 53 0 0 100%
bot/dashboard_server_routes.py handle_get_config_js 3 0 0 100%
bot/dashboard_server_routes.py handle_put 19 4 0 79%
bot/dashboard_server_routes.py (no function) 21 0 0 100%
bot/dashboard_server_routes_post.py handle_post 15 0 0 100%
bot/dashboard_server_routes_post.py _handle_channel_control_post 14 0 0 100%
bot/dashboard_server_routes_post.py _handle_autonomy_tick 16 3 0 81%
bot/dashboard_server_routes_post.py _handle_action_decision 26 4 0 85%
bot/dashboard_server_routes_post.py _handle_vision_ingest 15 2 0 87%
bot/dashboard_server_routes_post.py (no function) 11 0 0 100%
bot/eventsub_runtime.py _require_env 4 0 0 100%
bot/eventsub_runtime.py get_ctx_message_text 2 0 0 100%
bot/eventsub_runtime.py get_ctx_author 2 0 0 100%
bot/eventsub_runtime.py AgentComponent.__init__ 1 0 0 100%
bot/eventsub_runtime.py AgentComponent.component_check 1 1 0 0%
bot/eventsub_runtime.py AgentComponent.ask 6 0 0 100%
bot/eventsub_runtime.py AgentComponent.vibe 6 0 0 100%
bot/eventsub_runtime.py AgentComponent.style 11 2 0 82%
bot/eventsub_runtime.py AgentComponent.scene 32 6 0 81%
bot/eventsub_runtime.py AgentComponent.status 1 0 0 100%
bot/eventsub_runtime.py ByteBot.__init__ 3 0 0 100%
bot/eventsub_runtime.py ByteBot.setup_hook 6 0 0 100%
bot/eventsub_runtime.py ByteBot.close 2 0 0 100%
bot/eventsub_runtime.py ByteBot.event_ready 1 0 0 100%
bot/eventsub_runtime.py ByteBot.build_status_line 1 1 0 0%
bot/eventsub_runtime.py ByteBot.handle_byte_prompt 5 0 0 100%
bot/eventsub_runtime.py ByteBot.event_message 23 5 0 78%
bot/eventsub_runtime.py (no function) 40 0 0 100%
bot/heartbeat.py _heartbeat_loop 15 1 0 93%
bot/heartbeat.py start_heartbeat 5 0 0 100%
bot/heartbeat.py (no function) 9 0 0 100%
bot/hud_runtime.py HudRuntime.__init__ 2 0 0 100%
bot/hud_runtime.py HudRuntime.push_message 7 0 0 100%
bot/hud_runtime.py HudRuntime.get_messages 4 0 0 100%
bot/hud_runtime.py HudRuntime.clear 2 0 0 100%
bot/hud_runtime.py HudRuntime.get_status 2 0 0 100%
bot/hud_runtime.py (no function) 14 0 0 100%
bot/irc_connection.py IrcConnectionMixin._send_raw 4 0 0 100%
bot/irc_connection.py IrcConnectionMixin._await_login_confirmation 20 4 0 80%
bot/irc_connection.py IrcConnectionMixin._connect 11 0 0 100%
bot/irc_connection.py IrcConnectionMixin._close 7 0 0 100%
bot/irc_connection.py IrcConnectionMixin.run_forever 43 2 0 95%
bot/irc_connection.py (no function) 27 0 1 100%
bot/irc_handlers.py IrcLineHandlersMixin._handle_membership_event 20 1 0 95%
bot/irc_handlers.py IrcLineHandlersMixin._handle_notice_line 16 3 0 81%
bot/irc_handlers.py IrcLineHandlersMixin._handle_privmsg 37 3 0 92%
bot/irc_handlers.py IrcLineHandlersMixin._handle_privmsg.reply_in_source_channel 1 0 0 100%
bot/irc_handlers.py IrcLineHandlersMixin._recover_authentication 10 0 0 100%
bot/irc_handlers.py IrcLineHandlersMixin._raise_auth_error 1 0 0 100%
bot/irc_handlers.py (no function) 21 0 8 100%
bot/irc_management.py IrcChannelManagementMixin._parse_channel_management_prompt 13 0 0 100%
bot/irc_management.py IrcChannelManagementMixin._handle_channel_management_prompt 55 8 0 85%
bot/irc_management.py (no function) 9 0 1 100%
bot/irc_protocol.py IrcAuthor.__init__ 6 0 0 100%
bot/irc_protocol.py IrcMessageAdapter.__init__ 3 0 0 100%
bot/irc_protocol.py parse_irc_tags 9 2 0 78%
bot/irc_protocol.py flatten_chat_text 2 0 0 100%
bot/irc_protocol.py is_irc_notice_delivery_block 5 0 0 100%
bot/irc_protocol.py (no function) 15 0 0 100%
bot/irc_runtime.py IrcByteBot.__init__ 28 3 0 89%
bot/irc_runtime.py (no function) 12 0 0 100%
bot/irc_state.py IrcChannelStateMixin.build_status_line 1 0 0 100%
bot/irc_state.py IrcChannelStateMixin.channel_action_timeout_seconds 1 0 0 100%
bot/irc_state.py IrcChannelStateMixin._prepare_reply_text 1 0 0 100%
bot/irc_state.py IrcChannelStateMixin.send_reply 9 1 0 89%
bot/irc_state.py IrcChannelStateMixin._send_tracked_channel_reply 9 1 0 89%
bot/irc_state.py IrcChannelStateMixin._mark_channel_joined 14 3 0 79%
bot/irc_state.py IrcChannelStateMixin._mark_channel_parted 21 4 0 81%
bot/irc_state.py IrcChannelStateMixin._signal_pending_channel_action 3 0 0 100%
bot/irc_state.py IrcChannelStateMixin._can_wait_for_channel_confirmation 6 0 0 100%
bot/irc_state.py IrcChannelStateMixin._wait_for_channel_confirmation 13 1 0 92%
bot/irc_state.py IrcChannelStateMixin._join_channel 14 1 0 93%
bot/irc_state.py IrcChannelStateMixin._part_channel 15 1 0 93%
bot/irc_state.py IrcChannelStateMixin.admin_list_channels 1 0 0 100%
bot/irc_state.py IrcChannelStateMixin.admin_join_channel 8 1 0 88%
bot/irc_state.py IrcChannelStateMixin.admin_part_channel 10 2 0 80%
bot/irc_state.py (no function) 33 0 1 100%
bot/logic.py (no function) 5 0 0 100%
bot/logic_constants.py (no function) 22 0 0 100%
bot/logic_context.py normalize_memory_excerpt 10 1 0 90%
bot/logic_context.py StreamContext.__init__ 8 0 0 100%
bot/logic_context.py StreamContext.get_uptime_minutes 1 0 0 100%
bot/logic_context.py StreamContext.update_content 9 0 0 100%
bot/logic_context.py StreamContext.clear_content 8 2 0 75%
bot/logic_context.py StreamContext.list_supported_content_types 1 0 0 100%
bot/logic_context.py StreamContext.format_observability 6 0 0 100%
bot/logic_context.py StreamContext.status_snapshot 2 2 0 0%
bot/logic_context.py StreamContext.remember_user_message 6 1 0 83%
bot/logic_context.py StreamContext.remember_bot_reply 6 1 0 83%
bot/logic_context.py StreamContext.format_recent_chat 4 0 0 100%
bot/logic_context.py build_system_instruction 1 0 0 100%
bot/logic_context.py get_server_clock_snapshot 3 0 0 100%
bot/logic_context.py build_dynamic_prompt 8 1 0 88%
bot/logic_context.py enforce_reply_limits 24 3 0 88%
bot/logic_context.py enforce_reply_limits.close_sentence 10 4 0 60%
bot/logic_context.py (no function) 20 0 0 100%
bot/logic_grounding.py empty_grounding_metadata 1 0 0 100%
bot/logic_grounding.py _read_field 3 1 0 67%
bot/logic_grounding.py _append_unique_text 8 3 0 62%
bot/logic_grounding.py extract_grounding_metadata 29 2 0 93%
bot/logic_grounding.py has_grounding_signal 5 0 0 100%
bot/logic_grounding.py extract_response_text 15 2 0 87%
bot/logic_grounding.py (no function) 17 0 0 100%
bot/logic_inference.py is_rate_limited_inference_error 2 0 0 100%
bot/logic_inference.py is_timeout_inference_error 4 0 0 100%
bot/logic_inference.py _extract_usage 4 1 0 75%
bot/logic_inference.py _select_model 6 1 0 83%
bot/logic_inference.py _extract_search_query 6 2 0 67%
bot/logic_inference.py _build_grounding_metadata 3 0 0 100%
bot/logic_inference.py _fetch_search_results 6 0 0 100%
bot/logic_inference.py _build_messages 6 0 0 100%
bot/logic_inference.py _record_token_usage 5 2 0 60%
bot/logic_inference.py _execute_inference 1 0 0 100%
bot/logic_inference.py _is_retryable_inference_error 5 0 0 100%
bot/logic_inference.py _on_retry_log 4 0 0 100%
bot/logic_inference.py _execute_inference_with_retry 3 0 0 100%
bot/logic_inference.py _execute_inference_with_retry.on_retry_check 4 0 0 100%
bot/logic_inference.py _execute_inference_with_retry._execute_and_record 3 0 0 100%
bot/logic_inference.py _process_response 7 1 0 86%
bot/logic_inference.py agent_inference 23 3 0 87%
bot/logic_inference.py (no function) 29 0 0 100%
bot/main.py main 10 0 0 100%
bot/main.py (no function) 6 0 2 100%
bot/observability.py (no function) 3 0 0 100%
bot/observability_analytics.py compute_chat_metrics 11 0 0 100%
bot/observability_analytics.py compute_interaction_metrics 5 0 0 100%
bot/observability_analytics.py compute_quality_metrics 6 0 0 100%
bot/observability_analytics.py compute_token_metrics 6 0 0 100%
bot/observability_analytics.py compute_autonomy_metrics 5 0 0 100%
bot/observability_analytics.py compute_leaderboards 18 0 0 100%
bot/observability_analytics.py (no function) 9 0 0 100%
bot/observability_helpers.py utc_iso 1 0 0 100%
bot/observability_helpers.py clip_preview 4 0 0 100%
bot/observability_helpers.py compute_p95 5 1 0 80%
bot/observability_helpers.py percentage 3 0 0 100%
bot/observability_helpers.py (no function) 14 0 0 100%
bot/observability_snapshot.py build_observability_snapshot 37 1 0 97%
bot/observability_snapshot.py _build_sentiment_block 3 0 0 100%
bot/observability_snapshot.py _build_vision_block 2 0 0 100%
bot/observability_snapshot.py (no function) 7 0 0 100%
bot/observability_state.py ObservabilityState.__init__ 21 0 0 100%
bot/observability_state.py ObservabilityState.update_clips_auth_status 3 3 0 0%
bot/observability_state.py ObservabilityState.record_chat_message 3 0 0 100%
bot/observability_state.py ObservabilityState.record_byte_trigger 3 0 0 100%
bot/observability_state.py ObservabilityState.record_reply 3 0 0 100%
bot/observability_state.py ObservabilityState.record_quality_gate 3 0 0 100%
bot/observability_state.py ObservabilityState.record_byte_interaction 3 0 0 100%
bot/observability_state.py ObservabilityState.record_token_usage 3 3 0 0%
bot/observability_state.py ObservabilityState.record_autonomy_goal 3 0 0 100%
bot/observability_state.py ObservabilityState.record_auto_scene_update 3 0 0 100%
bot/observability_state.py ObservabilityState.record_token_refresh 3 0 0 100%
bot/observability_state.py ObservabilityState.record_auth_failure 3 0 0 100%
bot/observability_state.py ObservabilityState.record_error 3 0 0 100%
bot/observability_state.py ObservabilityState.record_vision_frame 3 3 0 0%
bot/observability_state.py ObservabilityState.snapshot 4 0 0 100%
bot/observability_state.py (no function) 24 0 0 100%
bot/observability_state_core.py resolve_now 1 0 0 100%
bot/observability_state_core.py touch_bucket_locked 6 0 0 100%
bot/observability_state_core.py bump_timeline_locked 4 0 0 100%
bot/observability_state_core.py append_event_locked 1 0 0 100%
bot/observability_state_core.py prune_locked 22 8 0 64%
bot/observability_state_core.py (no function) 8 0 0 100%
bot/observability_state_recorders.py record_chat_message_locked 19 0 0 100%
bot/observability_state_recorders.py record_byte_trigger_locked 12 0 0 100%
bot/observability_state_recorders.py record_reply_locked 8 1 0 88%
bot/observability_state_recorders.py record_quality_gate_locked 8 0 0 100%
bot/observability_state_recorders.py record_byte_interaction_locked 24 0 0 100%
bot/observability_state_recorders.py record_token_usage_locked 8 8 0 0%
bot/observability_state_recorders.py record_autonomy_goal_locked 8 0 0 100%
bot/observability_state_recorders.py record_auto_scene_update_locked 8 2 0 75%
bot/observability_state_recorders.py record_token_refresh_locked 4 0 0 100%
bot/observability_state_recorders.py record_auth_failure_locked 6 0 0 100%
bot/observability_state_recorders.py record_error_locked 7 0 0 100%
bot/observability_state_recorders.py record_vision_frame_locked 4 4 0 0%
bot/observability_state_recorders.py (no function) 15 0 0 100%
bot/prompt_flow.py unwrap_inference_result 8 0 0 100%
bot/prompt_flow.py handle_movie_fact_sheet_prompt 11 0 0 100%
bot/prompt_flow.py handle_byte_prompt_text 61 0 0 100%
bot/prompt_flow.py handle_byte_prompt_text.tracked_reply 7 1 0 86%
bot/prompt_flow.py handle_byte_prompt_text.log_interaction 4 0 0 100%
bot/prompt_flow.py (no function) 41 0 0 100%
bot/prompt_runtime.py build_intro_reply 3 0 0 100%
bot/prompt_runtime.py unwrap_inference_result 1 1 0 0%
bot/prompt_runtime.py build_prompt_runtime 1 0 0 100%
bot/prompt_runtime.py handle_movie_fact_sheet_prompt 1 1 0 0%
bot/prompt_runtime.py handle_byte_prompt_text 12 1 0 92%
bot/prompt_runtime.py handle_byte_prompt_text.effective_status_factory 5 5 0 0%
bot/prompt_runtime.py (no function) 36 0 0 100%
bot/recap_engine.py is_recap_prompt 1 0 0 100%
bot/recap_engine.py generate_recap 12 0 0 100%
bot/recap_engine.py (no function) 11 0 0 100%
bot/runtime_config.py env_flag 2 2 0 0%
bot/runtime_config.py env_text 1 1 0 0%
bot/runtime_config.py (no function) 58 0 0 100%
bot/scene_metadata.py SceneMetadataService.__init__ 9 0 0 100%
bot/scene_metadata.py SceneMetadataService.normalize_host 6 0 0 100%
bot/scene_metadata.py SceneMetadataService.extract_urls 6 0 0 100%
bot/scene_metadata.py SceneMetadataService.contains_unsafe_terms 2 0 0 100%
bot/scene_metadata.py SceneMetadataService.classify_supported_link 7 1 0 86%
bot/scene_metadata.py SceneMetadataService.is_safe_scene_link 9 1 0 89%
bot/scene_metadata.py SceneMetadataService.build_oembed_endpoint 6 0 0 100%
bot/scene_metadata.py SceneMetadataService.build_metadata_source_url 7 0 0 100%
bot/scene_metadata.py SceneMetadataService.fetch_oembed_metadata 17 1 0 94%
bot/scene_metadata.py SceneMetadataService.get_cached_metadata 9 2 0 78%
bot/scene_metadata.py SceneMetadataService.set_cached_metadata 2 0 0 100%
bot/scene_metadata.py SceneMetadataService.resolve_scene_metadata 7 7 0 0%
bot/scene_metadata.py SceneMetadataService.metadata_to_safety_text 5 0 0 100%
bot/scene_metadata.py SceneMetadataService.is_safe_scene_metadata 4 0 0 100%
bot/scene_metadata.py SceneMetadataService.build_sanitized_scene_description 12 0 0 100%
bot/scene_metadata.py (no function) 28 0 0 100%
bot/scene_runtime.py normalize_host 1 1 0 0%
bot/scene_runtime.py extract_urls 1 0 0 100%
bot/scene_runtime.py contains_unsafe_terms 1 0 0 100%
bot/scene_runtime.py classify_supported_link 1 0 0 100%
bot/scene_runtime.py is_safe_scene_link 1 0 0 100%
bot/scene_runtime.py build_oembed_endpoint 1 1 0 0%
bot/scene_runtime.py build_metadata_source_url 1 1 0 0%
bot/scene_runtime.py fetch_oembed_metadata 1 1 0 0%
bot/scene_runtime.py get_cached_metadata 1 1 0 0%
bot/scene_runtime.py set_cached_metadata 1 1 0 0%
bot/scene_runtime.py resolve_scene_metadata 1 1 0 0%
bot/scene_runtime.py metadata_to_safety_text 1 1 0 0%
bot/scene_runtime.py is_safe_scene_metadata 1 0 0 100%
bot/scene_runtime.py build_sanitized_scene_description 1 0 0 100%
bot/scene_runtime.py auto_update_scene_from_message 28 4 0 86%
bot/scene_runtime.py (no function) 22 0 0 100%
bot/sentiment_constants.py (no function) 9 0 0 100%
bot/sentiment_engine.py _score_message 13 0 0 100%
bot/sentiment_engine.py SentimentEngine.__init__ 2 0 0 100%
bot/sentiment_engine.py SentimentEngine.ingest_message 5 0 0 100%
bot/sentiment_engine.py SentimentEngine.get_scores 11 0 0 100%
bot/sentiment_engine.py SentimentEngine.get_vibe 8 1 0 88%
bot/sentiment_engine.py SentimentEngine.should_trigger_anti_boredom 6 0 0 100%
bot/sentiment_engine.py SentimentEngine.should_trigger_anti_confusion 6 0 0 100%
bot/sentiment_engine.py (no function) 15 0 0 100%
bot/status_runtime.py normalize_channel_login 1 0 0 100%
bot/status_runtime.py parse_channel_logins 1 0 0 100%
bot/status_runtime.py format_status_channels 2 0 0 100%
bot/status_runtime.py build_status_line 11 0 0 100%
bot/status_runtime.py (no function) 11 0 0 100%
bot/supabase_client.py _get_client 19 0 0 100%
bot/supabase_client.py is_enabled 2 0 0 100%
bot/supabase_client.py log_message 6 1 0 83%
bot/supabase_client.py log_reply 6 1 0 83%
bot/supabase_client.py log_event 6 1 0 83%
bot/supabase_client.py (no function) 11 0 0 100%
bot/twitch_clips_api.py TwitchClipRateLimitError.__init__ 2 0 0 100%
bot/twitch_clips_api.py _parse_response 7 0 0 100%
bot/twitch_clips_api.py _handle_http_error 21 0 0 100%
bot/twitch_clips_api.py _create_clip_sync 24 1 0 96%
bot/twitch_clips_api.py _get_clip_sync 19 1 0 95%
bot/twitch_clips_api.py create_clip_live 1 0 0 100%
bot/twitch_clips_api.py create_clip_from_vod 1 0 0 100%
bot/twitch_clips_api.py get_clip 1 0 0 100%
bot/twitch_clips_api.py get_clip_download_url 1 0 0 100%
bot/twitch_clips_api.py _create_clip_from_vod_sync 25 8 0 68%
bot/twitch_clips_api.py _get_clip_download_url_sync 27 3 0 89%
bot/twitch_clips_api.py (no function) 27 0 0 100%
bot/twitch_tokens.py is_irc_auth_failure_line 2 0 0 100%
bot/twitch_tokens.py TwitchTokenManager.__init__ 11 0 0 100%
bot/twitch_tokens.py TwitchTokenManager.can_refresh 1 0 0 100%
bot/twitch_tokens.py TwitchTokenManager._set_expiration 9 0 0 100%
bot/twitch_tokens.py TwitchTokenManager._is_expiring_soon 3 0 0 100%
bot/twitch_tokens.py TwitchTokenManager._validate_token_sync 17 1 0 94%
bot/twitch_tokens.py TwitchTokenManager._refresh_token_sync 25 4 0 84%
bot/twitch_tokens.py TwitchTokenManager.force_refresh 17 0 0 100%
bot/twitch_tokens.py TwitchTokenManager.ensure_token_for_connection 21 2 0 90%
bot/twitch_tokens.py TwitchTokenManager.validate_now 5 5 0 0%
bot/twitch_tokens.py TwitchTokenManager.validate_clips_auth 12 0 0 100%
bot/twitch_tokens.py (no function) 30 0 0 100%
bot/utils/__init__.py (no function) 1 0 0 100%
bot/utils/retry.py is_retryable_error 3 0 0 100%
bot/utils/retry.py with_retry 3 0 0 100%
bot/utils/retry.py with_retry.decorator 2 0 0 100%
bot/utils/retry.py with_retry.decorator.wrapper 18 2 0 89%
bot/utils/retry.py retry_async 16 1 0 94%
bot/utils/retry.py (no function) 11 0 0 100%
bot/vision_constants.py (no function) 4 0 0 100%
bot/vision_runtime.py _detect_clip_trigger 4 0 0 100%
bot/vision_runtime.py VisionRuntime.__init__ 4 0 0 100%
bot/vision_runtime.py VisionRuntime.ingest_frame 29 0 0 100%
bot/vision_runtime.py VisionRuntime._analyze_frame 8 1 0 88%
bot/vision_runtime.py VisionRuntime._enqueue_visual_clip 6 0 0 100%
bot/vision_runtime.py VisionRuntime.get_status 2 0 0 100%
bot/vision_runtime.py (no function) 20 0 0 100%
bot/web_search.py search_web 12 0 0 100%
bot/web_search.py _ddg_search_sync 24 0 0 100%
bot/web_search.py format_search_context 8 0 0 100%
bot/web_search.py (no function) 14 0 0 100%
Total   4732 438 31 91%

No items found using the specified filter.

19 empty functions skipped.