AI Slop Code Risk Monitor

SigNoz/signoz

SlopCodeMonitor badge for SigNoz/signoz Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

SigNoz is an open-source, OpenTelemetry-native observability platform for your team and their AI agents. Get logs, metrics, and traces in one tool with features like APM, distributed tracing, log management, infra monitoring, etc. Combined with SigNoz MCP and a native AI teammate (in SigNoz Cloud) it helps you build more resilient apps.

2.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for SigNoz/signoz, a TypeScript project with 32,489 GitHub stars. SynthScan examined 1,357,829 lines of code across 7960 source files, recording 2101 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 2.5 (Low 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.

2.5
Adjusted Signal
2.5
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
32.5K
Stars
TypeScript
Language
1.4M
Lines of Code
8.0K
Files
2.1K
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

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

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 6.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.6/100 · LOW

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

Agent Over-Engineering Ratio 9.8/100 · LOW

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

PR Review Velocity Impact 11.4/100 · LOW

Which changes need focused human review? 2101 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 4HIGH 49MEDIUM 458LOW 1590

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 2101 distinct pattern matches across 21 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.

Decorative Section Separators424 hits · 1346 pts
SeverityFileLineSnippetContext
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts27// ─── Fixtures ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts74// ─── getRoute ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts90// ─── buildDrilldownUrl ────────────────────────────────────────────────────────COMMENT
MEDIUM…e/Drilldown/__tests__/useBaseDrilldownNavigate.test.ts182// ─── useBaseDrilldownNavigate ─────────────────────────────────────────────────COMMENT
MEDIUM…nd/src/container/MetricsExplorer/Explorer/Explorer.tsx205 // ─── AI Assistant page actions (only when license feature is on) ───────────COMMENT
MEDIUM…nd/src/container/MetricsExplorer/Explorer/Explorer.tsx238 // ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/WidgetCard/utils.ts43 // ── EXPAND ──────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/WidgetCard/utils.ts70 // ── COLLAPSE ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/container/WidgetCard/__tests__/rowCollapse.test.ts12// ─── fixtures ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/container/WidgetCard/__tests__/rowCollapse.test.ts45// ─── frozen-input guard (regression for zustand/immer read-only bug) ──────────COMMENT
MEDIUM…src/container/WidgetCard/__tests__/rowCollapse.test.ts80// ─── collapse behaviour ───────────────────────────────────────────────────────COMMENT
MEDIUM…src/container/WidgetCard/__tests__/rowCollapse.test.ts116// ─── expand behaviour ─────────────────────────────────────────────────────────COMMENT
MEDIUM…src/container/WidgetCard/__tests__/rowCollapse.test.ts155// ─── y-offset adjustment ──────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts32 // ── Dashboards ────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts103 // ── Alerts ────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts190 // ── Services ──────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts227 // ── Logs ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts250 // ── Traces ────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/container/AIAssistant/getAutoContexts.ts288 // ── Metrics ───────────────────────────────────────────────────────────────COMMENT
MEDIUM…iner/AIAssistant/AIAssistantPanel/AIAssistantPanel.tsx75 // ── Resize logic ──────────────────────────────────────────────────────────COMMENT
MEDIUM…d/src/container/AIAssistant/components/blocks/index.ts17// ─── Register built-in block types ───────────────────────────────────────────COMMENT
MEDIUM…d/src/container/AIAssistant/components/blocks/index.ts24// ─── Public exports ───────────────────────────────────────────────────────────COMMENT
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx63 // ── Shared execute logic ─────────────────────────────────────────────────────COMMENT
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx97 // ── Auto-apply: fire immediately on mount if the action opts in ──────────────COMMENT
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx125 // ── Terminal states ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx154 // ── Loading (autoApply in progress) ─────────────────────────────────────────COMMENT
MEDIUM…ssistant/components/blocks/ActionBlock/ActionBlock.tsx165 // ── Pending: manual confirmation card ────────────────────────────────────────COMMENT
MEDIUM…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx531 // ── Voice input ────────────────────────────────────────────────────────────COMMENT
MEDIUM…ntainer/AIAssistant/components/ChatInput/ChatInput.tsx669 // ── Push-to-talk (Cmd/Ctrl + Shift + Space) ────────────────────────────────COMMENT
MEDIUM…iner/AIAssistant/AIAssistantModal/AIAssistantModal.tsx87 // ── Handlers ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…rc/container/AIAssistant/hooks/useSpeechRecognition.ts3// ── Web Speech API types (not yet in lib.dom.d.ts) ────────────────────────────COMMENT
MEDIUM…rc/container/AIAssistant/hooks/useSpeechRecognition.ts41// ── Vendor-prefix shim for Safari / older browsers ────────────────────────────COMMENT
MEDIUM…tainer/LLMObservability/Settings/ModelPricing/utils.ts30// ─── Input helpers ───────────────────────────────────────────────────────────COMMENT
MEDIUM…tainer/LLMObservability/Settings/ModelPricing/utils.ts40// ─── Display helpers ─────────────────────────────────────────────────────────COMMENT
MEDIUM…tainer/LLMObservability/Settings/ModelPricing/utils.ts80// ─── Drawer draft <-> API helpers ────────────────────────────────────────────COMMENT
MEDIUM…d/src/container/LLMObservability/Explorer/Explorer.tsx128 // ─── AI Assistant page actions (only when license feature is on) ───────────COMMENT
MEDIUM…d/src/container/LLMObservability/Explorer/Explorer.tsx165 // ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts92// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts99 // ── guard ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts112 // ── source panel ─────────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts175 // ── receiver panel ───────────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts206 // ── exact groupBy match ───────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts342 // ── partial groupBy overlap ───────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts434 // ── union across queries in groupByPerQuery ───────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts472 // ── no overlap (Filtered mode default) ────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts523 // ── filterMode: All ──────────────────────────────────────────────────COMMENT
MEDIUM…lugins/TooltipPlugin/__tests__/syncDisplayHook.test.ts570 // ── caching ───────────────────────────────────────────────────────────COMMENT
MEDIUM…ctions/ThresholdsSection/ThresholdsSection.module.scss13// ── View mode: compact summary row ──────────────────────────────────────────COMMENT
MEDIUM…ctions/ThresholdsSection/ThresholdsSection.module.scss65// ── Edit mode: labelled form ────────────────────────────────────────────────COMMENT
MEDIUM…ctions/ThresholdsSection/ThresholdsSection.module.scss123// ── Shared ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/pages/LogsExplorer/index.tsx128 // ─── AI Assistant page actions (only when license feature is on) ───────────COMMENT
MEDIUMfrontend/src/pages/LogsExplorer/index.tsx165 // ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/src/pages/TracesExplorer/index.tsx142 // ─── AI Assistant page actions (only when license feature is on) ───────────COMMENT
MEDIUMfrontend/src/pages/TracesExplorer/index.tsx179 // ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py629 # ── stage 1: create one channel per kind, oldest first ───────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py646 # ── stage 2: list ─────────────────────────────────────────────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py666 # ── stage 3: update ──────────────────────────────────────────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py694 # ── stage 4: search by display name ───────────────────────────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py707 # ── stage 5: filter by kind ───────────────────────────────────────────────COMMENT
MEDIUM…tion/tests/alertmanager/04_notification_channels_v2.py722 # ── stage 6: page ─────────────────────────────────────────────────────────COMMENT
364 more matches not shown…
Hyper-Verbose Identifiers1273 hits · 1246 pts
SeverityFileLineSnippetContext
LOWfrontend/src/types/api/alerts/convert.ts94export function toPostableRuleDTOFromAlertDef(CODE
LOW…ders/preferences/context/PreferenceContextProvider.tsx21export function PreferenceContextProvider({CODE
LOW…roviders/Dashboard/store/dynamicVariableSuggestions.ts21export function setDynamicVariableSuggestions(CODE
LOWfrontend/src/AppRoutes/sentryFilters.ts43export function isExternalIntegrationError(event: ErrorEvent): boolean {CODE
LOWfrontend/src/tests/nuqs-helpers.ts35export function getCurrentNuqsQueryString(): string {CODE
LOWfrontend/src/tests/nuqs-helpers.ts39export function getCurrentNuqsSearchParams(): URLSearchParams {CODE
LOWfrontend/src/utils/buildExplorerNavigationUrl.ts8export function buildExplorerNavigationUrl(CODE
LOWfrontend/src/utils/compositeQueryToQueryEnvelope.ts40export function compositeQueryToQueryEnvelope(CODE
LOWfrontend/src/utils/aggregationConverter.ts18export function convertAggregationsToBaseAutocompleteData(CODE
LOWfrontend/src/utils/aggregationConverter.ts86export function getAggregationOptionsForOrderBy(query: {CODE
LOWfrontend/src/utils/aggregationConverter.ts107export function getParsedAggregationOptionsForOrderBy(query: {CODE
LOWfrontend/src/utils/metricsTimeStorageUtils.ts12export function persistTimeDurationForRoute(CODE
LOWfrontend/src/utils/queryContextUtils.ts124export function getCurrentValueIndexAtCursor(CODE
LOWfrontend/src/utils/queryContextUtils.ts154function determineContextBoundaries(CODE
LOWfrontend/src/utils/sanitizeOrderBy.ts8export function sanitizeOrderByForExplorer(CODE
LOWfrontend/src/utils/getUnstableCurrentSearchParams.ts28export function getUnstableCurrentSearchParams(): URLSearchParams {CODE
LOW…RowDismissibleCallout/LicenseRowDismissibleCallout.tsx15function LicenseRowDismissibleCallout(): JSX.Element | null {CODE
LOWfrontend/src/container/ExplorerActions/utils.ts34export function getExplorerActionEventPayload({CODE
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts50export function convertGroupMappingsToRecord(CODE
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts70export function convertGroupMappingsToList(CODE
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts86export function convertDomainMappingsToRecord(CODE
LOW…tionSettings/AuthDomain/CreateEdit/CreateEdit.utils.ts111export function convertDomainMappingsToList(CODE
LOW…gs/AuthDomain/CreateEdit/Providers/AuthnGoogleAuth.tsx23function ConfigureGoogleAuthAuthnProvider({CODE
LOW…Settings/AuthDomain/CreateEdit/Providers/AuthnSAML.tsx16function ConfigureSAMLAuthnProvider({CODE
LOW…Settings/AuthDomain/CreateEdit/Providers/AuthnOIDC.tsx16function ConfigureOIDCAuthnProvider({CODE
LOW…/MeterExplorer/Explorer/useTimeSeriesTimeManagement.ts29export function useTimeSeriesTimeManagement({CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx84export function getEvaluationWindowStateFromAlertDef(CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx89 function getRollingWindowTimeframe(): string {CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx101 function getCumulativeWindowTimeframe(): string {CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx120 function getCumulativeWindowStartingAt(): EvaluationWindowState['startingAt'] {CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx183export function getNotificationSettingsStateFromAlertDef(CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx217export function getAdvancedOptionsStateFromAlertDef(CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx251export function getThresholdStateFromAlertDef(CODE
LOWfrontend/src/container/CreateAlertV2/utils.tsx296export function getCreateAlertLocalStateFromAlertDef(CODE
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx67export function getNotificationSettingsProps(CODE
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx103export function getEnforceMinimumDatapointsProps(CODE
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx217export function buildCreateThresholdAlertRulePayload(CODE
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx302export function buildCreateAnomalyAlertRulePayload(CODE
LOWfrontend/src/container/CreateAlertV2/Footer/utils.tsx335export function buildCreateAlertRulePayload(CODE
LOW…tainer/CreateAlertV2/context/resolveUrlAlertPrefill.ts41function parseEvaluationWindowPreset(CODE
LOWfrontend/src/container/CreateAlertV2/context/utils.tsx102export function getInitialAlertTypeFromURL(CODE
LOW…d/src/container/CreateAlertV2/AlertCondition/utils.tsx73export function getCategorySelectOptionByName(CODE
LOW…d/src/container/CreateAlertV2/AlertCondition/utils.tsx426export function NotificationChannelsNotFoundContent({CODE
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx90export function buildAlertScheduleFromRRule(CODE
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx144function generateMonthlyOccurrences(CODE
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx181function generateWeeklyOccurrences(CODE
LOW…c/container/CreateAlertV2/EvaluationSettings/utils.tsx242export function buildAlertScheduleFromCustomSchedule(CODE
LOW…end/src/container/CreateAlertV2/QuerySection/utils.tsx8export function buildAlertDefForChartPreview({CODE
LOW…teAlertV2/QuerySection/__tests__/ChartPreview.test.tsx32 function MockChartPreviewComponent(props: any): JSX.Element {CODE
LOW…teAlertV2/QuerySection/__tests__/QuerySection.test.tsx59 function MockQuerySectionComponent({CODE
LOW…filters/MetricNameSelector/MetricNameSelector.test.tsx547function StatefulMetricQueryHarness({CODE
LOW…QueryBuilderSearchV2/ExampleQueriesRendererForLogs.tsx3function ExampleQueriesRendererForLogs({CODE
LOW…ner/QueryBuilder/filters/QueryBuilderSearchV2/utils.ts50export function isExistsNotExistsOperator(value: string): boolean {CODE
LOW…ner/QueryBuilder/filters/QueryBuilderSearchV2/utils.ts155export function replaceStringWithMaxLength(CODE
LOW…ner/QueryBuilder/filters/QueryBuilderSearchV2/utils.ts198export function convertExampleQueriesToOptions(CODE
LOW…rs/QueryBuilderSearchV2/QueryBuilderSearchDropdown.tsx31export default function QueryBuilderSearchDropdown(CODE
LOW…ntainer/PlannedDowntime/PlannedDowntimeActionsMenu.tsx15function PlannedDowntimeActionsMenu({CODE
LOWfrontend/src/container/PlannedDowntime/table.config.tsx34export function getPlannedDowntimeColumns(CODE
LOW…ontainer/PlannedDowntime/PlannedDowntimeEmptyState.tsx15function PlannedDowntimeEmptyState({CODE
LOW…ntainer/PlannedDowntime/PlannedDowntimeDeleteModal.tsx16export function PlannedDowntimeDeleteModal(CODE
1213 more matches not shown…
Cross-File Repetition38 hits · 190 pts
SeverityFileLineSnippetContext
HIGH…sts/integration/tests/inframonitoring/04_namespaces.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGHtests/integration/tests/inframonitoring/05_clusters.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGHtests/integration/tests/inframonitoring/03_nodes.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGH…ts/integration/tests/inframonitoring/07_deployments.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGHtests/integration/tests/inframonitoring/09_jobs.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGHtests/integration/tests/inframonitoring/02_pods.py0a never-ingested metric surfaces a non-blocking warning (200 + data), not a hard error: the endpoint returns the entity STRING
HIGH…sts/integration/tests/inframonitoring/04_namespaces.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGH…s/integration/tests/inframonitoring/08_statefulsets.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/01_hosts.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/05_clusters.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/03_nodes.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/06_volumes.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGH…ts/integration/tests/inframonitoring/07_deployments.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/09_jobs.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGHtests/integration/tests/inframonitoring/02_pods.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGH…sts/integration/tests/inframonitoring/10_daemonsets.py0malformed filter grammar (trailing operator, unclosed paren) returns 400 invalid_input with structured errors.STRING
HIGH…sts/integration/tests/inframonitoring/04_namespaces.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGH…s/integration/tests/inframonitoring/08_statefulsets.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/01_hosts.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/05_clusters.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/03_nodes.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/06_volumes.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGH…ts/integration/tests/inframonitoring/07_deployments.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/09_jobs.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGHtests/integration/tests/inframonitoring/02_pods.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGH…sts/integration/tests/inframonitoring/10_daemonsets.py0pagination: per-page len matches min(limit, total-offset), total invariant, pages cover the full set with no overlap. thSTRING
HIGH…sts/integration/tests/inframonitoring/04_namespaces.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGHtests/integration/tests/inframonitoring/05_clusters.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGHtests/integration/tests/inframonitoring/03_nodes.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGHtests/integration/tests/inframonitoring/06_volumes.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGHtests/integration/tests/inframonitoring/09_jobs.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGHtests/integration/tests/inframonitoring/02_pods.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGH…sts/integration/tests/inframonitoring/10_daemonsets.py0every orderby column x direction: total/len stay k (invariant under sort) and records come back sorted by the requested STRING
HIGH…/integration/tests/cloudintegrations/01_credentials.py0apply a license so that subsequent cloud integration calls succeed.STRING
HIGH…sts/integration/tests/cloudintegrations/04_accounts.py0apply a license so that subsequent cloud integration calls succeed.STRING
HIGH…tegration/tests/cloudintegrations/02_create_account.py0apply a license so that subsequent cloud integration calls succeed.STRING
HIGH…sts/integration/tests/cloudintegrations/05_services.py0apply a license so that subsequent cloud integration calls succeed.STRING
HIGH…tegration/tests/cloudintegrations/03_agent_check_in.py0apply a license so that subsequent cloud integration calls succeed.STRING
Over-Commented Block171 hits · 168 pts
SeverityFileLineSnippetContext
LOWfrontend/pnpm-workspace.yaml1blockExoticSubdeps: trueCOMMENT
LOWfrontend/pnpm-workspace.yaml21 # via: babel-plugin-istanbul > test-exclude@6 > minimatch@3.1.5 (^1.1.7); also glob@7COMMENT
LOWfrontend/pnpm-workspace.yaml41 # (latest 13.1.0) and monaco-editor (latest 0.55.1) still pin vulnerable versionsCOMMENT
LOWfrontend/pnpm-workspace.yaml61 # remove: blocked, both consumers cap js-yaml at ^4 and only 4.3.2 carries the fixCOMMENT
LOWfrontend/pnpm-workspace.yaml81 react-router@>=6.7.0 <6.30.6: '>=6.30.6 <7'COMMENT
LOWfrontend/.storybook/test-runner.ts1import { getStoryContext } from '@storybook/test-runner';COMMENT
LOWfrontend/.storybook/preview-head.html41 // trial countdowns all derive from `now`, and Chromatic does not freeze theCOMMENT
LOWfrontend/src/auto-import-registry.d.ts1// -------------------------------------------------------------------------COMMENT
LOWfrontend/src/tests/nuqs-helpers.ts1// Helpers for tests that drive components built with `nuqs`.COMMENT
LOWfrontend/src/utils/queryContextUtils.ts601 const contextBoundaries = determineContextBoundaries(COMMENT
LOW…teAlertV2/NotificationSettings/NotificationMessage.tsx21 // { variable: '{{unit}}', description: 'Unit of measurement for the metric' },COMMENT
LOW…lder/filters/MetricNameSelector/MetricNameSelector.tsx41 metricName: string,COMMENT
LOW…lder/filters/MetricNameSelector/MetricNameSelector.tsx61// the dropdown. If the name differs from the current metric, it's resolvedCOMMENT
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1021 const expression = "service.name = 'api-gateway'";COMMENT
LOW…components/MarkdownContent/MarkdownContent.module.scss1@use '../../../../../../../../styles/scrollbar' as *;COMMENT
LOW…tend/src/pages/DashboardsListPage/utils/filterQuery.ts1// Pure, side-effect-free helpers over the backend list-filter DSL stringCOMMENT
LOW…dsListPage/components/NewDashboardModal/importUtils.ts1import {COMMENT
LOW…ModulePage/LiveLogs/stories/LiveLogs.stories.mocks.tsx101 // is open for an instant. The chart's other source is the payload theCOMMENT
LOWfrontend/src/pages/Services/Metrics.test.tsx41COMMENT
LOWfrontend/src/pages/Services/Metrics.test.tsx61 // /6d4af7f0-4884-4a37-abd4-6bdbee29fa04/i,COMMENT
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx141 // key: 'copy-value',COMMENT
LOW…s/TraceDetailsV3/SpanDetailsPanel/SpanDetailsPanel.tsx261 // Object.entries(selectedSpan.attributes || {}).forEach(([k, v]) => {COMMENT
LOW…/TraceFlamegraph/__tests__/computeVisualLayout.test.ts421 // a, b → row 1 (no overlap, share row)COMMENT
LOWee/anomaly/params.go41}COMMENT
LOWee/anomaly/params.go61 PastPeriodQuery qbtypes.QueryRangeRequestCOMMENT
LOWee/sqlschema/postgressqlschema/provider.go221 // generate_series over indnkeyatts (count of key columns, excluding non-keyCOMMENT
LOWee/query-service/anomaly/params.go41 Seasonality SeasonalityCOMMENT
LOWee/query-service/anomaly/params.go61 CurrentPeriodQuery *v3.QueryRangeParamsV3COMMENT
LOWtests/integration/tests/dashboard/03_v2_dashboard.py861 assert {d["spec"]["display"]["name"] for d in response.json()["data"]["dashboards"]} == expected, queryCOMMENT
LOWtests/integration/tests/dashboard/03_v2_dashboard.py1321 )COMMENT
LOW…on/tests/querier_json_body/01_logs_json_body_new_qb.py21# ============================================================================COMMENT
LOW…on/tests/querier_json_body/01_logs_json_body_new_qb.py1341 ]COMMENT
LOW…egration/tests/querier_json_body/02_non_body_fields.py21#COMMENT
LOW…s/integration/tests/queriertraces/06_trace_operator.py41# T1 checkout-svc [SERVER] POST /checkout (5s) ← structural root, http.method=POSTCOMMENT
LOW…s/integration/tests/queriertraces/06_trace_operator.py61# A || B A=http.method EXISTS B=messaging.system='kafka' T1✓ T2✓ T3✓ T4✓COMMENT
LOWtests/integration/tests/queriertraces/01_list.py1301 # A scope attribute whose own name carries a `scope.` prefix. `scope.prefixed`COMMENT
LOW…integration/tests/queriertraces/10_filter_operators.py21# No clean/corrupt factor: this file targets operator/parser resolution, which isCOMMENT
LOW…s/integration/tests/ruler/01_basic_alert_conditions.py541 }COMMENT
LOW…s/integration/tests/ruler/01_basic_alert_conditions.py561 # wait_time_seconds=90,COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py21 "query,result",COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py41 # x[2].span_id,COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py61 # # Logs stmt builder by default adds timestamp field to select fields and ignores user input timestamp fielCOMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py81 # BuilderQuery(COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py101 # TelemetryFieldKey("attribute.timestamp"),COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py121 # TelemetryFieldKey("attribute.timestamp"),COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py141 # ],COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py461COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py481 # # Order: no explicit order → ClickHouse internal storage orderCOMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py501 # # Values: x[0].trace_id="1", x[1].trace_id="", x[2].trace_id="", x[3].trace_id=""COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py521 # # Justification (expected values and row order):COMMENT
LOW…/integration/tests/querierlogs/07_list_expectations.py541 # # Values: x[0]="", x[1]="2", x[2]="", x[3]="" (only x[1] has attribute.trace_id set)COMMENT
LOW…egration/tests/querierlogs/11_aggregation_functions.py21# queriertraces/02_aggregation.py::test_traces_aggregate_functions. Logs querierCOMMENT
LOW…gration/tests/querierlogs/13_unknown_key_collisions.py21COMMENT
LOWtests/integration/tests/querierlogs/04_formula.py61 resources={"service.name": name},COMMENT
LOWtests/e2e/playwright.config.ts1import { defineConfig, devices } from '@playwright/test';COMMENT
LOWtests/e2e/playwright.config.ts41 // CI can archive the whole dir with `tar czf artifacts.tgz tests/e2e/artifacts`.COMMENT
LOWtests/e2e/pnpm-workspace.yaml1# Security floors for vulnerable transitive deps. Where possible, targets areCOMMENT
LOWtests/e2e/tests/alerts/create/edge.spec.ts101 //COMMENT
LOWtests/e2e/helpers/common.ts21}COMMENT
LOWtests/e2e/helpers/query-range-mock.ts1import type { Page, Route } from '@playwright/test';COMMENT
111 more matches not shown…
Structural Annotation Overuse47 hits · 82 pts
SeverityFileLineSnippetContext
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts85 // Step 1: Always include service.name and environment attributesCOMMENT
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts88 // Step 2: Find first category with attributes and pick first availableCOMMENT
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts93 // Step 3: Fallback to current regex logic (only if no priority items found)COMMENT
LOW⚡…/OnboardingV2Container/AddDataSource/AddDataSource.tsx278 // Step 1: Parse the URLCOMMENT
LOW⚡…/OnboardingV2Container/AddDataSource/AddDataSource.tsx283 // Step 2: Update or add the 'source' parameterCOMMENT
LOW…/OnboardingV2Container/AddDataSource/AddDataSource.tsx304 // Step 3: Return the updated URL as a stringCOMMENT
LOW…end/src/hooks/integration/gcp/useManualAccountSetup.ts45 // Step 1: create the integration account.COMMENT
LOW…end/src/hooks/integration/gcp/useManualAccountSetup.ts63 // Step 2: mimic the agent by checking in from the frontend (manual flow).COMMENT
LOWfrontend/src/store/globalTime/index.ts49 * ### Step 1: Get Store StateCOMMENT
LOWfrontend/src/store/globalTime/index.ts62 * ### Step 2: Build Query KeyCOMMENT
LOWfrontend/src/store/globalTime/index.ts82 * ### Step 3: Fetch DataCOMMENT
LOWfrontend/src/store/globalTime/index.ts100 * ### Step 4: Add Refresh Button (Optional)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py43 # Step 1: invite and delete the first userCOMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py64 # Step 2: re-invite and delete the same email (second deleted row)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py86 # Step 3: assert the DB has exactly two deleted rows for this emailCOMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py107 # Step 4: the unique index must still block a duplicate non-deleted row.COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py137 # Step 5: a third deleted row must be accepted (excluded from partial index)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py150 # Step 6: confirm three deleted rows now existCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md23## Step 1: Register the kindCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md35## Step 2: Register the resourceCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md45## Step 3: Grant permissions to managed rolesCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md57## Step 4: Wire the routeCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md78## Step 5: Backfill existing organizations (only if needed)COMMENT
LOW.claude/skills/authz-configurator/SKILL.md89## Step 6: Update the golden testdata and regenerate CI-checked artifactsCOMMENT
LOW.claude/skills/authz-configurator/SKILL.md111## Step 7: Write integration testsCOMMENT
LOW⚡pkg/queryparser/queryfilterextractor/clickhouse.go442 // Step 1: Search in CTE and Joins, this will take us to very end of the SubQueries and CTECOMMENT
LOW⚡pkg/queryparser/queryfilterextractor/clickhouse.go451 // Step 2: Once we're sure there are no SubQueries and CTE we just find all the selectItemCOMMENT
LOWpkg/types/dashboardtypes/perses_dashboard_test.go1968 // Step 1: Unmarshal + validate + normalize (what the API handler does).COMMENT
LOW⚡pkg/types/dashboardtypes/perses_dashboard_test.go1984 // Step 2: Marshal to JSON (simulates writing to DB).COMMENT
LOW⚡pkg/types/dashboardtypes/perses_dashboard_test.go1988 // Step 3: Unmarshal from JSON (simulates reading from DB).COMMENT
LOWpkg/types/dashboardtypes/perses_dashboard_test.go2004 // Step 4: Marshal again (simulates API response) and verify defaults.COMMENT
LOWpkg/types/telemetrytypes/field.go151 // Step 1: Parse data type from the right (after the last ":") if not already specifiedCOMMENT
LOWpkg/types/telemetrytypes/field.go162 // Step 2: Parse field context from the left if not already specifiedCOMMENT
LOWpkg/modules/tracedetail/impltracedetail/module.go171 // Step 1: minimal fetch → build full tree → select visible windowCOMMENT
LOWpkg/modules/tracedetail/impltracedetail/module.go193 // Step 2: full fetch for the selected window onlyCOMMENT
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go68 // Step 1: Delete all tuples with the old "metaresources" object_type.COMMENT
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go83 // Step 2: Insert replacement tuples.COMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go74 // Step 1: Drop the wrong index on (id, provider, org_id)COMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go83 // Step 2: Normalize empty-string account_id to NULLCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go95 // Step 3: Fetch all active rows with non-null account_id, ordered for groupingCOMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go118 // Step 4: Merge config from losers into keeperCOMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go123 // Step 5: Reassign non-conflicting cloud_integration_service rows to keeperCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go144 // Step 6: Soft-delete all loser rowsCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go157 // Step 7: Create the correct partial unique index on (account_id, provider, org_id) WHERE removed_at IS NULLCOMMENT
LOW⚡pkg/query-service/app/clickhouseReader/reader.go706 // Step 1: Get top operations for the given serviceCOMMENT
LOW⚡pkg/query-service/app/clickhouseReader/reader.go715 // Step 2: Get entry point operation names for the given service using GetTopLevelOperationsCOMMENT
LOWpkg/query-service/app/clickhouseReader/reader.go748 // Step 3: Filter topOps based on entryPointSet (same as original)COMMENT
Self-Referential Comments27 hits · 81 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration/tests/passwordauthn/04_password.py66 # Create a reset password token via v2 PUTCOMMENT
MEDIUMtests/integration/tests/passwordauthn/04_password.py218 # Create a user specifically for testing forgot passwordCOMMENT
MEDIUMtests/integration/tests/ttl/01_ttl.py910 # Create a list of many TTL conditions to test performance and limitsCOMMENT
MEDIUM…s/integration/tests/logspipelines/01_logs_pipelines.py113 # Create a pipeline firstCOMMENT
MEDIUM…s/integration/tests/logspipelines/01_logs_pipelines.py583 # Create a pipeline firstCOMMENT
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py42 # Create a saml client in the idp.COMMENT
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py48 # Create a auth domain in signoz.COMMENT
MEDIUMtests/integration/tests/callbackauthn/03_oidc.py88 # Create a user in the idp.COMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py36 # Create a domain with google auth configCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py56 # Create a domain with saml configCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py105 # Create a domain with kind saml and a spec for oidc, this should fail because the spec does not match the kindCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py126 # Create a domain with a kind but no specCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py142 # Create a domain with invalid nameCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py163 # Create a domain with no nameCOMMENT
MEDIUMtests/integration/tests/callbackauthn/01_domain.py183 # Create a domain with no configCOMMENT
MEDIUMtests/integration/tests/callbackauthn/02_saml.py45 # Create a saml client in the idp.COMMENT
MEDIUMtests/integration/tests/callbackauthn/02_saml.py51 # Create a auth domain in signoz.COMMENT
MEDIUMtests/integration/tests/callbackauthn/02_saml.py117 # Create a user in the idp.COMMENT
MEDIUMtests/integration/tests/callbackauthn/02_saml.py147 # Create a user in the idp.COMMENT
MEDIUM…/integration/tests/dashboard/05_v2_public_dashboard.py51 # Create a v2 dashboard with one panel whose builder query carries a filter,COMMENT
MEDIUM…s/integration/tests/ruler/01_basic_alert_conditions.py625 # Create an alert channel using the given routeCOMMENT
MEDIUMtests/integration/tests/ruler/04_disabled_rule.py71 # Create an alert channel using the given routeCOMMENT
MEDIUMtests/integration/tests/ruler/04_disabled_rule.py85 # Create the disabled alert ruleCOMMENT
MEDIUMtests/integration/tests/basepath/01_oidc.py44 # Create an oidc client in the idp with the prefixed callback.COMMENT
MEDIUMtests/integration/tests/basepath/01_oidc.py90 # Create a user in the idp.COMMENT
MEDIUMtests/integration/tests/basepath/02_saml.py42 # Create a saml client in the idp with the prefixed ACS.COMMENT
MEDIUMtests/integration/tests/basepath/02_saml.py85 # Create a user in the idp.COMMENT
Verbosity Indicators43 hits · 76 pts
SeverityFileLineSnippetContext
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts85 // Step 1: Always include service.name and environment attributesCOMMENT
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts88 // Step 2: Find first category with attributes and pick first availableCOMMENT
LOW⚡frontend/src/container/LogsExplorerContext/utils.ts93 // Step 3: Fallback to current regex logic (only if no priority items found)COMMENT
LOW⚡…/OnboardingV2Container/AddDataSource/AddDataSource.tsx278 // Step 1: Parse the URLCOMMENT
LOW⚡…/OnboardingV2Container/AddDataSource/AddDataSource.tsx283 // Step 2: Update or add the 'source' parameterCOMMENT
LOW…/OnboardingV2Container/AddDataSource/AddDataSource.tsx304 // Step 3: Return the updated URL as a stringCOMMENT
LOW…end/src/hooks/integration/gcp/useManualAccountSetup.ts45 // Step 1: create the integration account.COMMENT
LOW…end/src/hooks/integration/gcp/useManualAccountSetup.ts63 // Step 2: mimic the agent by checking in from the frontend (manual flow).COMMENT
LOWfrontend/src/store/globalTime/index.ts49 * ### Step 1: Get Store StateCOMMENT
LOWfrontend/src/store/globalTime/index.ts62 * ### Step 2: Build Query KeyCOMMENT
LOWfrontend/src/store/globalTime/index.ts82 * ### Step 3: Fetch DataCOMMENT
LOWfrontend/src/store/globalTime/index.ts100 * ### Step 4: Add Refresh Button (Optional)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py43 # Step 1: invite and delete the first userCOMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py64 # Step 2: re-invite and delete the same email (second deleted row)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py86 # Step 3: assert the DB has exactly two deleted rows for this emailCOMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py107 # Step 4: the unique index must still block a duplicate non-deleted row.COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py137 # Step 5: a third deleted row must be accepted (excluded from partial index)COMMENT
LOW…ntegration/tests/passwordauthn/08_user_unique_index.py150 # Step 6: confirm three deleted rows now existCOMMENT
LOWpkg/telemetryschema/tracestelemetryschema/storage.go259 // once clickHouse dependency is updated, we need to check if we can remove it.COMMENT
LOW⚡pkg/queryparser/queryfilterextractor/clickhouse.go442 // Step 1: Search in CTE and Joins, this will take us to very end of the SubQueries and CTECOMMENT
LOW⚡pkg/queryparser/queryfilterextractor/clickhouse.go451 // Step 2: Once we're sure there are no SubQueries and CTE we just find all the selectItemCOMMENT
LOW…parser/queryfilterextractor/clickhouse_originparser.go147 // for functions, we need to check if the function is excluded function or a JSON extraction function with nested JSONCOMMENT
LOWpkg/types/dashboardtypes/perses_dashboard_test.go1968 // Step 1: Unmarshal + validate + normalize (what the API handler does).COMMENT
LOW⚡pkg/types/dashboardtypes/perses_dashboard_test.go1984 // Step 2: Marshal to JSON (simulates writing to DB).COMMENT
LOW⚡pkg/types/dashboardtypes/perses_dashboard_test.go1988 // Step 3: Unmarshal from JSON (simulates reading from DB).COMMENT
LOWpkg/types/dashboardtypes/perses_dashboard_test.go2004 // Step 4: Marshal again (simulates API response) and verify defaults.COMMENT
LOWpkg/types/telemetrytypes/field.go151 // Step 1: Parse data type from the right (after the last ":") if not already specifiedCOMMENT
LOWpkg/types/telemetrytypes/field.go162 // Step 2: Parse field context from the left if not already specifiedCOMMENT
LOWpkg/modules/tracedetail/impltracedetail/module.go171 // Step 1: minimal fetch → build full tree → select visible windowCOMMENT
LOWpkg/modules/tracedetail/impltracedetail/module.go193 // Step 2: full fetch for the selected window onlyCOMMENT
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go68 // Step 1: Delete all tuples with the old "metaresources" object_type.COMMENT
LOWpkg/sqlmigration/081_migrate_metaresources_tuples.go83 // Step 2: Insert replacement tuples.COMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go74 // Step 1: Drop the wrong index on (id, provider, org_id)COMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go83 // Step 2: Normalize empty-string account_id to NULLCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go95 // Step 3: Fetch all active rows with non-null account_id, ordered for groupingCOMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go118 // Step 4: Merge config from losers into keeperCOMMENT
LOW⚡pkg/sqlmigration/069_update_cloud_integration_index.go123 // Step 5: Reassign non-conflicting cloud_integration_service rows to keeperCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go144 // Step 6: Soft-delete all loser rowsCOMMENT
LOWpkg/sqlmigration/069_update_cloud_integration_index.go157 // Step 7: Create the correct partial unique index on (account_id, provider, org_id) WHERE removed_at IS NULLCOMMENT
LOWpkg/query-service/app/traces/v4/enrich.go20 // we need to check if the field is static and return false if isColumn is not setCOMMENT
LOW⚡pkg/query-service/app/clickhouseReader/reader.go706 // Step 1: Get top operations for the given serviceCOMMENT
LOW⚡pkg/query-service/app/clickhouseReader/reader.go715 // Step 2: Get entry point operation names for the given service using GetTopLevelOperationsCOMMENT
LOWpkg/query-service/app/clickhouseReader/reader.go748 // Step 3: Filter topOps based on entryPointSet (same as original)COMMENT
Cross-Language Confusion8 hits · 59 pts
SeverityFileLineSnippetContext
HIGHtests/integration/tests/dashboard/03_v2_dashboard.py1824# explicit [] that must echo back as [] (yet stay absent, never null, when unset),COMMENT
HIGHtests/integration/tests/dashboard/03_v2_dashboard.py1910 # whose unset slices must be omitted (not null) on read-back.COMMENT
HIGH…on/tests/querier_json_body/01_logs_json_body_new_qb.py459 # log4 (no user): IS NOT NULL(null)=false → NOT found.COMMENT
HIGH⚡…s/integration/tests/queriertraces/06_trace_operator.py82 # The two POST spans are tied so their relative order is undefined; catalog-svcCOMMENT
HIGH⚡…s/integration/tests/queriertraces/06_trace_operator.py185 "expression": "A && B",CODE
HIGH⚡…s/integration/tests/queriertraces/06_trace_operator.py198 "expression": "A || B",CODE
HIGH⚡…s/integration/tests/queriertraces/06_trace_operator.py211 "expression": "A || B",CODE
HIGHtests/integration/tests/queriertraces/01_list.py985 return zero rows (rows is null, surfaced as an empty list).STRING
Hallucination Indicators4 hits · 55 pts
SeverityFileLineSnippetContext
CRITICALfrontend/src/lib/dashboard/getQueryResults.ts329 response.payload.data.newResult.data.result.map((queryData) => {CODE
CRITICAL⚡…rrorDetails/stories/__story_mockdata__/errorDetails.ts82\tat io.signoz.sample.payment.GatewayClient.authorize(GatewayClient.java:74)CODE
CRITICAL⚡…rrorDetails/stories/__story_mockdata__/errorDetails.ts83\tat io.signoz.sample.payment.PaymentService.charge(PaymentService.java:112)CODE
CRITICAL⚡…rrorDetails/stories/__story_mockdata__/errorDetails.ts84\tat io.signoz.sample.payment.PaymentController.pay(PaymentController.java:48)CODE
Fake / Example Data37 hits · 37 pts
SeverityFileLineSnippetContext
LOW…ettings/AuthDomain/CreateEdit/CreateEdit.utils.test.ts56 { domain: 'example.com', adminEmail: 'admin@example.com' },CODE
LOW…ettings/AuthDomain/CreateEdit/CreateEdit.utils.test.ts60 'example.com': 'admin@example.com',CODE
LOW…ettings/AuthDomain/CreateEdit/CreateEdit.utils.test.ts76 'example.com': 'admin@example.com',CODE
LOW…ettings/AuthDomain/CreateEdit/CreateEdit.utils.test.ts129 domainToAdminEmail: { 'example.com': 'admin@example.com' },CODE
LOW…ettings/AuthDomain/CreateEdit/CreateEdit.utils.test.ts135 { domain: 'example.com', adminEmail: 'admin@example.com' },CODE
LOW…d/src/container/RoutingPolicies/__tests__/testUtils.ts82 displayName: 'John Doe',CODE
LOW…r/AIAssistant/components/ApprovalCard/ApprovalCard.tsx313 const op = line.op === 'add' ? 'placeholder' : line.op;CODE
LOW…r/AIAssistant/components/ApprovalCard/ApprovalCard.tsx327 const op = line.op === 'remove' ? 'placeholder' : line.op;CODE
LOW…r/AIAssistant/components/ApprovalCard/ApprovalCard.tsx345type RenderOp = LineOp | 'placeholder';CODE
LOW…r/AIAssistant/components/ApprovalCard/ApprovalCard.tsx432 [styles.diffLinePlaceholder]: op === 'placeholder',CODE
LOWfrontend/src/container/LogDetailedView/util.test.ts133 '{"name": "John", "age": 30, "address": {"street": "123 Main St", "city": "Anytown", "state": "CA"}}';CODE
LOWfrontend/src/container/LogDetailedView/util.test.ts139 street: '123 Main St',CODE
LOW…rc/components/QuickFilters/tests/QuickFilters.test.tsx539 expect(minDuration).toHaveProperty('placeholder', '0');CODE
LOW…rc/components/QuickFilters/tests/QuickFilters.test.tsx541 expect(maxDuration).toHaveProperty('placeholder', '100000000');CODE
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts443 value: 'user@example.com',CODE
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts464 "is_active = true AND is_deleted = false AND email = 'user@example.com' AND description = 'Contains \"quotes\" and \CODE
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1459 expect(formatValueForExpression('user@example.com')).toBe(CODE
LOW…/src/components/QueryBuilderV2/__tests__/utils.test.ts1460 "'user@example.com'",CODE
LOW…mponents/QueryBuilderV2/__tests__/QueryAddOns.test.tsx177 [QueryBuilderField.Limit, 'input-Limit', 'placeholder'],CODE
LOW…mponents/QueryBuilderV2/__tests__/QueryAddOns.test.tsx178 [QueryBuilderField.Legend, 'input-Legend format', 'placeholder'],CODE
LOW…mponents/QueryBuilderV2/__tests__/QueryAddOns.test.tsx220 'placeholder',CODE
LOWfrontend/src/components/Input/index.tsx47 placeholder?: InputProps['placeholder'];CODE
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts21 'Lorem Ipsum',CODE
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts38 'Lorem Ipsum2',CODE
LOWfrontend/src/lib/__fixtures__/getRandomColor.ts55 'Lorem Ipsum3',CODE
LOW…tPassword/stories/__story_mockdata__/forgotPassword.ts13 { id: 'org-acme', name: 'Acme Corp' },CODE
LOW…sListPage/stories/__story_mockdata__/dashboardsList.ts333 displayName: 'John Doe',CODE
LOW…nd/src/pages/Login/stories/__story_mockdata__/login.ts19 { id: 'org-acme', name: 'Acme Corp' },CODE
LOWtests/integration/tests/callbackauthn/03_oidc.py418 assert found_user["displayName"] == "John Doe"CODE
LOWtests/e2e/tests/alerts/create/v2.spec.ts55 'placeholder',CODE
LOW…tryschema/logstelemetryschema/filter_expr_logs_test.go852 expectedArgs: []any{"user@example.com"},CODE
LOW…tryschema/logstelemetryschema/filter_expr_logs_test.go918 expectedArgs: []any{"user@example.com"},CODE
LOW…rtmanager/alertmanagernotify/opsgenie/opsgenie_test.go560 {"shrinks to fit", strings.Repeat("lorem ipsum ", 500), 1000, false},CODE
LOW…rtmanager/alertmanagernotify/opsgenie/opsgenie_test.go561 {"budget too small", strings.Repeat("lorem ipsum ", 500), 10, true},CODE
LOWpkg/tokenizer/jwttokenizer/provider_test.go64 Email: valuer.MustNewEmail("test@test.com"),CODE
LOWpkg/tokenizer/jwttokenizer/provider_test.go75 Email: valuer.MustNewEmail("test@test.com"),CODE
LOWpkg/valuer/email_test.go16 {name: "Valid", val: "test@test.com", want: Email{val: "test@test.com"}, pass: true},CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…MessagingQueues/MQDetails/MetricPage/MetricPageUtil.ts423 // Use kebab-case title as requestedCOMMENT
HIGH…ypes/cloudintegrationtypes/cloudprovider_azure_test.go1// file is generated by AICOMMENT
Excessive Try-Catch Wrapping11 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/seeder/server.py86 except Exception as e:CODE
LOWtests/seeder/server.py99 except Exception as e:CODE
LOWtests/seeder/server.py113 except Exception as e:CODE
LOWtests/seeder/server.py124 except Exception as e:CODE
LOWtests/seeder/server.py138 except Exception as e:CODE
LOWtests/seeder/server.py149 except Exception as e:CODE
LOWtests/seeder/server.py163 except Exception as e:CODE
MEDIUMtests/seeder/server.py94def delete_traces() -> Response:CODE
MEDIUMtests/seeder/server.py119def delete_logs() -> Response:CODE
MEDIUMtests/seeder/server.py144def delete_metrics() -> Response:CODE
LOWtests/e2e/bootstrap/setup.py58 except Exception as e: # pylint: disable=broad-exception-caughtCODE
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUM…ryschema/logstelemetryschema/json_condition_builder.go178 // else ClickHouse may not utilize indexCOMMENT
MEDIUMpkg/types/spantypes/flamegraph_trace.go74 startLevel = max(0, endLevel-levelLimit) // utilize the page size if endLevel is clampedCODE
MEDIUMpkg/query-service/app/logs/v4/query_builder.go224 // by default clickhouse is not able to utilize indexes for keys with all operators.COMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…sts/integration/tests/cloudintegrations/05_services.py594except ValueError:CODE
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/integration/bootstrap/setup.py9logger = logging.getLogger(__name__)CODE
LOWtests/integration/tests/passwordauthn/07_user_fga.py37def _set_actor_role(signoz: types.SigNoz, admin_token: str, transaction_groups: list[dict]) -> None:CODE
LOWtests/e2e/bootstrap/basepath/setup.py5__all__ = ["test_setup", "test_teardown"]CODE
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…egration/tests/promqlconformance/01_upstream_corpus.py30CODE
LOW…/integration/tests/querierlogs/07_list_expectations.py717CODE
LOW…n/tests/promapiconformance/01_prometheus_api_corpus.py24CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/e2e/bootstrap/basepath/setup.py3CODE
LOWtests/e2e/bootstrap/basepath/setup.py3CODE
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMdocs/contributing/development.md92> [running more than one instance](#how-do-i-run-more-than-one-instance) if you need that for agentic testing.CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/volume-migration/migrate.sh81# Check if docker is availableCOMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpkg/query-service/rules/base_rule.go457// TODO: implement caching for query parsing results to avoid re-parsing the query + cache invalidationCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWfrontend/.storybook/public/mockServiceWorker.js146async function handleRequest(event, requestId) {CODE