AI Slop Code RIsk Monitor

HolmesGPT/holmesgpt

SRE Agent - CNCF Sandbox Project

30.4 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for HolmesGPT/holmesgpt, a Python project with 3,566 GitHub stars. SynthScan examined 207,917 lines of code across 831 source files, recording 4855 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 30.4 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

30.4
Adjusted Signal
30.4
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.6K
Stars
Python
Language
207.9K
Lines of Code
831
Files
4.9K
Pattern Hits
2026-10-12
Scan Date
0.16
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 61.6/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 3744 finding(s).

Hallucinated Dependency & Supply Chain Risk 9.9/100 · LOW

Are imports declared and package/API names verified? 202 finding(s).

Agent Over-Engineering Ratio 69.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 4065 finding(s).

PR Review Velocity Impact 78.3/100 · CRITICAL

Which changes need focused human review? 4855 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 1HIGH 136MEDIUM 409LOW 4309

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 4855 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers3135 hits · 3024 pts
SeverityFileLineSnippetContext
LOWconftest.py306def pytest_collection_modifyitems(config, items):CODE
LOWserver.py159def open_experiment_from_request(http_request: Request) -> None:CODE
LOWserver.py211def _warm_skill_repos_and_mirror():CODE
LOWserver.py280def _get_next_refresh_interval(CODE
LOWserver.py294def _toolset_status_refresh_loop():CODE
LOWserver.py427def stop_conversation_runtime():CODE
LOWserver.py538def extract_passthrough_headers(request: Request) -> dict:CODE
LOWserver.py566def _stream_with_storage_cleanup(storage, stream_generator, req_info):CODE
LOWserver.py575def _stream_with_trace_cleanup(storage, stream_generator, req_info, trace_span):CODE
LOWexperimental/ag-ui/server-agui.py310def _should_execute_suggested_query(CODE
LOWexperimental/ag-ui/server-agui.py334def _should_graph_timeseries_data(tool_name: str) -> bool:CODE
LOWexperimental/ag-ui/server-agui.py424async def _stream_agui_text_message_event(message: str):CODE
LOWexperimental/ag-ui/server-agui.py439def _agui_input_to_holmes_chat_request(input_data: RunAgentInput) -> ChatRequest:CODE
LOW⚡tests/test_server_ssl.py35def test_no_tls_config_returns_empty(monkeypatch):CODE
LOW⚡tests/test_server_ssl.py39def test_only_certfile_fails_fast(monkeypatch, cert_and_key):CODE
LOW⚡tests/test_server_ssl.py46def test_only_keyfile_fails_fast(monkeypatch, cert_and_key):CODE
LOW⚡tests/test_server_ssl.py53def test_missing_cert_file_fails_fast(monkeypatch, tmp_path, cert_and_key):CODE
LOWtests/test_server_ssl.py64def test_unreadable_cert_file_fails_fast(monkeypatch, cert_and_key):CODE
LOWtests/test_server_ssl.py82def test_keyfile_password_included(monkeypatch, cert_and_key):CODE
LOWtests/test_server_ssl.py91def test_mtls_ca_certs_enables_client_verification(monkeypatch, tmp_path, cert_and_key):CODE
LOW⚡tests/test_server_ssl.py103def test_missing_ca_certs_file_fails_fast(monkeypatch, tmp_path, cert_and_key):CODE
LOW⚡tests/test_server_ssl.py112def test_ca_certs_without_cert_and_key_fails_fast(monkeypatch, tmp_path):CODE
LOW⚡tests/test_server_ssl.py121def test_keyfile_password_without_cert_and_key_fails_fast(monkeypatch):CODE
LOWtests/test_robusta_client.py39def test_returns_models_on_first_success(mocked_responses):CODE
LOWtests/test_robusta_client.py50def test_recovers_from_transient_gateway_errors(mocked_responses):CODE
LOWtests/test_robusta_client.py62def test_gives_up_after_max_attempts(mocked_responses):CODE
LOWtests/test_robusta_client.py73def test_does_not_retry_client_errors(mocked_responses, status):CODE
LOWtests/test_robusta_client.py84def test_retries_connection_errors(mocked_responses):CODE
LOWtests/test_robusta_client.py106def test_retries_rate_limiting(mocked_responses):CODE
LOWtests/test_robusta_client.py116def test_parses_an_opted_out_account(mocked_responses):CODE
LOWtests/test_robusta_client.py140def test_parses_an_enabled_account(mocked_responses):CODE
LOWtests/test_robusta_client.py150def test_ignores_the_envelope_fields_holmes_does_not_read(mocked_responses):CODE
LOWtests/test_robusta_client.py162def test_ignores_unknown_response_fields(mocked_responses):CODE
LOWtests/test_mcp_refresh_backoff.py6 def test_backoff_schedule_when_mcp_failed(self):CODE
LOW⚡tests/test_mcp_refresh_backoff.py20 def test_falls_back_to_default_after_schedule_exhausted(self):CODE
LOW⚡tests/test_mcp_refresh_backoff.py29 def test_default_interval_when_no_failures(self):CODE
LOW⚡tests/test_mcp_refresh_backoff.py35 def test_resets_backoff_when_mcp_recovers(self):CODE
LOWtests/test_mcp_refresh_backoff.py47 def test_backoff_restarts_on_new_failure(self):CODE
LOW⚡tests/test_header_propagation.py42 def test_request_context_header(self):CODE
LOW⚡tests/test_header_propagation.py50 def test_case_insensitive_request_context(self):CODE
LOW⚡tests/test_header_propagation.py58 def test_missing_header_renders_empty(self):CODE
LOW⚡tests/test_header_propagation.py96 def test_command_renders_request_context_header(self):CODE
LOW⚡tests/test_header_propagation.py181 def test_model_dump_redacts_request_context_headers(self):CODE
LOW⚡tests/test_header_propagation.py204 def test_extra_headers_merged_into_request(self, mock_request):CODE
LOW⚡tests/test_header_propagation.py298 def test_config_level_extra_headers_rendered(self):CODE
LOW⚡tests/test_header_propagation.py512 def test_documented_curl_pattern_with_real_token(self):CODE
LOWtests/test_header_propagation.py112 def test_command_renders_env_var(self, monkeypatch):CODE
LOWtests/test_header_propagation.py128 def test_command_works_without_request_context(self):CODE
LOWtests/test_header_propagation.py143 def test_script_renders_request_context_header(self):CODE
LOWtests/test_header_propagation.py159 def test_command_renders_case_insensitive_header(self):CODE
LOWtests/test_header_propagation.py249 def test_extra_headers_override_defaults(self, mock_request):CODE
LOWtests/test_header_propagation.py316 def test_extra_headers_with_request_context(self):CODE
LOWtests/test_header_propagation.py337 def test_static_headers_and_extra_headers_merged(self):CODE
LOWtests/test_header_propagation.py357 def test_extra_headers_override_static_headers(self):CODE
LOWtests/test_header_propagation.py396 def test_command_header_metacharacters_are_rejected(self, payload):CODE
LOWtests/test_header_propagation.py414 def test_script_header_metacharacters_are_rejected(self, payload):CODE
LOWtests/test_header_propagation.py428 def test_documented_curl_auth_token_example_is_safe(self):CODE
LOWtests/test_header_propagation.py448 def test_top_level_request_context_value_is_rejected(self):CODE
LOWtests/test_header_propagation.py461 def test_build_context_raises_on_metacharacter_header(self):CODE
LOWtests/test_header_propagation.py474 def test_benign_header_with_whitespace_is_allowed(self):CODE
3075 more matches not shown…
Decorative Section Separators283 hits · 1025 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_header_propagation.py91# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py93# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py176# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py178# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py198# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py200# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py293# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py295# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py499# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_header_propagation.py502# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_header_propagation.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_header_propagation.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_header_propagation.py377# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_header_propagation.py379# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_check_prerequisites.py400# ============================================================================COMMENT
MEDIUMtests/test_check_prerequisites.py402# ============================================================================COMMENT
MEDIUM⚡tests/test_bash_session_prefix_forgery.py167# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_bash_session_prefix_forgery.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py9# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py11# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py17# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py19# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py77# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py169# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py171# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py219# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py221# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py270# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_json_schema_coerce.py272# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_json_schema_coerce.py109# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_json_schema_coerce.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py174# ── build_tree_from_schema ────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py374# ── save_config_to_file ──────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py488# ── run_config_test ───────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py538# ── select_toolset ────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py548# ── _get_existing_config ──────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_toolset_config_tui.py702# ── Integration: real Pydantic configs ────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py40# ── Fixtures ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py133# ── _resolve_primitive_type ───────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py274# ── _flatten_tree ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py304# ── tree_to_dict ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py579# ── ConfigFieldNode manipulation ──────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py811# ── Enum support ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py922# ── MCP save/load ────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_toolset_config_tui.py1007# ── Per-class config cache (mode cycling) ────────────────────────────COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py431# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py433# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py471# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py473# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py537# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py539# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py592# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py594# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py634# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py636# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py804# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py806# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py874# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_tool_calling_llm.py876# ---------------------------------------------------------------------------COMMENT
223 more matches not shown…
Excessive Try-Catch Wrapping498 hits · 490 pts
SeverityFileLineSnippetContext
LOWconftest.py133 except Exception as e:CODE
MEDIUMserver.py990def readiness_check():CODE
LOW⚡server.py245 except Exception:CODE
LOW⚡server.py249 except Exception:CODE
LOW⚡server.py254 except Exception:CODE
LOW⚡server.py261 except Exception:CODE
LOWserver.py222 except Exception:CODE
LOWserver.py228 except Exception:CODE
LOWserver.py325 except Exception:CODE
LOWserver.py334 except Exception:CODE
LOWserver.py347 except Exception:CODE
LOWserver.py367 except Exception:CODE
LOWserver.py378 except Exception:CODE
LOWserver.py388 except Exception:CODE
LOWserver.py441 except Exception:CODE
LOWserver.py523 except Exception as e:CODE
LOWserver.py852 except Exception as e:CODE
LOWserver.py874 except Exception as e:CODE
LOWserver.py994 except Exception as e:CODE
LOWtempo_cli.py95 except Exception as e:CODE
LOWtempo_cli.py124 except Exception as e:CODE
LOWtempo_cli.py171 except Exception as e:CODE
LOWtempo_cli.py206 except Exception as e:CODE
LOWtempo_cli.py253 except Exception as e:CODE
LOWtempo_cli.py298 except Exception as e:CODE
LOWtempo_cli.py330 except Exception as e:CODE
LOWtempo_cli.py370 except Exception as e:CODE
LOWexperimental/ag-ui/server-agui.py280 except Exception as e:CODE
LOWexperimental/ag-ui/server-agui.py393 except Exception as e:CODE
MEDIUMexperimental/ag-ui/server-agui.py138def event_generator(message_history):CODE
MEDIUMexperimental/ag-ui/server-agui.py342def _parse_timeseries_data(data) -> dict:CODE
LOWtests/conftest.py54 except Exception:CODE
MEDIUMtests/test_mcp_toolset.py2272 print(f"Error: {result[1]}")CODE
LOWtests/test_mcp_toolset.py122 except Exception as e:CODE
LOWtests/test_mcp_toolset.py2327 except Exception as e:CODE
LOWtests/test_mcp_oauth.py1361 except Exception:CODE
LOWtests/test_mcp_oauth.py1405 except Exception:CODE
LOWtests/test_mcp_oauth.py1449 except Exception:CODE
LOWtests/test_mcp_oauth.py1502 except Exception:CODE
LOWtests/llm/conftest.py122 except Exception as e: # pragma: no cover - defensive error propagationCODE
LOWtests/llm/conftest.py314 except Exception as e:CODE
LOWtests/llm/conftest.py409 except Exception:CODE
LOWtests/llm/conftest.py472 except Exception as e:CODE
LOWtests/llm/conftest.py501 except Exception as e:CODE
LOWtests/llm/test_holmes_checks.py230 except Exception as e:CODE
LOWtests/llm/test_holmes_checks.py241 except Exception:CODE
LOWtests/llm/test_compaction.py243 except Exception as e:CODE
LOWtests/llm/test_ask_holmes.py141 except Exception as e:CODE
LOWtests/llm/test_ask_holmes.py387 except Exception as e:CODE
LOWtests/llm/test_ask_holmes.py533 except Exception as e:CODE
LOWtests/llm/test_ask_holmes.py642 except Exception as e:CODE
LOWtests/llm/utils/property_manager.py330 except Exception:CODE
LOWtests/llm/utils/mock_dal.py65 except Exception as e:CODE
LOW⚡tests/llm/utils/mock_dal.py78 except Exception as e:CODE
LOW⚡tests/llm/utils/mock_dal.py92 except Exception as e:CODE
LOWtests/llm/utils/port_forward.py62 except Exception as e:CODE
LOWtests/llm/utils/port_forward.py111 except Exception as e:CODE
LOWtests/llm/utils/port_forward.py119 except Exception:CODE
LOWtests/llm/utils/port_forward.py389 except Exception as e:CODE
LOWtests/llm/utils/braintrust.py210 except Exception:CODE
438 more matches not shown…
Empty Error Handlers59 hits · 295 pts
SeverityFileLineSnippetContext
HIGHconftest.py98except ImportError:CODE
HIGHconftest.py114except ImportError:CODE
HIGHtests/conftest.py54except Exception:CODE
HIGHtests/test_approval_workflow.py182except json.JSONDecodeError:CODE
HIGHtests/test_approval_workflow.py339except json.JSONDecodeError:CODE
HIGHtests/test_approval_workflow.py492except json.JSONDecodeError:CODE
HIGHtests/test_http_docs.py106except ValueError:CODE
HIGHtests/test_bash_session_prefix_flow.py180except json.JSONDecodeError:CODE
HIGHtests/test_mcp_toolset.py2016except RuntimeError:CODE
HIGHtests/test_mcp_oauth.py1361except Exception:CODE
HIGHtests/test_mcp_oauth.py1405except Exception:CODE
HIGHtests/test_mcp_oauth.py1449except Exception:CODE
HIGHtests/test_mcp_oauth.py1502except Exception:CODE
HIGHtests/llm/conftest.py409except Exception:CODE
HIGHtests/llm/test_holmes_checks.py241except Exception:CODE
HIGHtests/llm/utils/property_manager.py330except Exception:CODE
HIGHtests/llm/utils/port_forward.py119except Exception:CODE
HIGHtests/llm/utils/port_forward.py387except (ValueError, ProcessLookupError):CODE
HIGHtests/llm/utils/answer_dump.py84except Exception: # noqa: BLE001 - never break a run over a debug aidCODE
HIGHtests/core/test_usage_recorder.py91except Exception:CODE
HIGH…ersations_worker/integration/broadcast_health_check.py175except Exception:CODE
HIGH…ersations_worker/integration/broadcast_health_check.py180except Exception:CODE
HIGHtests/core/conversations_worker/integration/__init__.py176except asyncio.TimeoutError:CODE
HIGHtests/plugins/toolsets/database/test_database.py134except Exception:CODE
HIGHtests/utils/curl_parser.py293except json.JSONDecodeError:CODE
HIGHtests/utils/curl_parser.py111except json.JSONDecodeError:CODE
HIGHtests/utils/curl_parser.py181except ValueError:CODE
HIGHholmes/version.py137except Exception:CODE
HIGHholmes/version.py85except Exception:CODE
HIGHholmes/interactive.py893except (TypeError, AttributeError):CODE
HIGHholmes/interactive.py918except (TypeError, AttributeError):CODE
HIGHholmes/core/tracing.py84except Exception:CODE
HIGHholmes/core/tools.py715except FileNotFoundError:CODE
HIGHholmes/core/json_schema_coerce.py146except (ValueError, OverflowError):CODE
HIGHholmes/core/json_schema_coerce.py156except (ValueError, OverflowError):CODE
HIGHholmes/core/tool_calling_llm.py1426except (AttributeError, IndexError, TypeError):CODE
HIGHholmes/core/conversations_worker/processor.py367except ValueError:CODE
HIGHholmes/core/conversations_worker/realtime_manager.py427except asyncio.TimeoutError:CODE
HIGHholmes/core/conversations_worker/realtime_manager.py399except asyncio.TimeoutError:CODE
HIGHholmes/plugins/toolsets/kubernetes_logs.py492except Exception:CODE
HIGHholmes/plugins/toolsets/kubernetes_logs.py500except Exception:CODE
HIGHholmes/plugins/toolsets/kafka.py224except OSError:CODE
HIGHholmes/plugins/toolsets/database/database.py645except Exception:CODE
HIGHholmes/plugins/toolsets/mcp/oauth_token_store.py245except (ValueError, TypeError):CODE
HIGHholmes/plugins/toolsets/mcp/oauth_token_manager.py106except (ValueError, TypeError):CODE
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py609except (json.JSONDecodeError, ValueError):CODE
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py1264except Exception:CODE
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py1270except Exception:CODE
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py552except (binascii.Error, ValueError):CODE
HIGHholmes/plugins/toolsets/bash/common/cli_prefixes.py80except Exception:CODE
HIGHholmes/plugins/toolsets/coralogix/api.py102except (json.JSONDecodeError, TypeError):CODE
HIGHholmes/plugins/toolsets/internet/ssrf.py99except ValueError:CODE
HIGH…es/plugins/toolsets/datadog/toolset_datadog_general.py582except (ValueError, TypeError):CODE
HIGH…es/plugins/toolsets/datadog/toolset_datadog_general.py587except (ValueError, TypeError):CODE
HIGHholmes/plugins/toolsets/datadog/datadog_api.py538except (ValueError, AttributeError):CODE
HIGHholmes/plugins/toolsets/datadog/datadog_api.py546except (ValueError, TypeError):CODE
HIGHholmes/plugins/toolsets/datadog/datadog_api.py701except (json.JSONDecodeError, TypeError):CODE
HIGHholmes/plugins/toolsets/prometheus/prometheus.py1713except json.JSONDecodeError:CODE
HIGHholmes/plugins/toolsets/prometheus/prometheus.py1970except json.JSONDecodeError:CODE
Self-Referential Comments72 hits · 226 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_header_propagation.py208 # Create an HTTP toolset with extra_headers in configCOMMENT
MEDIUMtests/test_toolset_auto_enable.py48 # Create a per-test subclass so config_classes doesn't leak between testsCOMMENT
MEDIUMtests/stdio_server.py7# Create the MCP serverCOMMENT
MEDIUMtests/test_approval_workflow.py87 # Create the actual ToolCallingLLM instanceCOMMENT
MEDIUMtests/test_approval_workflow.py132 # Create a proper toolset mock with statusCOMMENT
MEDIUMtests/test_approval_workflow.py229 # Create the actual ToolCallingLLM instanceCOMMENT
MEDIUMtests/test_approval_workflow.py273 # Create a proper toolset mock with statusCOMMENT
MEDIUMtests/test_approval_workflow.py382 # Create the actual ToolCallingLLM instanceCOMMENT
MEDIUMtests/test_approval_workflow.py426 # Create a proper toolset mock with statusCOMMENT
MEDIUMtests/generate_eval_report.py299 # Create the filter string for span_attributes.nameCOMMENT
MEDIUMtests/test_holmes_sync_toolsets.py97 # Create a toolset without config_classes - should have null schemaCOMMENT
MEDIUMtests/test_bash_session_prefix_flow.py624 # Create a shared config instance (simulates how toolset config is shared)COMMENT
MEDIUMtests/test_otel_tracing.py373 # Create a child (simulates gen_ai.chat)COMMENT
MEDIUMtests/test_interactive.py435 # Create a temporary directory for history fileCOMMENT
MEDIUMtests/test_mcp_oauth.py2153 # Create a RemoteMCPTool with proper .toolset referenceCOMMENT
MEDIUMtests/test_mcp_oauth.py2234 # Create a placeholder connect toolCOMMENT
MEDIUMtests/llm/utils/constants.py34 # Create a Literal type with all discovered tagsCOMMENT
MEDIUMtests/llm/utils/port_forward.py177 # Create a hashable key for deduplicationCOMMENT
MEDIUMtests/llm/utils/port_forward.py207 # Create a unique key for the serviceCOMMENT
MEDIUMtests/core/test_supabase_dal.py549 """This function is typed `-> str`, and every path must honour that.STRING
MEDIUM⚡tests/core/test_tool_transformers.py49 # Create a concrete tool for testingCOMMENT
MEDIUMtests/core/test_tool_transformers.py407 # Create a transformer that will failCOMMENT
MEDIUMtests/core/test_tool_transformers.py793 # Create a transformer config that will fail to initializeCOMMENT
MEDIUM⚡tests/core/transformers/test_llm_summarize.py532 # Create a mock expanding transformer responseCOMMENT
MEDIUM⚡tests/core/transformers/test_llm_summarize.py537 # Create a concrete tool class for testingCOMMENT
MEDIUM⚡tests/core/transformers/test_llm_summarize.py579 # Create a mock expanding transformer response that's much larger than originalCOMMENT
MEDIUM⚡tests/core/transformers/test_llm_summarize.py586 # Create a concrete tool class for testingCOMMENT
MEDIUMtests/core/transformers/test_llm_summarize.py650 # Create a concrete tool class for testingCOMMENT
MEDIUM⚡tests/plugins/toolsets/test_tool_kafka.py323 # Create a new topic for this test to ensure clean stateCOMMENT
MEDIUM⚡tests/plugins/toolsets/test_tool_kafka.py327 # Create the topicCOMMENT
MEDIUMtests/plugins/toolsets/test_tool_kafka.py454 # Create a consumer group and commit offsetsCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py33 # Create the toolCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py71 # Create the toolCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py102 # Create the toolCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py130 # Create the toolCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py152 # Create the toolCOMMENT
MEDIUMtests/plugins/toolsets/test_logging_api.py187 # Create a mock LLM that simulates token countingCOMMENT
MEDIUM…sts/plugins/toolsets/grafana/test_grafana_tempo_api.py360 # Create an HTTPError with a response attributeCOMMENT
MEDIUMtests/plugins/toolsets/bash/test_read_image_file.py91 # Create a file just over the 20MB limitCOMMENT
MEDIUMtests/checks/test_checks_cli.py36 # Create a temporary checks config fileCOMMENT
MEDIUM…s/integration/test_kubernetes_transformer_execution.py209 # Create a failing transformerCOMMENT
MEDIUM…s/integration/test_kubernetes_transformer_execution.py225 # Create a YAML toolset with the failing transformerCOMMENT
MEDIUM…s/integration/test_kubernetes_transformer_execution.py317 # Create a second transformerCOMMENT
MEDIUM…s/integration/test_kubernetes_transformer_execution.py425 # Create a YAML toolset for testingCOMMENT
MEDIUM⚡tests/toolsets/mcp/test_approval_response_parsing.py16 # Create a mock toolsetCOMMENT
MEDIUM⚡tests/toolsets/mcp/test_approval_response_parsing.py20 # Create a tool instanceCOMMENT
MEDIUM⚡tests/toolsets/mcp/test_approval_response_parsing.py29 # Create a mock MCP session and tool result. The status is the serializedCOMMENT
MEDIUMtests/toolsets/mcp/test_approval_response_parsing.py88 # Create a normal tool responseCOMMENT
MEDIUMtests/toolsets/mcp/test_approval_response_parsing.py134 # Create a response that looks like JSON but isn't validCOMMENT
MEDIUMholmes/interactive.py1208 # Create a temporary document with just the path partCOMMENT
MEDIUMholmes/interactive.py1239 # Create a temporary document with just the command partCOMMENT
MEDIUMholmes/interactive.py1717 # Create a temporary session without history for y/n promptsCOMMENT
MEDIUMholmes/interactive.py1997 # Create a temporary file to capture shell sessionCOMMENT
MEDIUMholmes/interactive.py2090 # Create a temporary session without history for feedback promptsCOMMENT
MEDIUMholmes/core/openai_formatting.py174 ) # Create a copy to avoid modifying originalCODE
MEDIUMholmes/core/tools.py543 # Create a copy of the result with transformed dataCOMMENT
MEDIUMholmes/core/tool_calling_llm.py95# Create a named logger for cost trackingCOMMENT
MEDIUMholmes/core/tool_calling_llm.py1286 # Create a child gen_ai.chat span for each LLM call iteration.COMMENT
MEDIUMholmes/plugins/destinations/pagerduty/plugin.py111 # Create the payloadCOMMENT
MEDIUMholmes/plugins/toolsets/kafka.py207 # Create the file atomically with restrictive permissions.COMMENT
12 more matches not shown…
Magic Placeholder Names34 hits · 180 pts
SeverityFileLineSnippetContext
HIGHtempo_cli_README.md112export TEMPO_API_KEY=your-api-key-hereCODE
HIGH⚡CONTRIBUTING.md45export OPENAI_API_KEY="your-api-key-here"CODE
HIGH⚡CONTRIBUTING.md48export ANTHROPIC_API_KEY="your-api-key-here"CODE
HIGH⚡CONTRIBUTING.md51export AZURE_API_KEY="your-api-key-here"CODE
HIGHtests/utils/curl_parser.py278 - <your-api-key> -> test-api-keySTRING
HIGHtests/utils/test_pydantic_utils.py34 assert example["api_key"] == "your_api_key"CODE
HIGHdocs/development/evaluations/reporting.md30export BRAINTRUST_API_KEY=sk-your-api-key-hereCODE
HIGHdocs/installation/cli-installation.md76 -e OPENAI_API_KEY="your-api-key" \CODE
HIGHdocs/installation/cli-installation.md107 export ANTHROPIC_API_KEY="your-api-key"CODE
HIGHdocs/installation/cli-installation.md128 export OPENAI_API_KEY="your-api-key"CODE
HIGHdocs/installation/docker-compose-installation.md22 export OPENAI_API_KEY="your-api-key"CODE
HIGHdocs/data-sources/builtin-toolsets/grafana-mcp.md198./test-grafana-api-key.sh '<your-api-key>' '<your-grafana-url>'CODE
HIGH…cs/data-sources/builtin-toolsets/atlassian-rovo-mcp.md72 If your organization uses an Atlassian service account instead of a personal account, skip the base64 step and send CODE
HIGH…cs/data-sources/builtin-toolsets/atlassian-rovo-mcp.md72 If your organization uses an Atlassian service account instead of a personal account, skip the base64 step and send CODE
HIGH⚡docs/data-sources/builtin-toolsets/splunk-mcp.md66- `<YOUR_TOKEN>` with the token generated in Prerequisites Step 4CODE
HIGH⚡docs/data-sources/builtin-toolsets/splunk-mcp.md73 export SPLUNK_MCP_TOKEN=<YOUR_TOKEN>CODE
HIGHdocs/data-sources/builtin-toolsets/splunk-mcp.md103 --from-literal=SPLUNK_MCP_TOKEN=<YOUR_TOKEN> \CODE
HIGHdocs/data-sources/builtin-toolsets/splunk-mcp.md141 --from-literal=SPLUNK_MCP_TOKEN=<YOUR_TOKEN> \CODE
HIGHdocs/data-sources/builtin-toolsets/servicenow.md64 -H "x-sn-apikey: <your-api-key>"CODE
HIGHdocs/data-sources/builtin-toolsets/servicenow.md69 -H "x-sn-apikey: <your-api-key>"CODE
HIGHdocs/data-sources/builtin-toolsets/elasticsearch.md26 export ELASTICSEARCH_API_KEY=your-api-keyCODE
HIGHdocs/data-sources/builtin-toolsets/elasticsearch.md60 --from-literal=ELASTICSEARCH_API_KEY=your-api-key \CODE
HIGHdocs/data-sources/builtin-toolsets/elasticsearch.md102 --from-literal=ELASTICSEARCH_API_KEY=your-api-key \CODE
HIGHdocs/data-sources/builtin-toolsets/elasticsearch.md148 api_key: "your-api-key"CODE
HIGHdocs/ai-providers/anthropic.md23 holmes ask "what pods are failing?" --model="anthropic/claude-sonnet-4-5" --api-key="your-api-key"CODE
HIGHdocs/ai-providers/openai.md28 holmes ask "what pods are failing?" --api-key="your-api-key"CODE
HIGHdocs/ai-providers/using-multiple-providers.md28 api_key: "your-api-key"CODE
HIGHdocs/ai-providers/index.md33 2. Set `export OPENAI_API_KEY="your-api-key"`CODE
HIGHdocs/ai-providers/gemini.md124holmes ask "what pods are failing?" --model="gemini/<your-gemini-model>" --api-key="your-api-key"CODE
HIGHdocs/ai-providers/openai-compatible.md101 --from-literal=OPENAI_API_KEY="your-api-key" \CODE
HIGHdocs/ai-providers/openai-compatible.md140 --from-literal=OPENAI_API_KEY="your-api-key" \CODE
HIGHdocs/ai-providers/azure-ai-foundry.md135holmes ask "what pods are failing?" --model="anthropic/claude-opus-4-7" --api-key="your-api-key"CODE
HIGHdocs/reference/helm-configuration.md73 value: "your-api-key"CODE
HIGHholmes/plugins/toolsets/grafana/common.py52 examples=[{"Authorization": "Bearer YOUR_API_KEY"}],CODE
Deep Nesting205 hits · 173 pts
SeverityFileLineSnippetContext
LOWconftest.py88CODE
LOWserver.py294CODE
LOWserver.py591CODE
LOWserver.py304CODE
LOWexperimental/ag-ui/server-agui.py102CODE
LOWexperimental/ag-ui/server-agui.py138CODE
LOWtests/test_approval_workflow.py71CODE
LOWtests/test_approval_workflow.py213CODE
LOWtests/test_approval_workflow.py366CODE
LOWtests/generate_eval_report.py149CODE
LOWtests/generate_eval_report.py431CODE
LOWtests/generate_eval_report.py501CODE
LOWtests/generate_eval_report.py597CODE
LOWtests/generate_eval_report.py945CODE
LOWtests/generate_eval_report.py1141CODE
LOWtests/generate_eval_report.py1203CODE
LOWtests/generate_eval_report.py1316CODE
LOWtests/test_http_docs.py184CODE
LOWtests/test_bash_session_prefix_flow.py169CODE
LOWtests/test_cache.py44CODE
LOWtests/llm/conftest.py131CODE
LOWtests/llm/conftest.py376CODE
LOWtests/llm/conftest.py603CODE
LOWtests/llm/conftest.py680CODE
LOWtests/llm/conftest.py744CODE
LOWtests/llm/test_holmes_checks.py156CODE
LOWtests/llm/test_ask_holmes.py74CODE
LOWtests/llm/test_ask_holmes.py539CODE
LOWtests/llm/utils/test_case_utils.py464CODE
LOWtests/llm/utils/property_manager.py107CODE
LOWtests/llm/utils/mock_dal.py55CODE
LOWtests/llm/utils/test_results.py96CODE
LOWtests/llm/utils/test_results.py113CODE
LOWtests/llm/utils/test_results.py128CODE
LOWtests/llm/utils/env_config.py29CODE
LOWtests/llm/utils/conversation_formatter.py7CODE
LOWtests/llm/utils/port_forward.py167CODE
LOWtests/llm/utils/port_forward.py191CODE
LOWtests/llm/utils/port_forward.py340CODE
LOWtests/llm/utils/port_forward.py98CODE
LOWtests/llm/utils/braintrust.py29CODE
LOWtests/llm/utils/setup_cleanup.py21CODE
LOWtests/llm/utils/setup_cleanup.py59CODE
LOWtests/llm/utils/classifiers.py35CODE
LOWtests/llm/utils/test_toolset.py132CODE
LOWtests/llm/utils/commands.py21CODE
LOWtests/llm/utils/reporting/github_reporter.py466CODE
LOWtests/llm/utils/reporting/terminal_reporter.py504CODE
LOWtests/llm/utils/reporting/terminal_reporter.py904CODE
LOWtests/llm/utils/reporting/terminal_reporter.py1149CODE
LOWtests/llm/utils/reporting/terminal_reporter.py1271CODE
LOWtests/plugins/toolsets/test_tool_kafka.py452CODE
LOW…sts/plugins/toolsets/test_toolset_command_injection.py61CODE
LOW…sts/plugins/toolsets/test_toolset_command_injection.py91CODE
LOW…sts/plugins/toolsets/test_toolset_command_injection.py183CODE
LOW…s/plugins/toolsets/grafana/test_grafana_tempo_tools.py496CODE
LOW…/toolsets/datadog/metrics/test_datadog_metrics_live.py101CODE
LOW…ins/toolsets/kubernetes/test_kubernetes_logs_mocked.py9CODE
LOW…s/integration/test_kubernetes_transformer_execution.py206CODE
LOWtests/holmes_operator/test_log.py43CODE
145 more matches not shown…
Structural Annotation Overuse82 hits · 137 pts
SeverityFileLineSnippetContext
LOWexperimental/ag-ui/server-agui.py442 # IMPORTANT: Do not support front-end "tool" messages for now. Store them as assistant messages in conv history.COMMENT
LOW⚡tests/test_mcp_oauth.py1173 # Step 1: Discover OAuth endpointsCOMMENT
LOW⚡tests/test_mcp_oauth.py1194 # Step 2: Generate PKCECOMMENT
LOW⚡tests/test_mcp_oauth.py1197 # Step 3: Start local callback server (port 0 = OS-assigned)COMMENT
LOW⚡tests/test_mcp_oauth.py1261 # Step 5: Wait for callbackCOMMENT
LOW⚡tests/test_mcp_oauth.py1270 # Step 6: Exchange code for tokenCOMMENT
LOWtests/test_mcp_oauth.py1244 # Step 4: Build authorization URL and open browserCOMMENT
LOWtests/test_mcp_oauth.py1292 # Step 7: Use token to list MCP toolsCOMMENT
LOWtests/llm/conftest.py458 # Step 2: Environment is OK, now test if the API actually worksCOMMENT
LOWtests/core/conversations_worker/README.md48### Step 1: Start the Holmes serverCOMMENT
LOWtests/core/conversations_worker/README.md63### Step 2: Run the integration testsCOMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py309 # Step 1: Detect approval neededCOMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py317 # Step 2: Simulate user approval (in real flow, this happens via UI/CLI)COMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py321 # Step 3: Execute with approvalCOMMENT
LOW.claude/skills/patch-cve/SKILL.md17## Step 1: Identify the CVE SourceCOMMENT
LOW.claude/skills/patch-cve/SKILL.md31## Step 2: Check if Upstream Fixes ExistCOMMENT
LOW.claude/skills/patch-cve/SKILL.md72## Step 3: Apply the FixCOMMENT
LOW.claude/skills/patch-cve/SKILL.md120## Step 4: Build the Docker ImageCOMMENT
LOW.claude/skills/patch-cve/SKILL.md130## Step 5: Validate the FixCOMMENT
LOW.claude/skills/patch-cve/SKILL.md158## Step 6: Document and Clean UpCOMMENT
LOW⚡.claude/skills/create-eval/SKILL.md28### Step 1: Choose Test Number and NamespaceCOMMENT
LOW⚡.claude/skills/create-eval/SKILL.md38### Step 2: Validate TagsCOMMENT
LOW⚡.claude/skills/create-eval/SKILL.md42### Step 3: Write test_case.yamlCOMMENT
LOW.claude/skills/create-eval/SKILL.md68### Step 4: Write toolsets.yaml (if needed)COMMENT
LOW.claude/skills/create-eval/SKILL.md84### Step 5: Write Setup ScriptsCOMMENT
LOW.claude/skills/create-eval/SKILL.md106### Step 6: Design Anti-Hallucination MeasuresCOMMENT
LOWdocs/development/evaluations/benchmarking-new-models.md10## Step 1: Create Model List FileCOMMENT
LOWdocs/development/evaluations/benchmarking-new-models.md40## Step 2: Run Initial TestCOMMENT
LOWdocs/development/evaluations/benchmarking-new-models.md55## Step 3: Known Issues and TroubleshootingCOMMENT
LOWdocs/development/evaluations/benchmarking-new-models.md64## Step 4: Run BenchmarksCOMMENT
LOWdocs/development/evaluations/benchmarking-new-models.md77## Step 5: Review ResultsCOMMENT
LOWdocs/walkthrough/investigating-using-aks-mcp-server.md17### Step 1: Setup the MCP ServerCOMMENT
LOWdocs/walkthrough/investigating-using-aks-mcp-server.md23### Step 2: Update Configuration for SSECOMMENT
LOWdocs/walkthrough/investigating-using-aks-mcp-server.md40### Step 3: Configure HolmesGPTCOMMENT
LOWdocs/walkthrough/investigating-prometheus-alerts.md16### Step 1: Forward AlertManagerCOMMENT
LOWdocs/walkthrough/investigating-prometheus-alerts.md24### Step 2: Create a Test AlertCOMMENT
LOWdocs/walkthrough/investigating-prometheus-alerts.md57### Step 3: Investigate AlertsCOMMENT
LOWdocs/data-sources/builtin-toolsets/splunk-mcp.md18### Step 1: Install Splunk MCP ServerCOMMENT
LOW⚡docs/data-sources/builtin-toolsets/splunk-mcp.md32### Step 2: Create MCP RoleCOMMENT
LOW⚡docs/data-sources/builtin-toolsets/splunk-mcp.md41### Step 3: Create MCP UserCOMMENT
LOW⚡docs/data-sources/builtin-toolsets/splunk-mcp.md48### Step 4: Generate Authentication TokenCOMMENT
LOW⚡docs/data-sources/builtin-toolsets/splunk-mcp.md56### Step 5: Get MCP Endpoint URLCOMMENT
LOWdocs/data-sources/builtin-toolsets/azure-mcp.md89### Step 1: Set Up Azure RBAC RolesCOMMENT
LOWdocs/data-sources/builtin-toolsets/azure-mcp.md134### Step 2: Deploy with HelmCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md20### Step 1: DeployCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md91### Step 2: VerifyCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md101### Step 1: Generate a kubeconfig for HolmesCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md184### Step 2: Set the default context In the Kubeconfig fileCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md198### Step 3: Create the kubeconfig SecretCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md216### Step 4: DeployCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md439### Step 5: Route chats to the right cluster (Robusta UI)COMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md460### Step 1: Enable Azure AD on your AKS clusterCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md464### Step 2: Create an Entra ID App RegistrationCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md481### Step 3: Store the client secretCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md491### Step 4: DeployCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md600### Step 5: VerifyCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md612### Step 1: Register Holmes as a Dex clientCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md644### Step 2: Store the client secretCOMMENT
LOWdocs/data-sources/builtin-toolsets/kubernetes-mcp.md655### Step 3: DeployCOMMENT
LOWdocs/data-sources/builtin-toolsets/aws.md12### Step 1: Set Up IAM PermissionsCOMMENT
22 more matches not shown…
Redundant / Tautological Comments82 hits · 125 pts
SeverityFileLineSnippetContext
LOWtests/test_bash_session_prefix_flow.py140 # Check if all prefixes are in session_approved_prefixesCOMMENT
LOWtests/test_bash_session_prefix_flow.py366 # Check if we got approval_required or answer_endCOMMENT
LOWtests/llm/conftest.py200 # Check if any failures are not in the allowed listCOMMENT
LOWtests/llm/conftest.py265 # Check if we're in --only-setup modeCOMMENT
LOWtests/llm/conftest.py565 # Check if LLM marker is being excludedCOMMENT
LOWtests/llm/conftest.py606 # Check if we're in collect-only modeCOMMENT
LOWtests/llm/conftest.py612 # Check if LLM marker is being excludedCOMMENT
LOWtests/llm/conftest.py661 # Check if Braintrust is enabledCOMMENT
LOWtests/llm/conftest.py718 # Check if we're in a worker processCOMMENT
LOWtests/llm/conftest.py819 # Check if we have error informationCOMMENT
LOWtests/llm/conftest.py970 # Check if Braintrust is enabledCOMMENT
LOWtests/llm/test_holmes_checks.py168 # Check if test should be skippedCOMMENT
LOWtests/llm/utils/test_case_utils.py340 # Check if test should be skippedCOMMENT
LOWtests/llm/utils/test_case_utils.py362 # Check if --only-setup is set (AFTER checking for setup failures)COMMENT
LOWtests/llm/utils/test_case_utils.py367 # Check if --only-cleanup is setCOMMENT
LOWtests/llm/utils/test_case_utils.py378 # Check if test should be skipped due to port conflictsCOMMENT
LOWtests/llm/utils/property_manager.py160 # Check if we should include intermediate outputs (based on CLI flag, defaults to True)COMMENT
LOWtests/llm/utils/property_manager.py347 # Check if this is a ThrottledErrorCOMMENT
LOWtests/llm/utils/property_manager.py358 # Check if this is a ToolsetPrerequisiteError (toolset infrastructure not available)COMMENT
LOWtests/llm/utils/test_results.py40 # Check if removing this digit would leave us with underscore or nothingCOMMENT
LOWtests/llm/utils/port_forward.py29 # Check if port is already in useCOMMENT
LOWtests/llm/utils/port_forward.py44 # Check if process is still runningCOMMENT
LOWtests/llm/utils/port_forward.py48 # Check if port is in use to provide better error messageCOMMENT
LOWtests/llm/utils/port_forward.py259 # Check if ports are already in use on the systemCOMMENT
LOWtests/llm/utils/port_forward.py373 # Check if it's a kubectl process before killingCOMMENT
LOWtests/llm/utils/retry_handler.py116 # Check if this is a throttle errorCOMMENT
LOWtests/llm/utils/retry_handler.py127 # Check if retries are disabledCOMMENT
LOWtests/llm/utils/retry_handler.py138 # Check if we have retries leftCOMMENT
LOWtests/llm/utils/reporting/github_reporter.py479 # Check if running on a specific branch (for cross-branch comparison)COMMENT
LOWtests/llm/utils/reporting/terminal_reporter.py1276 # Check if any tests had retriesCOMMENT
LOW⚡tests/core/transformers/test_transformers.py280 # Check if transformation should applyCOMMENT
LOWholmes_operator/handlers/healthcheck.py50 # Set status to PendingCOMMENT
LOWscripts/publish-pypi.sh19# Check if PYPI_TOKEN is setCOMMENT
LOWscripts/publish-pypi.sh26# Check if Poetry is installedCOMMENT
LOW.github/workflows/build-and-test.yaml78 # Check if file matches any skip patternCOMMENT
LOW.github/workflows/eval-regression.yaml1306 # Check if results were actually produced. If not, it's a collection error.COMMENT
LOW.github/workflows/eval-benchmarks.yaml184 # Check if there are changes to commitCOMMENT
LOW.github/workflows/eval-benchmarks.yaml202 # Check if PR already existsCOMMENT
LOW⚡holmes/version.py78 # Check if Git substitution didn't happen (placeholders are still present)COMMENT
LOW⚡holmes/version.py91 # Set ceiling to prevent walking up beyond the project rootCOMMENT
LOWholmes/version.py122 # Check if there are uncommitted changesCOMMENT
LOWholmes/version.py177 # Check if current version starts with latest versionCOMMENT
LOWholmes/interactive.py2656 # Check if we got an approval-required eventCOMMENT
LOWholmes/core/tracing.py64 # Check if .git is a file (worktree case)COMMENT
LOWholmes/core/tools.py490 # Check if transformer should be appliedCOMMENT
LOWholmes/core/tools.py504 # Check if this is llm_summarize and revert if summary is not smallerCOMMENT
LOWholmes/core/tools.py928 # Check if transformer is registeredCOMMENT
LOWholmes/core/tools.py959 # Check if transformer is registeredCOMMENT
LOWholmes/core/tool_calling_llm.py778 # Check if there are frontend tool calls — can't execute in sync modeCOMMENT
LOWholmes/core/tool_calling_llm.py1457 # Check if any tools require approval or are frontend-definedCOMMENT
LOWholmes/core/toolset_manager.py520 # Check if any datasource config file has changed since the last run.COMMENT
LOWholmes/core/transformers/llm_summarize.py116 # Check if input exceeds thresholdCOMMENT
LOWholmes/plugins/toolsets/kubernetes_logs.py71 # Check if kubectl is availableCOMMENT
LOWholmes/plugins/toolsets/kubernetes_logs.py192 # Check if we have any logs to returnCOMMENT
LOWholmes/plugins/toolsets/kubernetes.yaml166 # Output results as a JSON object with metadataCOMMENT
LOWholmes/plugins/toolsets/kafka.py805 # Check if any partition has a valid committed offsetCOMMENT
LOWholmes/plugins/toolsets/kafka.py1284 # Check if partition is under-replicatedCOMMENT
LOWholmes/plugins/toolsets/kafka.py1288 # Check if partition is offlineCOMMENT
LOWholmes/plugins/toolsets/database/database.py649 # Check if the result returns rows (SELECT, SHOW, etc.) or not (INSERT, UPDATE, etc.)COMMENT
LOWholmes/plugins/toolsets/logging_utils/logging_api.py234 # Check if it's already in RFC3339 formatCOMMENT
22 more matches not shown…
Cross-Language Confusion23 hits · 121 pts
SeverityFileLineSnippetContext
HIGH⚡tests/test_bash_toolset_validation.py154 segments, has_compound = parse_command_segments("mkdir test && cd test")CODE
HIGH⚡tests/test_bash_toolset_validation.py160 segments, has_compound = parse_command_segments("test -f file.txt || touch file.txt")CODE
HIGH⚡tests/test_bash_toolset_validation.py783 "echo $HOME && ls ${HOME}/projects",CODE
HIGHtests/test_bash_toolset_validation.py735 "kubectl get pods && kubectl get services",CODE
HIGHtests/test_bash_toolset_validation.py747 "kubectl get pods || echo 'no pods'",CODE
HIGH⚡tests/test_bash_toolset_validation.py153 """Test parsing && operator."""STRING
HIGH⚡tests/test_bash_toolset_validation.py159 """Test parsing || operator."""STRING
HIGHtests/test_approval_token_security.py87 "arguments": json.dumps({"command": "id && pwd"}),CODE
HIGHtests/test_mcp_toolset.py3513 Strict tool schemas advertise optional params as anyOf[<type>, null] andSTRING
HIGHtests/test_mcp_oauth.py1792 is null), a static Authorization header from `headers` must NOT be sent —STRING
HIGHtests/core/test_tool_memory_limit.py21 assert result == f"ulimit -v {expected_kb} 2>/dev/null || true; "CODE
HIGH⚡…ns_worker/integration/test_conversation_integration.py160 "https://example.invalid/no-op || echo done` to confirm a simple "CODE
HIGH⚡tests/plugins/toolsets/bash/test_argv_security.py88 ("mkdir -p /tmp/x && echo hi > /tmp/x/f", ["mkdir", "echo"]),CODE
HIGH⚡tests/plugins/toolsets/bash/test_shell_parser.py45 p = parse_command("a && b || c; d & e")CODE
HIGH⚡tests/plugins/toolsets/bash/test_shell_parser.py45 p = parse_command("a && b || c; d & e")CODE
HIGHtests/integration/test_tool_execution_pipeline.py40 "ulimit -v 1048576 2>/dev/null || true",CODE
HIGHholmes/main.py130 help="Slack API key if --destination=slack (experimental). Can generate with `pip install robusta-cli && robusta intCODE
HIGHholmes/core/openai_formatting.py145 # requires optional params to accept null, or when the source schema explicitly marksCOMMENT
HIGHholmes/core/tools.py282 """Return the primary (non-null) type as a string."""STRING
HIGHholmes/core/json_schema_coerce.py66 """Extract the primary (non-null) type from a schema-like object.STRING
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py785 # Nullable shorthand: anyOf[<type>, null] → collapse to the single type.COMMENT
HIGHholmes/plugins/toolsets/mcp/toolset_mcp.py567 anyOf[<type>, null] and (in strict mode) also lists it in "required",STRING
HIGHholmes/utils/memory_limit.py25 return f"ulimit -v {memory_limit_kb} 2>/dev/null || true; "CODE
Unused Imports137 hits · 114 pts
SeverityFileLineSnippetContext
LOWserver.py19CODE
LOWserver.py27CODE
LOWtests/test_header_propagation.py12CODE
LOWtests/test_header_propagation.py13CODE
LOWtests/test_header_propagation.py13CODE
LOWtests/test_header_propagation.py13CODE
LOWtests/test_header_propagation.py13CODE
LOWtests/test_header_propagation.py206CODE
LOWtests/test_header_propagation.py251CODE
LOWtests/test_check_prerequisites.py4CODE
LOWtests/test_check_prerequisites.py7CODE
LOWtests/test_toolset_auto_enable.py3CODE
LOWtests/test_toolset_auto_enable.py3CODE
LOWtests/test_toolset_auto_enable.py6CODE
LOWtests/test_toolset_auto_enable.py9CODE
LOWtests/test_bash_toolset_validation.py11CODE
LOWtests/test_toolset_config_tui.py3CODE
LOWtests/test_toolset_config_tui.py4CODE
LOWtests/test_toolset_config_tui.py8CODE
LOWtests/test_toolset_config_tui.py23CODE
LOWtests/test_toolset_prereq_timeout.py3CODE
LOWtests/test_tool_calling_llm.py18CODE
LOWtests/test_tool_calling_llm.py18CODE
LOWtests/test_tool_calling_llm.py18CODE
LOWtests/test_otel_tracing.py13CODE
LOWtests/test_otel_tracing.py13CODE
LOWtests/test_interactive.py6CODE
LOWtests/test_mcp_oauth.py30CODE
LOWtests/test_mcp_oauth.py2221CODE
LOWtests/llm/utils/property_manager.py10CODE
LOWtests/llm/utils/skill_suggestions.py17CODE
LOWtests/llm/utils/test_toolset.py5CODE
LOWtests/llm/utils/commands.py14CODE
LOWtests/core/test_llm_completion_temperature.py1CODE
LOWtests/core/test_tool_output_deduplication.py8CODE
LOWtests/core/test_azure_token.py1CODE
LOW…sts/core/tools_utils/test_filesystem_result_storage.py3CODE
LOW…s/core/tools_utils/test_tool_context_window_limiter.py2CODE
LOW…sts/core/conversations_worker/test_realtime_manager.py4CODE
LOW…sts/core/conversations_worker/test_tool_call_worker.py22CODE
LOWtests/core/conversations_worker/test_event_publisher.py2CODE
LOWtests/core/conversations_worker/test_dal_contract.py8CODE
LOWtests/core/conversations_worker/test_dal_contract.py8CODE
LOWtests/core/conversations_worker/test_dal_contract.py8CODE
LOWtests/core/conversations_worker/integration/conftest.py12CODE
LOW…ersations_worker/integration/broadcast_health_check.py14CODE
LOW…versations_worker/integration/test_retry_resilience.py20CODE
LOW…ations_worker/integration/test_claiming_concurrency.py27CODE
LOWtests/core/conversations_worker/integration/__init__.py13CODE
LOW…ns_worker/integration/test_conversation_integration.py15CODE
LOW…ns_worker/integration/test_conversation_integration.py17CODE
LOWtests/plugins/sources/test_pagerduty_source.py3CODE
LOWtests/plugins/toolsets/test_tool_kafka.py7CODE
LOWtests/plugins/toolsets/test_logging_api.py3CODE
LOWtests/plugins/toolsets/test_logging_api.py6CODE
LOWtests/plugins/toolsets/test_logging_api.py8CODE
LOW…ts/plugins/toolsets/grafana/test_grafana_tempo_unit.py6CODE
LOWtests/config_class/test_config_anchors.py1CODE
LOWtests/config_class/test_source_factory.py14CODE
LOWtests/config_class/test_source_factory.py15CODE
77 more matches not shown…
Docstring Block Structure17 hits · 85 pts
SeverityFileLineSnippetContext
HIGHtests/llm/utils/retry_handler.py69 Retry a function when encountering throttling/overload errors. Args: func: The function to call STRING
HIGHtests/core/test_prompt.py79Extract user message content from messages list. Args: messages: List of message dictionaries with 'role' aSTRING
HIGHholmes_operator/scheduler/manager.py70 Register a cron job with APScheduler. Args: name: ScheduledHealthCheck name naSTRING
HIGHholmes_operator/client/holmes_api_client.py55 Execute a health check via Holmes API. Endpoint: POST /api/checks/execute Args: cSTRING
HIGHholmes/core/otel_tracing.py549Create the OTLP span and metric exporters for the given protocol. Args: protocol: ``"grpc"`` or ``"http/proSTRING
HIGHholmes/core/prompt.py60 Build content array for vision models with text and images. Args: text: The text content imageSTRING
HIGHholmes/core/transformers/registry.py67 Create a transformer instance by name. Args: name: The name of the transformer to create STRING
HIGHholmes/core/transformers/llm_summarize.py131 Transform the input text by summarizing it with the fast model. Args: input_text: The toolSTRING
HIGHholmes/core/transformers/base.py28 Transform the input text and return the transformed output. Args: input_text: The raw toolSTRING
HIGHholmes/core/tools_utils/oauth_tool_connector.py48Try to process a tool approval decision as an OAuth code exchange. If the decision contains an OAuth authorizatSTRING
HIGH…lugins/toolsets/servicenow_tables/servicenow_tables.py196Make a GET request to ServiceNow API and return JSON data and headers. Args: endpoint: API endpointSTRING
HIGHholmes/plugins/toolsets/grafana/grafana_tempo_api.py71Make HTTP request to Tempo API with retry logic. Args: endpoint: API endpoint path (e.g., "/api/echSTRING
HIGHholmes/plugins/toolsets/grafana/toolset_grafana.py587Make a GET request to Grafana render API and return PNG bytes. Args: render_path: Render URL path (STRING
HIGHholmes/plugins/toolsets/newrelic/newrelic.py286Create a NewRelicAPI client instance. Args: override_account_id: Account ID to use. If None, uses tSTRING
HIGHholmes/plugins/toolsets/newrelic/new_relic_api.py55Make HTTP POST request to NewRelic GraphQL API. Args: graphql_query: The GraphQL query as a dictionSTRING
HIGHholmes/plugins/toolsets/newrelic/new_relic_api.py94Execute an NRQL query via the NewRelic GraphQL API. Args: nrql_query: The NRQL query string to execSTRING
HIGHholmes/plugins/toolsets/elasticsearch/elasticsearch.py231Make HTTP request to Elasticsearch. Args: method: HTTP method (GET, POST, etc.) endpoinSTRING
Modern Structural Boilerplate65 hits · 66 pts
SeverityFileLineSnippetContext
LOWtests/test_cache.py22logger = logging.getLogger(__name__)CODE
LOWtests/llm/utils/property_manager.py75def set_trace_properties(request, eval_span) -> None:CODE
LOWtests/llm/utils/property_manager.py97def update_property(request, key: str, value: Any) -> None:CODE
LOWtests/llm/utils/braintrust_history.py28__all__ = [CODE
LOWtests/core/conversations_worker/integration/__init__.py140 async def _setup() -> None:CODE
LOWholmes_operator/trigger_executor.py23logger = logging.getLogger(__name__)CODE
LOWholmes_operator/operator.py32logger = logging.getLogger(__name__)CODE
LOWholmes_operator/context.py13logger = logging.getLogger(__name__)CODE
LOWholmes_operator/utils.py17logger = logging.getLogger(__name__)CODE
LOWholmes_operator/scheduler/job_executor.py12logger = logging.getLogger(__name__)CODE
LOWholmes_operator/scheduler/__init__.py7__all__ = ["SchedulerManager"]CODE
LOWholmes_operator/scheduler/manager.py14logger = logging.getLogger(__name__)CODE
LOWholmes_operator/client/__init__.py5__all__ = ["HolmesAPIClient"]CODE
LOWholmes_operator/client/holmes_api_client.py11logger = logging.getLogger(__name__)CODE
LOWholmes_operator/handlers/triggeredhealthcheck.py23logger = logging.getLogger(__name__)CODE
LOWholmes_operator/handlers/healthcheck.py25logger = logging.getLogger(__name__)CODE
LOWholmes_operator/handlers/scheduledhealthcheck.py25logger = logging.getLogger(__name__)CODE
LOW⚡holmes/toolset_config_tui.py34logger = logging.getLogger(__name__)CODE
LOWholmes/clients/robusta_client.py32logger = logging.getLogger(__name__)CODE
LOWholmes/core/oauth_utils.py29logger = logging.getLogger(__name__)CODE
LOWholmes/core/oauth_utils.py52def set_oauth_dal(dal: Any) -> None:CODE
LOWholmes/core/otel_tracing.py82logger = logging.getLogger(__name__)CODE
LOWholmes/core/otel_tracing.py336 def set_attributes(self, name: Optional[str] = None, span_type: Optional[str] = None, span_attributes: Optional[DictCODE
LOWholmes/core/oauth_config.py13logger = logging.getLogger(__name__)CODE
LOWholmes/core/feedback.py68 def update_llm(self, llm: LLM) -> None:CODE
LOWholmes/core/feedback.py119 def set_user_feedback(self, user_feedback: UserFeedback) -> None:CODE
LOWholmes/core/tools.py58logger = logging.getLogger(__name__)CODE
LOWholmes/core/json_schema_coerce.py52logger = logging.getLogger(__name__)CODE
LOWholmes/core/oauth_server_callbacks.py16logger = logging.getLogger(__name__)CODE
LOWholmes/core/usage_recorder.py579__all__ = [CODE
LOWholmes/core/azure_token.py11logger = logging.getLogger(__name__)CODE
LOWholmes/core/transformers/__init__.py16__all__ = [CODE
LOWholmes/core/transformers/llm_summarize.py20logger = logging.getLogger(__name__)CODE
LOWholmes/core/transformers/llm_summarize.py77 def set_default_fast_model(cls, model: str) -> None:CODE
LOWholmes/core/transformers/base.py5__all__ = ["BaseTransformer", "TransformerError"]CODE
LOWholmes/core/tools_utils/oauth_tool_connector.py23logger = logging.getLogger(__name__)CODE
LOWholmes/core/scheduled_prompts/__init__.py7__all__ = [CODE
LOWholmes/core/conversations_worker/__init__.py3__all__ = ["ConversationRuntime"]CODE
LOWholmes/core/conversations_worker/runtime.py43__all__ = ["ConversationRuntime", "SHUTDOWN_RETIRE_BUDGET_SECONDS"]CODE
LOWholmes/plugins/toolsets/multi_instance.py51logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/json_filter_mixin.py14logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/database/database.py35logger = logging.getLogger(__name__)CODE
LOW⚡holmes/plugins/toolsets/database/database.py536 def _update_tool_descriptions(self) -> None:CODE
LOWholmes/plugins/toolsets/database/__init__.py3__all__ = ["DatabaseToolset"]CODE
LOWholmes/plugins/toolsets/grafana/grafana_tempo_api.py17logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/grafana/toolset_grafana.py29logger = logging.getLogger(__name__)CODE
LOW…/toolsets/robusta_platform_mcp/robusta_platform_mcp.py44logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/mcp/oauth_token_store.py22logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/mcp/oauth_token_manager.py25logger = logging.getLogger(__name__)CODE
LOW⚡holmes/plugins/toolsets/mcp/oauth_token_manager.py68 def set_dal(self, dal: Any) -> None:CODE
LOWholmes/plugins/toolsets/mcp/toolset_mcp.py54logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/mongodb/mongodb.py26logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/mongodb/__init__.py3__all__ = ["MongoDBToolset"]CODE
LOWholmes/plugins/toolsets/bash/validation.py39logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/http/http_toolset.py43logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/datadog/datadog_models.py10logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/confluence/confluence.py19logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/confluence/confluence.py417 def _setup_http_tools(self) -> None:STRING
LOWholmes/plugins/toolsets/newrelic/new_relic_api.py8logger = logging.getLogger(__name__)CODE
LOWholmes/plugins/toolsets/prometheus/prometheus.py2157 def _set_meta_from_config(self) -> None:CODE
5 more matches not shown…
Modern AI Meta-Vocabulary24 hits · 62 pts
SeverityFileLineSnippetContext
MEDIUMconfig.example.yaml9# Helps reduce context window usage, improve performance, and reduce costsCOMMENT
MEDIUMtests/llm/test_compaction.py125 # calls, like the agentic loop does in production (ROB-424).COMMENT
MEDIUM…s/core/tools_utils/test_tool_context_window_limiter.py34 2048 # Default to 50% of context windowCODE
MEDIUM…s/core/tools_utils/test_tool_context_window_limiter.py196 # Test with smaller context windowCOMMENT
MEDIUM…ns_worker/integration/test_conversation_integration.py634 # it by actually invoking the noop tool, ruling out hallucination.COMMENT
MEDIUMdocs/ai-providers/other.md38 export OVERRIDE_MAX_CONTENT_SIZE=98304 # 98k context windowCODE
MEDIUMdocs/ai-providers/other.md78 max_context_size: 98304 # Override context window to 98k tokensCODE
MEDIUMdocs/ai-providers/other.md109 max_context_size: 98304 # Override context window to 98k tokensCODE
MEDIUMdocs/ai-providers/other.md137 max_context_size: 98304 # Override context window to 98k tokensCODE
MEDIUMdocs/ai-providers/other.md161 max_context_size: 98304 # Override context window to 98k tokensCODE
MEDIUMdocs/ai-providers/other.md202 # Override context window size for any modelCOMMENT
MEDIUMdocs/ai-providers/other.md204 max_context_size: 1000000 # Override the model's context windowCODE
MEDIUMdocs/reference/environment-variables.md221# Allow each tool response to use up to 25% of context windowCOMMENT
MEDIUMholmes/core/llm.py826 # Reserve output budget = max(64k, 12% of the context window). The 64kCOMMENT
MEDIUMholmes/core/usage_recorder.py349 # for an agentic loop with N-1 tool turns). Filled by the wrapperCOMMENT
MEDIUMholmes/core/usage_recorder.py484 # record partial cost when the agentic loop raises mid-loop —COMMENT
MEDIUMholmes/core/truncation/compaction.py232 # context window, so it can describe what was in them. Otherwise strip them.COMMENT
MEDIUMholmes/core/truncation/input_context_window_limiter.py125 # reuse the agentic prompt cache). Key for diagnosing zeroCOMMENT
MEDIUMholmes/core/tools_utils/tool_context_window_limiter.py114 # Allocate remaining char budget to the preview so the final string fits the context windowCOMMENT
MEDIUMholmes/plugins/toolsets/openshift.yaml12 # This reduces context window usage while preserving key information for debugging.COMMENT
MEDIUMholmes/plugins/toolsets/kubernetes.yaml14 # This reduces context window usage while preserving key information for debugging.COMMENT
MEDIUMholmes/common/env_vars.py17 200000 # Fallback context window size if it can't be determined from the modelCODE
MEDIUMholmes/common/env_vars.py134# Limit each tool response to N% of the total context window.COMMENT
MEDIUMhelm/holmes/values.yaml690 # Provides access to Prefect workflow orchestration for monitoring and troubleshootingCOMMENT
Over-Commented Block64 hits · 60 pts
SeverityFileLineSnippetContext
LOWconftest.py141COMMENT
LOWconftest.py161 # console_handler = logging.StreamHandler(sys.stderr) # pytest only prints error logsCOMMENT
LOWconfig.example.yaml1#model: "gpt-4.1"COMMENT
LOWconfig.example.yaml21#jira_query: "project = 'Natan Test Project' and Status = 'To Do'"COMMENT
LOWtests/llm/test_ask_holmes.py301 # The primary pass succeeded — all primary assertions above passed. WeCOMMENT
LOWtests/llm/test_ask_holmes.py361 try:COMMENT
LOWtests/llm/test_ask_holmes.py381 # replay's numbers would overwrite the PRIMARYCOMMENT
LOWtests/llm/utils/test_case_utils.py161 # - False → the test fails if the LLM emits any skill suggestionsCOMMENT
LOWtests/llm/utils/test_case_utils.py181 # When set, asserts that the number of SKILL.md files written from theCOMMENT
LOWtests/llm/utils/test_case_utils.py221 frontend_tools: Optional[Union[str, List[Dict[str, Any]]]] = (COMMENT
LOWtests/llm/utils/reporting/github_reporter.py701COMMENT
LOWtests/core/test_supabase_dal_usage.py201 assert payload["cached_tokens"] is NoneCOMMENT
LOWtests/core/conversations_worker/test_runtime_polling.py41 # When realtime is connected, we still poll as a safety net for missedCOMMENT
LOW…/conversations_worker/test_processor_usage_recorder.py441COMMENT
LOW…ugins/toolsets/kubernetes/test_kubernetes_logs_unit.py21# init-config-reloader alertmanager config-reloaderCOMMENT
LOWdocs/installation/kubernetes-installation.md81 value: "https://your-resource.openai.azure.com/"COMMENT
LOWdocs/data-sources/builtin-toolsets/zabbix.md181## TroubleshootingCOMMENT
LOWdocs/data-sources/builtin-toolsets/zabbix.md201# - Ensure all required parameters are included in the requestCOMMENT
LOWdocs/operator/destinations.md221- If the check has an associated URL, it's included as a link in the incidentCOMMENT
LOWexamples/azure-mcp-additional-instance.yaml1# =============================================================================COMMENT
LOWexamples/azure-mcp-additional-instance.yaml21#COMMENT
LOWexamples/azure-mcp-additional-instance.yaml261# mcp_servers:COMMENT
LOWscripts/build_go_binaries.sh1#!/bin/bashCOMMENT
LOWscripts/build_go_binaries.sh21# in 0.52.0; 0.55.0 adds the CVE-2026-56854COMMENT
LOWscripts/build_go_binaries.sh41# go-billy >= 5.9.0 (blocked on go-git/go-git#1551 upstream).COMMENT
LOWscripts/build_go_binaries.sh61# was reverted — see git history if it ever needs to come back.COMMENT
LOWscripts/setup-sandbox-k8s.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/setup-sandbox-k8s.sh21# before invoking the real runc.COMMENT
LOWholmes/core/tools.py161 return {k: sanitize(str(v)) for k, v in params.items()}COMMENT
LOWholmes/core/llm.py741 # Always send an explicit output-token limit: without one, litellm fallsCOMMENT
LOWholmes/core/llm.py1241 if model_params is not None:COMMENT
LOWholmes/core/relay_refusal.py21# HTTP status before the LLM call runs, so this is where the client reads theCOMMENT
LOWholmes/core/usage_recorder.py221 # values dashboards group by:COMMENT
LOWholmes/core/usage_recorder.py241 # True when the LLM call hit a Robusta-managed model (Robusta paidCOMMENT
LOWholmes/core/usage_recorder.py261COMMENT
LOWholmes/core/usage_recorder.py281 # 'chat_history' — direct /api/chat path (defaulted by chat() whenCOMMENT
LOWholmes/core/usage_recorder.py301 # here. NULL for CLI / ad-hoc flows that have no cluster context.COMMENT
LOWholmes/core/usage_recorder.py321COMMENT
LOWholmes/core/usage_recorder.py341 # Aggregate token / cost counters. Filled by `stream_with_usage_recording`COMMENT
LOWholmes/core/issue.py41 # Controls whether to append status to the title in Slack messages (e.g., " - open")COMMENT
LOWholmes/core/conversations_worker/processor.py161 # task.metadata when the per-turn event omits the key entirely.COMMENT
LOWholmes/core/conversations_worker/event_publisher.py21}COMMENT
LOWholmes/plugins/skills/git_skill_repos.py41COMMENT
LOWholmes/plugins/skills/git_skill_repos.py601 "--detach",COMMENT
LOWholmes/plugins/toolsets/connectivity_check.py201 # destination from the internal-IP block.COMMENT
LOWholmes/plugins/toolsets/bash/validation.py41COMMENT
LOWholmes/plugins/toolsets/skills/skills_fetcher.py101 return self._get_robusta_skill(skill_id, params)COMMENT
LOWholmes/plugins/toolsets/prometheus/prometheus.py2161 subtype = getattr(type(self.config), "_subtype", None) if self.config else NoneCOMMENT
LOWholmes/utils/holmes_sync_skills.py101 # Stable published path, not the sha-bearing worktree theCOMMENT
LOWhelm/holmes/values.yaml1certificate: "" # base64 encodedCOMMENT
LOWhelm/holmes/values.yaml161 # - /etc/holmes/my-skillsCOMMENT
LOWhelm/holmes/values.yaml181# for entries with tokenSecret, injects the token env var from that Secret.COMMENT
LOWhelm/holmes/values.yaml221# - name: fetch-secretCOMMENT
LOWhelm/holmes/values.yaml241# single env-var namespace — same-name keys shadow each other in list order.COMMENT
LOWhelm/holmes/values.yaml321 # Extra volume mounts to add to the AWS MCP containerCOMMENT
LOWhelm/holmes/values.yaml341 # --from-file=key.json=key.json -n YOUR_NAMESPACECOMMENT
LOWhelm/holmes/values.yaml481 # Option 1 - PAT: Deploys a self-hosted MCP server using the standard github-mcp imageCOMMENT
LOWhelm/holmes/values.yaml501 # Authentication - choose ONE of the two methods belowCOMMENT
LOWhelm/holmes/values.yaml741 # Holmes's human-approval gate. The chart generates a random per-releaseCOMMENT
LOWhelm/holmes/values.yaml761 annotations: {}COMMENT
4 more matches not shown…
Verbosity Indicators25 hits · 44 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_mcp_oauth.py1173 # Step 1: Discover OAuth endpointsCOMMENT
LOW⚡tests/test_mcp_oauth.py1194 # Step 2: Generate PKCECOMMENT
LOW⚡tests/test_mcp_oauth.py1197 # Step 3: Start local callback server (port 0 = OS-assigned)COMMENT
LOW⚡tests/test_mcp_oauth.py1261 # Step 5: Wait for callbackCOMMENT
LOW⚡tests/test_mcp_oauth.py1270 # Step 6: Exchange code for tokenCOMMENT
LOWtests/test_mcp_oauth.py1244 # Step 4: Build authorization URL and open browserCOMMENT
LOWtests/test_mcp_oauth.py1292 # Step 7: Use token to list MCP toolsCOMMENT
LOWtests/llm/conftest.py458 # Step 2: Environment is OK, now test if the API actually worksCOMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py309 # Step 1: Detect approval neededCOMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py317 # Step 2: Simulate user approval (in real flow, this happens via UI/CLI)COMMENT
LOW⚡tests/toolsets/bash/test_bash_approval_flow.py321 # Step 3: Execute with approvalCOMMENT
LOWholmes/core/llm.py997 # so we need to check if the user has set an OPENAI_API_KEY to load the config model.COMMENT
LOW⚡…lmes/plugins/toolsets/grafana/toolset_grafana_tempo.py360 # Step 2: Sort traces by durationCOMMENT
LOW⚡…lmes/plugins/toolsets/grafana/toolset_grafana_tempo.py363 # Step 3: Calculate basic statisticsCOMMENT
LOW⚡…lmes/plugins/toolsets/grafana/toolset_grafana_tempo.py384 # Step 4: Select representative traces to fetchCOMMENT
LOW⚡…lmes/plugins/toolsets/grafana/toolset_grafana_tempo.py393 # Step 5: Fetch full trace detailsCOMMENT
LOW…lmes/plugins/toolsets/grafana/toolset_grafana_tempo.py332 # Step 1: Get all trace summariesCOMMENT
LOWholmes/plugins/toolsets/grafana/trace_parser.py35 # Step 1: Extract all spans and create span objectsCOMMENT
LOWholmes/plugins/toolsets/grafana/trace_parser.py78 # Step 2: Build the hierarchy by connecting parents and childrenCOMMENT
LOW⚡holmes/plugins/toolsets/mcp/toolset_mcp.py1318 # Step 1: Find auth server via Protected Resource Metadata (RFC 9728)COMMENT
LOW⚡holmes/plugins/toolsets/mcp/toolset_mcp.py1325 # Step 2: Fetch OAuth/OIDC metadataCOMMENT
LOW⚡holmes/plugins/toolsets/bash/validation.py522 # Step 1: Check hardcoded blocksCOMMENT
LOW⚡holmes/plugins/toolsets/bash/validation.py531 # Step 2: Check deny list (using stricter matching)COMMENT
LOW⚡holmes/plugins/toolsets/bash/validation.py540 # Step 3: Check allow listCOMMENT
LOW⚡holmes/plugins/toolsets/bash/validation.py545 # Step 4: Not in any list -> needs approvalCOMMENT
AI Slop Vocabulary15 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMrun_benchmarks_local.py341 %(prog)s --models gpt-4o --benchmark-type full # Full comprehensive benchmarkCODE
MEDIUMtests/test_bash_session_prefix_forgery.py133 """End-to-end reproduction, robust to the chosen fix: a forged approval noteSTRING
LOWtests/llm/utils/test_case_utils.py101# TODO: do we ever use this? or do we always just use float belowCOMMENT
MEDIUMtests/llm/utils/braintrust.py92 # Build comprehensive metadataCOMMENT
MEDIUMtests/core/test_supabase_dal_transport.py39 # Start from a clean CA-env slate; the test harness/sandbox may set these.COMMENT
LOWtests/checks/test_checks_cli.py53 # Note: checks_app already has "check" as the command name, so we just pass the optionsCOMMENT
LOW…s/integration/test_kubernetes_transformer_execution.py50 # If we don't have much space, just use a short summaryCOMMENT
MEDIUM⚡examples/azure-mcp-additional-instance.yaml263# description: "Azure API MCP Server (replaceme account) - comprehensive Azure service access. Execute any Azure CLICOMMENT
LOWholmes/core/tools.py729 check=False, # do not throw error, we just return the error codeCODE
LOWholmes/core/llm.py513 # litellm.validate_environment simply set all AZURE_* variables to missing_keys for azure models when anyCOMMENT
LOWholmes/plugins/toolsets/kubernetes_logs.py246 check=False, # do not throw error, we just return the error codeCODE
LOWholmes/plugins/toolsets/kubernetes_logs.py434 # If we can't parse it, just return the originalCOMMENT
MEDIUMholmes/plugins/toolsets/kafka.py1245 """Provides comprehensive health metrics and status of a Kafka cluster."""STRING
LOWholmes/plugins/toolsets/prometheus/prometheus.py1721 # For other status codes, just return the status code and contentCOMMENT
MEDIUMhelm/holmes/values.yaml311 # Leave empty to use default comprehensive instructionsCOMMENT
AI Structural Patterns21 hits · 20 pts
SeverityFileLineSnippetContext
LOWtempo_cli.py129CODE
LOWtempo_cli.py176CODE
LOWtempo_cli.py211CODE
LOWtempo_cli.py258CODE
LOWtempo_cli.py303CODE
LOWtempo_cli.py335CODE
LOWholmes_operator/utils.py20CODE
LOWholmes/config.py667CODE
LOWholmes/interactive.py2274CODE
LOWholmes/interactive.py2619CODE
LOWholmes/main.py194CODE
LOWholmes/main.py456CODE
LOWholmes/main.py591CODE
LOWholmes/main.py684CODE
LOWholmes/main.py804CODE
LOWholmes/main.py889CODE
LOWholmes/main.py974CODE
LOWholmes/core/tool_calling_llm.py1160CODE
LOWholmes/core/toolset_manager.py88CODE
LOWholmes/plugins/toolsets/mcp/oauth_token_store.py103CODE
LOWholmes/checks/checks_cli.py40CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHholmes/plugins/toolsets/datadog/toolset_datadog_logs.py0get a one-liner description of the tool invocation.STRING
HIGH…es/plugins/toolsets/datadog/toolset_datadog_general.py0get a one-liner description of the tool invocation.STRING
HIGH…mes/plugins/toolsets/datadog/toolset_datadog_traces.py0get a one-liner description of the tool invocation.STRING
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICAL.github/workflows/eval-regression.yaml537 const sha = context.payload.pull_request.head.sha.substring(0, 7);CODE
Fake / Example Data7 hits · 8 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_server_ssl.py31 key.write_text("dummy-key")CODE
LOWtests/core/test_supabase_dal.py36 dal.email = "user@example.com"CODE
LOWtests/core/test_image_token_counting.py69 return DefaultLLM(model=model, api_key="fake-key")CODE
LOWtests/plugins/toolsets/test_notion.py11 "Authorization": "Bearer fake_token",CODE
LOW⚡tests/plugins/toolsets/test_confluence_tools.py25 api_key="fake-token",CODE
LOWtests/plugins/toolsets/bash/test_read_image_file.py102 img_file.write_bytes(b"fake-data")CODE
LOWdocs/ai-providers/ollama.md101 export OPENAI_API_KEY="dummy-key" # Required but can be any valueCODE
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_server_endpoints.py72CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWholmes/core/supabase_dal.py244 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
LOWholmes/plugins/sources/opsgenie/__init__.py11OPSGENIE_TEAM_INTEGRATION_KEY_HELP = "OpsGenie Team Integration key for writing back results. (NOT a normal API Key.) GeCODE